Case #3 · Robodebt Cost of Failure: 453,000 People, One Frozen Definition
The algorithm confirmed what the agency needed to be true. AU$565 million in debts simply were never owed.
Between 2015 and 2019, the Australian government ran an automated debt recovery scheme against its own welfare recipients.
Officially it was called the Online Compliance Intervention.
Everyone else called it Robodebt.
By the time it stopped, the scheme had issued debt notices to 453,000 people, many of them wrong, some to people who owed nothing at all. It took a Federal Court ruling and a Royal Commission to establish what should have been obvious from the design stage: the mechanism generating these debts was never lawful.
What Actually Happened
The scheme’s logic wasn’t complicated.
Take a welfare recipient’s annual income, as reported to the Australian Tax Office. Divide it evenly across the fortnights of the year. Compare that averaged fortnightly figure to what they’d actually declared to Centrelink at the time.
If the numbers didn’t match, raise a debt.
Real income doesn’t arrive in even fortnightly slices. People start jobs partway through a year. They lose them. Hours change. Casual and seasonal work is lumpy by nature.
Averaging a whole year’s earnings smoothly across every fortnight wasn’t a simplification of how income worked, it was a different, incompatible definition of “income” to the one the welfare system itself was built on.
Nobody senior in the chain appeared to test whether that gap mattered. The scheme also reversed the normal onus of proof: rather than the agency establishing a debt was owed, recipients were required to disprove it, often years after the fact, frequently without the payslips or records to do so.
Every individual step was defensible on its own terms. Automating a manual compliance process. Using data the agency already legally held. Moving faster than a caseworker could.
None of it required anyone to act in bad faith.
It only required the people upstream of the design to keep trusting that someone else had already checked the underlying assumption held.