The datasets, and why most projects share one.

BPI Challenge 2019 purchase-to-pay event log carries 1 of the 8 projects — every transaction a UK online gift retailer booked between December 2009 and December 2011, published under CC BY 4.0.

Concentrating 1 projects on one file is deliberate. It means they can be compared directly, and it means the awkward parts of the data get confronted 1 times instead of sidestepped once. The remaining 7 run on 11 further public datasets — bike hire, bank marketing, household power and wholesale customers — and one of them profiles all 12 through a single code path, which is the only honest way to show the method travels.

Predictive Forecasting

18.6%

of invoice payment dates hit exactly, at best

The payment date is not predictable — and the payer's calendar beats the model

How precisely the date an invoice will be paid can actually be predicted, on a real purchase-to-pay ledger.

Pricing & Revenue Optimisation

67.3%

gross margin a markdown needs to pay for itself

Half of store-days carry a discount — and almost none of them should

Discount elasticity on 4.5 million store-days, and the profit arithmetic that follows from it.

Decision Intelligence

0.63%

proven distance from the best plan possible

A charger siting plan, and a proof that almost nothing beats it

A charger siting plan for two countries, with a proof of how close to optimal it is.

Decision Intelligence

-0.0136

AUC between a model and the radiologist it copied

An accuracy figure is a statement about a cohort, not about a model

What a published diagnostic accuracy figure is silently conditional on, measured rather than argued.

Machine Learning & AI

25

of your own labels beat 5,574 borrowed ones

A borrowed spam filter fails here — and the obvious way to measure that is wrong

What a borrowed labelled corpus is actually worth, and why the obvious way to measure that is wrong.

Data Strategy & Governance

0.285

PR-AUC once the planted columns go, against a 0.247 base rate

The insurance fraud dataset everyone uses is partly a census file

The standard public fraud dataset, audited — and where its signal actually comes from.

Decision Intelligence

0

of 70 news-timing rules beat buying and holding

Seventy ways to trade the news — and what the best of seventy is worth

Seventy pre-declared trading rules on a news index, tested against doing nothing.

Data Strategy & Governance

48.6%

of encounters sit exactly at the claim form's nine-slot ceiling

The number of diagnoses is a field on a billing form, not a fact about a patient

A prediction target that looks clinical and is a field on a billing form.

How the honesty is enforced

A portfolio has every incentive to flatter itself. Three things push back.

Results are generated, never typed

One module is the only path from a computed value to a published file, and it refuses to write a result with no findings or no limitations. A figure that was not computed cannot reach the site.

Every project is re-run and diffed

A verification script deletes each result file, re-executes the analysis and compares the headline numbers and chart series against what was published. Drift fails the check. Anything non-deterministic is treated as a defect.

Null results are published

The forecasting model barely beats a moving average. The exception rule loses to a naive one. The repricing range spans zero. All three are on these pages as findings, because a portfolio that only contains wins is not evidence of anything.

The data

Every number on these pages comes from a file you can download.

The datasets are public, named on every project page and linked to their source under a stated licence. The method that turns each one into a published figure is documented stage by stage, including what went wrong at each.

The method transfers. The result will not.

Every number here belongs to one UK retailer between 2009 and 2011. What carries over is the approach — and the discipline of publishing what did not work.