mama Get a free camera plan ☰
Checking a Video Analytics Vendor's \

Checking a Video Analytics Vendor's \"95% Accurate\" on Your Own Footage

By The Mama Editorial Team · Factory-floor cameras, India compliance & operations

"95% accurate" is not a measurement until you know what was counted. Ask for two numbers, precision (how many alerts were real) and recall (how many real events were caught), counted per event on your own cameras, split by day, night and dusty zones. Build a small ground-truth sample yourself and write the pass marks into the pilot contract before the pilot starts.

By the Mama Editorial Team. Mama scopes camera and floor-visibility projects for Indian factories. A buyer's guide for owners and plant heads with a vendor accuracy figure in hand and a pilot about to start: how to check it on your own floor in about two weeks, without a data scientist.

Key takeaways

What "95% accurate" can actually mean

A vendor's accuracy figure usually comes from one of four places, and each says something different:

  1. Object accuracy on a benchmark dataset. Says nothing about your 30-foot roof, sodium lamps or lint.
  2. Per-minute or per-hour classification. Each minute of each machine is labelled "running" or "stopped", and accuracy is the share of minutes labelled correctly. Because most minutes are running minutes, this number is high almost by default.
  3. Per-event detection on another customer's site. Closer, but someone else's angles and lighting.
  4. Per-event detection on your site. The only number that predicts what your supervisors will see.

In Introduction to Information Retrieval, Manning, Raghavan and Schütze explain that accuracy is a poor measure when data is skewed: in their case over 99.9% of documents are non-relevant, so a system can look strong by calling everything non-relevant while being useless. Google's machine-learning course agrees: on 99%-negative data, always predicting negative scores 99% accuracy despite being useless. On a shop floor, "stopped", "wrong-zone material" and "blocked aisle" are the rare class.

So ask: accurate at what, counted how, on whose footage?

Precision and recall, in shop-floor words

The definitions are short. From the scikit-learn documentation:

