AI-Powered In-Store Customer Tracking with Computer Vision
In retail, you don't know how many shoppers passed by your promo stand. The camera at the entrance counts people but doesn't tell you what happens deep in the store. Anonymous tracking based on computer vision closes this blind spot. We have been implementing such systems for over 5 years and have completed projects for 15+ stores: without tracking, you lose up to 30% of potential sales. In one project, a client saved 1.2 million rubles annually by optimizing product placement. Comparison: ByteTrack achieves HOTA 63.1, which is 12% higher than DeepSORT's 55.2.
How Anonymous Tracking Works Without Identification
Tracking ≠ identity recognition—we track an anonymous 'person A' without linking to an individual. This is legally cleaner (GDPR, Federal Law 152) and technically simpler.
Stack: people detection (YOLOv8m) → multi-object tracking (ByteTrack or BoT-SORT) → track re-initialization when moving between camera zones (cross-camera re-identification by appearance without storing biometrics). ByteTrack is the current standard for high-density scenes (store during peak hours): it uses confidence-based association and doesn't lose tracks during brief occlusions. For retail, the most important metric is IDF1—ID persistence over time.
What Metrics Can You Obtain?
Coordinate Mapping: Pixels to Real-World Coordinates
The camera looks at an angle, perspectively distorting space. To build real-world trajectories, you need homography: a 3×3 matrix that projects pixel coordinates onto the floor plan.
Calibration: select 4+ reference points with known coordinates (tile corners, floor markers), compute the matrix via cv2.findHomography. After transformation, each track is described in real-world coordinates (meters from the entrance).
For overhead cameras, homography is simple (almost affine). For side cameras, perspective distortion is significant, requiring more careful calibration or fisheye undistortion.
Example calibration code
import cv2 import numpy as np # floor points (meters) and corresponding pixel coordinates pts_floor = np.array([[0,0],[2,0],[2,3],[0,3]], dtype=np.float32) pts_pixel = np.array([[150,200],[400,210],[380,450],[140,460]], dtype=np.float32) H, _ = cv2.findHomography(pts_pixel, pts_floor) # H is a 3x3 matrix for transformation Zone-Based Analytics
Zones are defined in an editor (polygons on the floor plan). The system calculates in real time:
- Dwell time per zone: average seconds a shopper spends near a shelf (e.g., milk)
- Zone conversion rate: percentage of shoppers who enter the zone and make a purchase there
- Traffic flow: heat maps and sankey diagrams of routes
- Bottlenecks: areas with slowed movement (checkout queue, narrow aisle)
| Metric | Description | Example |
|---|---|---|
| Dwell time | Average time in zone | 45 s at the coffee shelf |
| Conversion rate | Percentage of purchases from zone | 12% in the dairy section |
| Traffic flow | Heat map of routes | 68% never enter the right wing |
Case study: a chain of 12 grocery stores, each 300–500 m². After analyzing trajectories over 30 days, we found that 68% of shoppers never entered the right wing where the baby products section was located. The cause was a poor navigation sign at the entrance. After rearranging the signage, traffic to that section increased by 41%. The annual savings from the rearrangement amounted to 3.5 million rubles.
How Is the Infrastructure Set Up?
Two deployment options:
| Parameter | Edge-first | Cloud-hybrid |
|---|---|---|
| Hardware | NVIDIA Jetson AGX Orin (32 TOPS) | Local server + cloud |
| Internet dependency | None | Partial |
| Cloud traffic | Minimal | High (video) |
| Suitable for | Single stores | Chains with a unified dashboard |
Dashboard: Grafana or a custom React SPA with Leaflet for displaying the store floor plan with real-time heat maps. API for integration with the client's BI tools.
What's Included in the Deliverable
You receive a working tracking system with documentation on zone marking and camera calibration, access to the dashboard and API, staff training, 3 months of technical support, and a confidentiality guarantee (no biometric storage).
Implementation Process
- Store audit — zone marking, camera angle selection
- Equipment installation and calibration
- Tuning of YOLOv8 + ByteTrack models to the hall geometry
- Integration with the client's BI system
- Testing and staff training
Timeline: For a single store, 5–8 weeks; for a chain with centralized management, 3–5 months.
We have completed projects for 15+ stores, including chains with 12 locations. Our expertise is backed by NVIDIA certifications and over 5 years of practical experience. Contact us for a cost estimate and consultation. Order a pilot implementation at one store and get real numbers for your assortment. Learn how in-store customer tracking can increase your profits.







