# The Road May Be Complete. The Record Is Not.

Malawi's public data marks six kilometres of the M12 to Ludzi road complete, at 1.3 billion kwacha, and the evidence that would let you check that claim is missing.

By Michael Cengkuru · 25 June 2026 · Interactive version: https://cengkuru.com/essays/the-scanner-under-the-portal/

## The story

Malawi's infrastructure portal holds a record for the Upgrading of M12 to Ludzi Road (project id oc4ids-iuq5r5_13). The record is confident. It states a scope: six kilometres, upgraded to bituminous standard. It states a price: 1.3 billion kwacha. It states a status: complete. On those three lines, the system is fluent.

Now try to check it. Ask for the completion certificate. Ask for the contract. Ask for a single photograph of the finished surface. Ask who signed it off, and on what date. The record has none of these. Documents attached: none. Completion certificate: none. Photo of the road: none. The record can tell you the road was finished and what it cost. It cannot show you the road, or the proof that anyone confirmed it. A final value is a claim. A document is how the public checks it.

One thin record could be a clerical accident, not a pattern. So I queried the whole window: every infrastructure project in Malawi's portal for 2021 and 2022. The endpoint answered with 162 of them, each a real entry, not a sample. Then I asked all 162 the same questions I asked the first road. The questions start easy and get harder, the way verifying a road does.

Can we see the budget? All 162 can answer, 100 percent. Does it say what stage it is at? Again all 162, 100 percent. Do we know what kind of project it is? 136 of 162, or 84 percent; twenty-six projects carry no sector, the first small gap. Can we see who is involved? 116 of 162, or 71.6 percent. After this, the light starts to fail. Can we see the contract? Only 51 of 162, or 31.5 percent, carry a contracting record; the procurement trail thins sharply after award. Can we see any document at all? 46 of 162, or 28.4 percent. That is the Ludzi road gap, at scale. Does the record state a final value and scope? 75 of 162, or 46.3 percent. And the last question: does the record carry a measured progress metric, a structured measurement of physical progress? Zero of 162. Not most of them missing. Every one.

There is an honest narrowing to make here. It would be easy, and wrong, to say the data goes dark after award. Some of those 162 projects are still under construction. For them, a missing completion record is correct, not a failure. You cannot file proof of a finished road that is not finished. So the fair test is the seventy projects the record itself calls complete, where the proof should already exist. There, the final value is almost always present: 98.6 percent. A document of any kind: 34.3 percent, and a tender notice counts as a document, so even that overstates the real evidence. A contracting record: 37.1 percent. A measured record of physical progress: never, 0 percent.

The same 162 projects, read in the portal's own red-flag language, show where a monitor would look first: 116 projects with no document of any kind attached, 100 contracted projects with no contracting process recorded, 73 still in implementation though the recorded end date has passed, 72 in implementation but not updated in more than eighteen months, and 49 where a supplier is recorded but one or no distinct tenderers appear. These are warning signs for investigation, not findings of wrongdoing.

The portal tells you the road was finished. It rarely lets you check. This is not a verdict on the Ludzi road. It may be finished, six clean kilometres of bitumen. It is a verdict on the record: from what is published, no one outside the project can confirm it. The honest end of this story is not an accusation. It is an open request, addressed to whoever holds the certificate. Without the receipt, "complete" is a claim the public cannot check. You have been handed this record. Would you sign it off?

## The data

Field completeness across all 162 projects in Malawi's IPPI, window 2021-01-01 to 2022-12-31, pulled 2026-06-25.

| Question | OC4IDS field | Can answer | Share |
| --- | --- | --- | --- |
| Can we see the budget? | budget | 162 of 162 | 100% |
| Does it say what stage it is at? | status | 162 of 162 | 100% |
| Do we know what kind of project? | sector | 136 of 162 | 84% |
| Can we see who is involved? | parties | 116 of 162 | 71.6% |
| Can we see the contract? | contracting processes | 51 of 162 | 31.5% |
| Can we see any document? | documents | 46 of 162 | 28.4% |
| Does it record a final value and scope? | completion | 75 of 162 | 46.3% |
| Does it carry a measured progress metric? | metrics | 0 of 162 | 0% |

Among the 70 projects marked complete, where the proof should already exist:

| Field | Share of the 70 completed |
| --- | --- |
| Completion record (final value and scope) | 98.6% |
| Documents | 34.3% |
| Contracting record | 37.1% |
| Measured progress metrics | 0% |

Red flags counted from the same 162 projects, in IPPI's own catalogue language:

| Red flag | Projects |
| --- | --- |
| No documents attached | 116 |
| Missing contracting record | 100 |
| Overdue delivery | 73 |
| Stale implementation record | 72 |
| Limited competition | 49 |

## Use the data

The derived data behind every figure on this page is published alongside the essay:

- [scanner_data.json](data/scanner_data.json): field completeness, the among-completed figures, status distribution, party counts, budgets by currency, sector summary, and red-flag counts.
- [projects_index.csv](data/projects_index.csv): all 162 projects, one row each.

The source is the Malawi Infrastructure Projects Portal (IPPI), run by the Construction Industry Regulatory Authority (CIRA). The extract came from a single POST to console.ippi.mw/api/projects/query for the window 2021-01-01 to 2022-12-31. You can re-run the eight questions yourself: pull the same window, count each field as present only when it is non-empty, and compare your counts to the tables above.

## Sources

- Malawi Infrastructure Projects Portal (IPPI), Construction Industry Regulatory Authority (CIRA). Data licensed CC BY 4.0: https://creativecommons.org/licenses/by/4.0/
- Query: a single POST to console.ippi.mw/api/projects/query on 2026-06-25. Project window: 2021-01-01 to 2022-12-31. The Ludzi record was last updated November 2021; "queried" describes when the data was retrieved, not how current each project is. The endpoint returned 162 projects in OC4IDS structure, and every figure on this page is computed directly from that response.
- Standard: OC4IDS (Open Contracting for Infrastructure Data Standard).
- Method: field completeness counts a field as present only when it is non-empty. Headline-vs-proof figures (final value 98.6%, documents 34.3%, contracting 37.1%, metrics 0%) are measured among the 70 projects with status completion, so that work still in progress is not counted as a gap. Party counts are unique organisations, deduplicated by name; role-mention totals are higher. The budget total excludes one sentinel placeholder value (999,999,999,999.99 MWK). No currency conversion is asserted; figures are reported per currency.
- Tile placement disclosure (interactive version): the lit and dark counts on every question come from the dataset exactly, but which specific tile lights is illustrative rather than a per-project lookup, with one exception. The gold-outlined tile marks the real Ludzi road record (oc4ids-iuq5r5_13, a completed project) at a fixed position in the completed band.
- Red flags follow IPPI's published catalogue (limited competition, missing documents, missing contracting record, overdue delivery, stale implementation record). They are warning signs for investigation, not findings of wrongdoing.
- Hero photo (interactive version): illustrative, not the M12 to Ludzi road. M1 in Rumphi District, Malawi, by Michaelphoya, Wikimedia Commons, CC BY-SA 4.0: https://commons.wikimedia.org/wiki/File:M1_in_Rumphi_District.jpg
