Same $79 earbuds. One cohort averages $74.06, the other $93.47. The synthetic engine under audit never saw race or income.
We built it as a stand-in that maximizes revenue across 10,000 synthetic shoppers, with the leakage planted so we could test whether an audit catches it. It prices on ZIP income, device tier and session behaviour.
The high-income-ZIP, new-device cohort (2,880 decisions) averaged $74.06; the majority-minority-ZIP, old-device cohort (3,037 decisions) averaged $93.47, 26.2% apart on matched demand signals.
"We removed race and income from the model" is every pricing team's defence. ZIP predicts income, income predicts price sensitivity, an old Android predicts less comparison shopping. None of those is race. All of them move with it.
Equity, the audit layer we built on top, replays the engine's own 10,000 decisions and scores the outcome against the EEOC four-fifths rule in plain code: on that synthetic population, 36% of the protected cohort got a favorable price tier versus 83% of the advantaged cohort, 0.43 against the 0.80 threshold. A fail, and no language model gets a vote on it.
If you run dynamic pricing, pull one SKU and split last month's prices by ZIP income and device tier. That split is the easy half (the harder leak hides in pairs of clean inputs). Tell us the number. The synthetic engine we built to leak landed at 26.2%; we want to know where real engines land.
#DynamicPricing #AlgorithmicFairness #AIGovernance #PricingCompliance
Published on Facebook · September 13, 2026
On social media
See this post on its original platform
In our archive