Unmapped Dataworks

Measured accuracy·Unmapped Dataworks

How often we read a figure wrong

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.

01

The latest run, dataset by dataset

DatasetRecords checkedFigures checkedErrorsPage a page offScanned pages
Dam levels with full history
Release 2026-11-09.2
50 of 5019900Text pages only
Municipal electricity tariffs
Release 2026-11-12.2
50 of 503150070 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 508400Text pages only
Fuel prices by zone and grade
Release 2026-11-04
50 of 509900Text pages only
Toll plazas and tariffs
Release 2026-11-09.2
50 of 50360002,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 505000937 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 508730023 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

DatasetSampledWhy
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
02

Every failure in the sample

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.

03

Scanned pages are read twice

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.

DatasetFigures on scanned pagesBoth readings agreeDiffer, page image checkedNot resolved
Municipal electricity tariffs70 on 5 pages68 (97.1%)20
Toll plazas and tariffs2,092 on 28 pages2,088 (99.8%)04
Bargaining-council minimum wages937 on 83 pages918 (98.0%)145
Water quality by treatment works23 on 1 pages19 (82.6%)40

Where each dataset stands

  • Municipal electricity tariffs: 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.Meets it
  • Toll plazas and tariffs: 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.A gap
  • Bargaining-council minimum wages: 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.A gap
  • Water quality by treatment works: 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.Meets it

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).

04

How the check works

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