Serenata Europa
700,000 procurement notices a year. Nobody is reading them.
The EU publishes around 700,000 public procurement notices annually through TED, and since late 2024 they arrive in a machine-readable standard called eForms. Dashboards exist for analysts. A continuously running, open pipeline that turns those notices into flags an ordinary person can verify does not.
I'm building one.
- BT-701Notice identifier
- 4f1c9a2e-0000-4b7d-9e11-illustrative
- BT-05Notice dispatch date
- 2025-03-14
- BT-500Buyer
- Regional health authority (example)
- BT-262Main classification (CPV)
- 33600000 Pharmaceutical products
- BT-105Procedure type
- Open
- BT-759Received submissions
- 1Flagged
- BT-720Tender value
- EUR 2 480 000
- BT-500Winner
- Supplier AB (example)
Why this is flagged
Hypothesis: an open procedure that receives a single tender matches a documented single-bidding risk indicator. That is all a flag says. There may be an innocent explanation, such as a product only one company makes.
Check it yourself against the source notice on TED.
What happened in Brazil
In 2016, three of us built Operação Serenata de Amor. It was open source, crowdfunded by 1,296 people, and it read three million parliamentary expense claims looking for the ones that didn't add up. Volunteers checked what it found. That verification work led to 629 formal complaints against sitting congresspeople.
The project is now stewarded by Open Knowledge Brasil.
Serenata Europa is the same method pointed at new territory: a written, falsifiable hypothesis behind every classifier, human verification before anything is published, and every claim traceable back to the source record. It's an independent project, though — not run or endorsed by Open Knowledge Brasil, which carries no responsibility for anything published here.
- Claims read
- 3 million
- Backers
- 1,296
- Formal complaints
- 629
What a flag means
A flag is a statistical anomaly matched against a documented risk indicator. Nothing more than that. Most flags have innocent explanations.
Every flag links to the source notice so you can check it yourself. Every classifier's hypothesis and its measured error rates are published. Flags concern institutions and companies, never private individuals.
The code is AGPL-3.0. The original used MIT; this one uses AGPL so that hosted forks stay open, which matters for a project whose entire value is that you can check its work.
Where it is now
| Step | Milestone | Status |
|---|---|---|
| 1 | Ingestion and normalisationTED and eForms XML into a documented open dataset | In progress |
| 2 | ClassifiersOne written, falsifiable hypothesis per classifier, with measured error rates | In progress |
| 3 | Entity resolutionBuyers and suppliers matched against national company registers | Planned |
| 4 | Public APIVersioned bulk data | Planned |
| 5 | Verification interfaceEvery flag next to its hypothesis and its source notice | Planned |
| 6 | Documentation and onboardingArchitecture docs, contributor guide, packaging | In progress |
The ingestion pipeline runs against real TED notices, and a first classifier — flagging a lot that drew one bid in a market where single bids are rare — is built and measured. No flag has been published yet: verification, entity resolution, and a privacy review come before that. The code is public while it's being written.
Follow it
I'll write here as it gets built, including the parts that don't work. Leave your email and you'll hear when there's something running.
Notify meOpens an email to captain@wonderingsolutions.com.