Here TP is a true positive (system flagged it, it happened), FP a false positive or false alarm (flagged, didn't happen) and FN a false negative or miss (happened, not flagged). scikit-learn also defines the F1 score as the harmonic mean of the two (in the example below, 75.6% precision and 85.0% recall give F1 = 80.0%). Don't accept it alone: it hides which way the system errs.

The two numbers pull against each other. Google's course notes that raising a detection threshold tends to cut false positives, and that precision and recall often move in opposite directions. A vendor can tune either up for a demo, so ask for both at one frozen setting.

What each failure costs you is different. A miss on a machine stoppage is an hour you never learn about. A false alarm costs a supervisor's walk and, repeated often, his trust in the system. Decide which hurts more for each use case before you set pass marks.

Per event or per minute: agree the unit first

Before any counting, write down three definitions with the vendor:

If the dashboard reports minutes, ask for an event export: start, end, camera, machine.

Build a ground-truth sample from your own cameras

Ground truth is a human-checked record of what really happened. You do not need to label everything; you need a fair sample.

Choose the cameras. Pick three to five cameras that represent your floor honestly: one clean, well-lit view, one at night under IR, and one hard case such as a grinding bay, a cotton-dust area or a camera with a column in the way. You pick, not the vendor.

Choose the time. Sample whole shifts, not highlight clips, and include at least two night shifts and one shift change. Pick the shifts by date in advance so nobody cherry-picks after seeing results.

Label blind. Two people, ideally a supervisor and a maintenance hand, watch the recorded footage at 2x–4x speed and log every event against your written definition, without seeing the system's output. Where they disagree, a third person decides.

Then compare. Line up the human log with the system's event export and mark each item TP, FP or FN. A spreadsheet is enough.

Mind the people in the frame. You are labelling machine states and zones, not individuals. Keep the review footage inside the plant, restrict who watches it, and make sure your worker CCTV notice covers analytics testing (template here).

A worked ground-truth example (assumptions, not results)

Every figure below is an assumption chosen to illustrate the method. None is a measurement of any vendor or of Mama.

Assume a machining shop tests machine-stoppage detection on 48 machine-shifts (six machines, eight shifts, 8 hours each = 384 machine-hours, or 23,040 machine-minutes). The labellers find 80 true stoppages of 5 minutes or more, totalling 2,400 stopped minutes. The system flags 90 stoppages.

Condition (assumed) True stoppages System flags TP FP (false alarms) FN (misses) Precision Recall
Day, clear view 48 52 44 8 4 84.6% 91.7%
Night, IR 22 26 16 10 6 61.5% 72.7%
Dusty / partly blocked 10 12 8 4 2 66.7% 80.0%
All 80 90 68 22 12 75.6% 85.0%

Now look at how the same system could be described:

What it means in rupees (assumptions). Assume each missed stoppage averages 25 minutes and the machine-hour rate is ₹900 (use your own costed rate). The 12 misses hide 300 minutes, or ₹4,500 of machine time, in just 48 machine-shifts. Assume each false alarm takes a supervisor 5 minutes to check: 22 false alarms cost 110 minutes of supervision.

How big a sample is big enough

Percentages on small counts swing a lot. The NIST/SEMATECH e-Handbook of Statistical Methods recommends the Wilson score interval for a proportion, noting that it suits virtually all combinations of sample size and proportion and that its lower limit cannot be negative, unlike the simple normal-approximation formula. Applying it at 95% confidence to the assumed numbers above:

The practical lessons:

Night, dust, glare and other Indian conditions to test on purpose

The blended number looked fine; the night row is where month three disappoints. Sample these deliberately:

What to write into the pilot contract

Turn all of the above into a short acceptance schedule. Paste-ready wording to adapt with your lawyer:

  1. Definitions. "Event", "match window", exclusions and the unit of scoring (per event) as agreed above.
  2. Metrics. "Precision = TP/(TP+FP); recall = TP/(TP+FN), as defined in standard references, computed per event."
  3. Pass marks per condition, for example: day precision ≥ 80% and recall ≥ 85%; night precision ≥ 65% and recall ≥ 75%. These are illustrative; set your own from what a miss and a false alarm cost you.
  4. Sample plan. Cameras and shift dates chosen by the factory before the pilot; a minimum number of true events per scored condition (we suggest 50 as a rule of thumb) where they occur.
  5. Frozen settings. No threshold or model changes during the scoring window; tuning happens before it, and is logged.
  6. Ground truth by the factory. The factory's labels decide; the vendor may review disagreements, not overrule them.
  7. Uptime reported separately. Camera, network and NVR availability as its own number, so outages are neither hidden nor double-counted.
  8. Exit. If pass marks are not met, the factory may end the pilot at no further charge.

These clauses slot into the 30-day pilot plan and the video analytics RFP template.

What this method cannot tell you

Where Mama fits

Mama reads a factory's existing cameras, or cameras added where coverage is thin, and sends the owner a short morning note on where machine hours and money leaked the day before. It works on machines, flows and aggregate counts, not named individuals. Detection quality depends on your cameras and conditions, so the method above is the right way to judge any system, Mama included. Mama can draw a camera plan for the machines and events you intend to score, so the ground-truth sample has the views it needs. Leave an email or phone in the form below.

FAQ

Is 95% accuracy good for factory video analytics? It depends entirely on what was counted. Per-minute accuracy on mostly-running machines can be over 90% for a system that catches nothing. Ask for per-event precision and recall on your own footage.

Which matters more, precision or recall? For costly, rare events (a stopped bottleneck machine, a blocked exit) recall usually matters more, because a miss is invisible. For frequent, low-value events, precision matters more, because false alarms train people to ignore the system.

How many hours of footage do I need to label? As a rule of thumb (not a standard), enough to contain roughly 50 true events per condition you score. For common events like machine stoppages, a few shifts per camera can be enough; for rare events, weeks.

Can the vendor build the ground truth for us? They can help set it up, but your own people should label blind and settle disagreements, or the vendor grades its own homework.

Should we accept F1 score as the single pass mark? Use it to compare vendors, but write separate pass marks for precision and recall in the contract, so a system that is weak on one cannot hide behind the other.

Read next
Free · no obligation

Get a camera plan for your floor

Tell Mama about your plant and Mama will come back with how many cameras you need, where they go, and the retention your state expects — sized to your floor, in ₹. Built for Indian factories.

  • How many cameras & exact placement
  • Compliance-ready (BIS/STQC, women's night shift)
  • Honest ₹ estimate — guard vs camera-AI

Mama replies by email or phone — whichever you left. No spam, no obligation.