Know every cup served: edge AI on a coffee outlet's existing CCTV
A coffee outlet in India trades about twenty hours a day. Its only record of a sale was the till. Cups handed over without a bill left no trace, and empty glasses on the counters were noticed late.
A cup that went out unbilled showed up nowhere
Each cup is a small sale made in seconds by a team that both prepares and serves. Once made, a cup costs almost nothing more, so every unbilled cup is revenue lost at close to full margin. And customers judge hygiene by what is on the counter in front of them.
Nobody can watch a counter for twenty hours.
- Use the cameras already on the wall. No new hardware at the counter, no change to how staff work.
- Process video at the outlet. Only counts and reconciliation figures are stored centrally.
- Count the serve, not the cup. The owner's question was where cups leave without a bill, so the system counts handovers and compares them with the till.
- Train on the outlet's own footage, so the models learn its cups, glasses, light and angles.
Eight requirements, all in service
| Requirement | What was delivered |
|---|---|
| Count cups served | Cup transfer counting on the serving-counter camera |
| Count only real serves | A cup counts only when it crosses from the staff side to the customer side |
| Spot empty glasses | Detection across five counter cameras, every few seconds |
| Tell someone | One email if a glass sits uncleared for 5 minutes |
| Staff versus customers | People counted inside and outside the service area |
| Compare with the till | POS figures sampled every 5 minutes, side by side with the AI count |
| Daily report | On screen, exportable to PDF and Excel |
| Run unattended | Starts by itself and restarts any camera or process that fails |
What runs at the outlet
| Item | Specification |
|---|---|
| Computer | Desktop, Windows 11 Pro, 32 GB memory |
| Graphics card | NVIDIA RTX 3050, 6 GB |
| Cameras | Seven existing CCTV cameras: five counters, one serving point, one service area |
| Network | Cameras on their own connection, separate from the internet line |
| Database | Hosted PostgreSQL for counts, POS samples and reports |
Direction decides what counts
An invisible boundary separates the staff side from the customer side. A cup handed across it counts once. A cup moving back is not counted, and one that lingers on the line is counted once. The running total survives a power cut and resets at the start of each trading day.
The first method counted almost double
It counted what it saw in a zone, not what was handed over. We replaced it with tracking: each cup is followed and counted once, on direction. Smaller fixes followed the same habit: find the cause on the outlet's footage, fix it, check again.
| Found at the outlet | What we did |
|---|---|
| Cups missed behind a hand | Tracking retuned to follow a cup through brief blockages |
| Glasses took up to a minute to show | Detection cycle cut to a few seconds |
| Service boundary did not match the counter | Redrawn on the live camera view |
| Two machines writing counts | Only one copy can now run per machine |
Questions the owner can now answer
- Cups served per hour and per day, independent of the till
- The gap between cups served and cups billed, for any period
- Empty-glass incidents per counter, with time and photo
- How long an uncleared glass sat before someone attended to it
- Counter staffing through the day
None of these were available before installation. Timestamped counts and photos also replace recollection when something has to be discussed with staff.
Mostly from cups that now get billed
Unbilled cups multiplied by the selling price, over the trading year. Smaller returns come from labour no longer spent watching, glasses cleared sooner, and evidence in place of opinion. The one-off cost is the computer and the installation.
Your gap, your price
| Step | Where the figure comes from |
|---|---|
| Cups served per day | The system's own daily count |
| Cups billed per day | POS dine-in total for the same day |
| Unbilled cups per day | The difference between the two |
| Revenue recovered per year | Unbilled cups x price x trading days |
The chart is arithmetic, not this outlet's result. A chain in the Gulf would use its own POS and camera makes; the approach stays the same.
Questions we are asked
Did the outlet need new cameras?
No. The system reads the seven CCTV cameras that were already installed: five on the counters, one on the serving point and one on the service area.
Does video leave the outlet?
No. The three detection models run on one computer in the shop. Only counts and reconciliation figures are stored centrally.
How is a serve counted?
Each cup is tracked and counted once, only when it crosses an invisible line from the staff side to the customer side of the counter.
How is the return calculated?
Cups served minus cups billed gives the unbilled cups per day. Multiply by the selling price and the number of trading days.
Have a problem you want measured?
Tell us what you want to count, check or protect. An engineer will reply, not a sales script.