The sample
Up to 50 records from each dataset’s live release, drawn at random with a published seed (this run: 2026-11:dam-levels), so anyone can draw the same records again. It runs every month.
Measured accuracy·Unmapped Dataworks
On 12 November 2026 a script drew a random sample of records from every live dataset and checked each figure against the page of the document it came from. 350 of 350 sampled records could be checked that way; 1,980 figures were checked and none was wrong; 9 scanned figures still await a second check. Every failure is listed below.
| Dataset | Records checked | Figures checked | Errors | Page a page off | Scanned pages |
|---|---|---|---|---|---|
| Dam levels with full history Release 2026-11-09.2 | 50 of 50 | 199 | 0 | 0 | Text pages only |
| Municipal electricity tariffs Release 2026-11-12.2 | 50 of 50 | 315 | 0 | 0 | 70 figures came from 5 scanned pages. Two programs read each one; they agreed on 68. The other 2 were checked by eye against the page. |
| Rand exchange rates Release 2026-11-11 | 50 of 50 | 84 | 0 | 0 | Text pages only |
| Fuel prices by zone and grade Release 2026-11-04 | 50 of 50 | 99 | 0 | 0 | Text pages only |
| Toll plazas and tariffs Release 2026-11-09.2 | 50 of 50 | 360 | 0 | 0 | 2,092 figures came from 28 scanned pages. Two programs read each one; they agreed on 2,088. 0 of the other 4 were checked by eye against the page. 4 still await a second check. |
| Bargaining-council minimum wages Release 2026-11-10 | 50 of 50 | 50 | 0 | 0 | 937 figures came from 83 scanned pages. Two programs read each one; they agreed on 918. 14 of the other 19 were checked by eye against the page. 5 still await a second check. |
| Water quality by treatment works Release 2026-11-12 | 50 of 50 | 873 | 0 | 0 | 23 figures came from 1 scanned pages. Two programs read each one; they agreed on 19. The other 4 were checked by eye against the page. |
Not checkable against a printed page
| Dataset | Sampled | Why | |||
|---|---|---|---|---|---|
| Dams from space Release 2026-11-10.3 | 50 sampled | · | · | · | its figures are measured from satellite pictures, not printed on a page |
| Drought monitor by ward and municipality Release 2026-11-12 | 50 sampled | · | · | · | its records cite no page-level facts |
| Town to fuel-pricing zone lookup Release 2026-10-07 | 50 sampled | · | · | · | its town list has no page-level facts recorded yet, so it is not checked this way yet |
| Greenness by ward Release 2026-11-12 | 50 sampled | · | · | · | its figures are worked out from satellite greenness grids, not printed on a page |
| Land cover, built-up area and population by ward Release 2026-11-12 | 50 sampled | · | · | · | its figures are worked out from satellite and population grids, not printed on a page |
| Reference interest rates and legal limits Release 2026-11-09.3 | 50 sampled | · | · | · | none of its sampled figures has a stored page to compare with |
| Ward and municipal boundaries with history Release 2026-11-07 | 50 sampled | · | · | · | it holds the Municipal Demarcation Board's shapes and codes, not figures printed on a page |
| Rainfall and temperature by ward Release 2026-11-05 | 50 sampled | · | · | · | its figures are worked out from the ERA5-Land grid, not printed on a page |
Errors first, then figures that are right but printed a page away from the page we point to (a table that runs onto the next page).
No figure in this run’s sample failed its check.
A failure is checked by a person and, where the record is wrong, corrected in a new release and listed on Corrections. Where the source itself misprints, the record keeps the printed figure and says so.
Some documents are pictures of pages, read by text recognition. Our rule: a figure from a scanned page is released only when two independent readings agree, or when the page image has been checked where they differ and the check logged. The first reading is Apple’s text recognition at three sizes (one method); the second is Tesseract, a different recogniser, on its own preparation of the page. Every figure the live records cite on a scanned page is compared, figure by figure, and a release that breaks the rule is refused.
| Dataset | Figures on scanned pages | Both readings agree | Differ, page image checked | Not resolved |
|---|---|---|---|---|
| Municipal electricity tariffs | 70 on 5 pages | 68 (97.1%) | 2 | 0 |
| Toll plazas and tariffs | 2,092 on 28 pages | 2,088 (99.8%) | 0 | 4 |
| Bargaining-council minimum wages | 937 on 83 pages | 918 (98.0%) | 14 | 5 |
| Water quality by treatment works | 23 on 1 pages | 19 (82.6%) | 4 | 0 |
Where each dataset stands
Those datasets’ open figures are being checked; until then this page lists them as a gap, and no new release of them can be cut.
Where the readings differ, the page image is checked by eye and each check is logged, with what the page shows and when (the review log beside each dataset’s build).
The sample
Up to 50 records from each dataset’s live release, drawn at random with a published seed (this run: 2026-11:dam-levels), so anyone can draw the same records again. It runs every month.
The check
Each figure in a record is a fact with its document and page. The script reads the text of our stored copy of that document, page by page (the file’s SHA-256 is checked first), and looks for the figure on its page, in any of the ways a document prints a number (spaces or commas between thousands, a decimal comma, cents for rands). It also checks the record says the same as the fact.
What it does not prove
That a figure is on its page does not prove it sits in the right row. A person checks every failure, and the page number beside each figure on the site lets you check any one yourself.
The dataThis run as JSON, with every sampled recordHow the record is keptCorrections
Unmapped Dataworks