São Paulo · public-source reference
Smart Sampa: two reports, explicit denominators
A comparison of the categories published by the City of São Paulo. Releases at the station rose from 82 to 129. The reported reasons need to be read without treating them as an independent test of the algorithm.
What is being compared
Report 1 covers 21 November 2024 to 21 May 2025. Report 2 covers 22 May to 22 November 2025. The figures below retain the city’s categories. They are reported administrative outcomes, not an independent audit of each approach.
Reported outcomes side by side
| Category | Report 1 | Report 2 |
|---|---|---|
| People approached after a match | 1,246 | 1,334 |
| Released at the scene | 11 | 7 |
| Taken to a police station | 1,235 | 1,327 |
| Formally arrested | 1,153 | 1,198 |
| Released after being taken to a station | 82 | 129 |
| — warrant not cleared from BNMP | 53 | 88 |
| — registration inconsistency | 6 | 5 |
| — facial-recognition inconsistency | 23 | 36 |
The totals reconcile: 1,246 = 11 + 1,235; 1,235 = 1,153 + 82; 82 = 53 + 6 + 23. In period 2: 1,334 = 7 + 1,327; 1,327 = 1,198 + 129; 129 = 88 + 5 + 36.
Which question does the rate answer?
The share released after being taken to a station uses those taken to a station as its base: 82/1,235 and 129/1,327. A share attributed to one release reason may instead use all releases as its base. Changing the denominator changes the question.
Combining uncleared BNMP warrants and registration inconsistencies gives 59 and 93 records. Dividing those by 23 and 36, the facial-recognition inconsistency category, gives 2.57 and 2.58. This is a ratio between release categories, not a system-wide error rate.
The facial-recognition inconsistency category rose from 23 to 36. The count alone does not establish whether algorithm accuracy improved or worsened; that comparison needs compatible exposure and evaluation criteria.
The limit of the race records
In Report 2, 592 of 1,198 arrest records have no race recorded. Of the 606 with a recorded category, 354 are preta or parda. That is 58.4% among completed records, not among everyone approached.
If none of the 592 missing records were preta or parda, the share of all arrest records would be 29.5%. If all were, it would be 79.0%. These are mathematical bounds, not estimates of where the true value lies. Complete recording would still not settle a bias assessment by itself: comparable exposure and group-specific outcomes are also needed.
Keep samples and periods separate
A study from another period or based on news reports can inform the debate, but should not be presented as a measurement of this dataset. Keep the sample and period attached to any percentage you cite.
Why this is not a city ranking
Plate reads, facial alerts, approaches and arrests describe different stages and counting units. This reference does not compare Smart Sampa’s accuracy with systems in other cities.
What a camera total cannot establish
A count of connected cameras does not by itself identify which cameras generated alerts or what those alerts led to. Connecting coverage, technology and outcomes needs compatible attribution in the published data.
How to cite and check the figures
Official documents supply the counts. The table arrangement, ratios and mathematical bounds are Vanguard Attaché’s calculations. The download links the reports and states the denominators. For critical context, also consult the transparency note by LAPIN and its partner organisations.
Common questions
Do releases prove mistaken identity?
The table records reasons published by the city. Its facial-recognition inconsistency category does not replace independent case review, and release is not synonymous with unlawful detention.
Is 2.58 an error rate?
No. It divides two groupings of release categories in Report 2: 93/36. It does not use all faces scanned or all alerts as its denominator.