Modeled on published data · Not a client · Not a result

A real store's orders, read by our engine.

A real online retailer published every order it took from December 2009 to December 2011, for anyone to study: about £9.8M a year, 5,852 customers, 4,902 products. We gave the orders to our engine, unmodified, and asked it to call what came next using only what came before. Then we opened what happened.

Repeat orders from its customers, the next 26 weeks

Called
7,671
Happened
7,865

2.5% more than called. The engine chose its own cut-off, by a rule written before this study.

Regular customers it named as slipping away

Named
498
Never came back
274

They had spent £318,525 the year before. Of the regulars it didn't name, 80% came back.

Peak-season units of its 200 best sellers, called a month ahead

Called
542,981
Sold
538,415

September to November. 0.8% apart over the quarter; a single month missed by up to 13.9%.

FilmThe store study, told as a film in the founder's voice, will play here.

  1. 01The store
  2. 02The engine's own cut-off
  3. 03The customers slipping away
  4. 04The peak
  5. 05Where it missed
Call 1 · Repeat customers

It called the next 26 weeks of repeat orders. They came in 2.5% more than called.

Fig. 1 · Repeat orders after the cut-off, called and countedModeled on published data
Repeat orders after the cut-off: the engine's call against what happenedThe engine fitted the store's customers on every order up to its cut-off and called 7,671 repeat orders for the next 26.4 weeks. 7,865 happened. The dashed line is the call, the solid line what happened, week by week.02,0004,0006,0008,000The cut-offWeek 8Week 16Week 24Repeat orders since the cut-off- - called 7,671— happened 7,865
Repeat orders after the cut-off: the engine's call against what happenedThe engine fitted the store's customers on every order up to its cut-off and called 7,671 repeat orders for the next 26.4 weeks. 7,865 happened. The dashed line is the call, the solid line what happened, week by week.02,0004,0006,0008,000The cut-offWeek 8Week 16Week 24Repeat orders since the cut-off- - called 7,671— happened 7,865
Dashed: the call, made on June 7, 2011 from 4,935 customers' orders up to that day. Solid: what they ordered, week by week, to December 9, 2011. Hover or touch the chart to read any week.

Who chose the date. The engine fits its repeat-purchase model on the first three quarters of a store's calendar and calls the last quarter, a rule written into it before this study. Here that put the cut-off at June 7, 2011. We did not move it.

What it is used for. On a client, this call sets what a new customer is worth, and so how much an advertisement can afford to win one. Its best tenth of customers, ranked at the cut-off, placed 43% of the repeat orders that followed.

Call 2 · Customers slipping away

It named 498 regulars as slipping. 274 never ordered again.

Fig. 2 · Regular customers at the cut-off: named, and notModeled on published data
Regular customers the engine named as slipping away, against the rest: who never came backOf 2,444 regular customers at the cut-off, the engine named 498 as unlikely to order again; 274 of them never did. Of the 1,946 it did not name, 386 never did.Named at the cut-off (498)55% never came backNot named (1,946)20% never came back
Regular customers the engine named as slipping away, against the rest: who never came backOf 2,444 regular customers at the cut-off, the engine named 498 as unlikely to order again; 274 of them never did. Of the 1,946 it did not name, 386 never did.Named at the cut-off (498)55% never came backNot named (1,946)20% never came back
A regular is a customer with three or more orders before the cut-off: 2,444 of them. Named: those the engine expected to order less than once more before the data ends.

Named in June. Of the 498 it named, 274 (55%) never came back. Of the 1,946 it did not name, 386 (20%) never did.

What they were worth. The 498 had spent £494,622 in the year before the cut-off; the 274 who were lost, £318,525. Named months ahead, that is the money a store can still act on.

Call 3 · Peak-season demand

It called the peak a month at a time. Over the quarter, 0.8% apart.

Fig. 3 · The 200 best sellers, month by month, and three months called aheadModeled on published data
Monthly units of the store's 200 best sellers, and the three months the engine called aheadUnits a month for the store's 200 best sellers from Dec 2009. For Sep 2011, Oct 2011, Nov 2011, the engine called each month at the end of the one before: Sep 2011 called 144,190, sold 161,804; Oct 2011 called 184,451, sold 158,807; Nov 2011 called 214,340, sold 217,804. Over the three months it called 542,981 and 538,415 sold.0100k200k300kJan 2010Jul 2010Jan 2011Jul 2011Units a month, its 200 best sellers○ called a month ahead · ● what sold
Monthly units of the store's 200 best sellers, and the three months the engine called aheadUnits a month for the store's 200 best sellers from Dec 2009. For Sep 2011, Oct 2011, Nov 2011, the engine called each month at the end of the one before: Sep 2011 called 144,190, sold 161,804; Oct 2011 called 184,451, sold 158,807; Nov 2011 called 214,340, sold 217,804. Over the three months it called 542,981 and 538,415 sold.0100k200k300kJan 2010Jan 2011Units a month, its 200 best sellers○ called · ● sold
At the end of August, September and October 2011, the engine called the next month's units for the best sellers to date, from the orders before it and nothing after. Hover or touch the chart to read any month.
MonthCalled onCalledSoldSold against calledProducts inside their 80% range
September 2011August 31, 2011144,190161,804+12.2%130 of 200
October 2011September 30, 2011184,451158,807−13.9%132 of 200
November 2011October 31, 2011214,340217,804+1.6%113 of 200
The quarter542,981538,415−0.8%

Where it was right. The quarter's total, 542,981 units called against 538,415 sold. Product by product, it beat "the same month last year" in 3 of 3 months.

Where it missed. A single month was off by up to 13.9%. Against "the same as last month" it was closer in only 1 of 3 months. And each product's 80% range held the real number for 56% to 66% of products, not 80%: the ranges were too narrow, and we say so.

We did not publish a price finding. This store sells wholesale as well as retail, so its price per unit falls as an order grows; an elasticity read from its average prices would measure that discount, not demand.

The data, the method, and what this study cannot show
  • The data: "Online Retail II", every order line a UK online retailer took from December 2009 to December 2011, 1,037,081 lines in 39,516 orders, published by the UCI Machine Learning Repository under CC BY 4.0 (Chen, D., 2012, doi:10.24432/C5CG6D). The store is not named in it and is not a client.
  • Cleaning: cancelled orders, zero-priced lines and lines that are not products (postage, fees, adjustments) are left out. Customers are the ones the data numbers, 87% of sales; 86% of sales went to the UK.
  • Call 1 and Call 2: the engine's repeat-purchase model (models/clv.py, BG/NBD), unmodified, one order a customer a day.
  • Call 3: the engine's demand forecast (models/forecast.py, with its seasonality), unmodified; each month's call used the 200 best sellers by sales to date.
  • The script: engine/scripts/store_case_study.py writes data/store-study.json; the page prints nothing it does not compute.
  • What this cannot show: profit. The data has no costs, no advertising and no stock levels, so every call here is about customers and units, never about margin, and none of it is a result for anyone.
Book your call We run the same engine on your own reports, on the call.

Your mental model is linear. Your costs are a staircase.

A P&L is an average. It tells you what fulfilment cost across everything you shipped. It cannot tell you that one SKU sits an ounce past an edge, because the cheaper version of it never shipped.

A cliff only shows up as a counterfactual: what the same unit would cost an ounce lighter, or a cent cheaper. No report anyone sells contains one, so your tools, your agency and your bookkeeper all miss the same leak at once.

On Amazon, the steps are imposed on you. The fee card moves at every weight band, every price band and every size tier, and a unit one ounce past an edge pays the whole step.

On Shopify, you built them. The parcel you pack meets the carrier's pound line, the compare-at you set is a discount on every order, and the free-shipping line is a step you drew yourself.

Your agency is paid on spend.

Your software is paid to report.

We're paid on proof.

Amazon's fee card · the carrier's rate card

Less than an ounce past the edge. Paid on every unit.

Fig. 1 · The fee staircase, one real listingModeled from public data
Amazon's fee staircase, with one listing just past an edgeAmazon's fulfilment fee climbs in steps as shipping weight crosses each band edge. This listing ships at 8.8 ounces, just past the 8-ounce edge, so every unit pays $0.26 more than it would one step down.$4.00$4.50$5.00$5.50048121620 ozJan 15 – Oct 14Oct 15 – Jan 14+$0.26 a unit8.8 oz · this listing8.0 oz · one step down
Amazon's fee staircase, with one listing just past an edgeAmazon's fulfilment fee climbs in steps as shipping weight crosses each band edge. This listing ships at 8.8 ounces, just past the 8-ounce edge, so every unit pays $0.26 more than it would one step down.$4.00$4.50$5.000481216 ozJan 15 – Oct 14Oct 15 – Jan 14+$0.26 a unit8.8 oz · this listing8.0 oz · one step down
Large standard size, priced $10 to $50, with Amazon's 3.5% fuel and logistics surcharge. Solid: Jan 15 to Oct 14, 2026. Dashed: the holiday card, Oct 15 to Jan 14. The solid dot is the listing; the hollow one is the same listing one step down.
Fig. 1b · The same step on Shopify: the parcel staircaseUSPS's published rates · An invented parcel
The parcel staircase: USPS Ground Advantage by weightUSPS Ground Advantage's 2026 commercial rates climb a step at every pound, because anything over a pound bills at the next whole pound. A parcel at 16.4 ounces pays the 2 lb rate: $0.96 to $4.47 more a parcel than one under a pound, depending on the zone.$7.50$10.00$12.50$15.000163248 ozThe farthest zone (8)The nearest zone (1)+$0.96 to $4.47a parcel, by zone16.4 oz · an invented parcel
The parcel staircase: USPS Ground Advantage by weightUSPS Ground Advantage's 2026 commercial rates climb a step at every pound, because anything over a pound bills at the next whole pound. A parcel at 16.4 ounces pays the 2 lb rate: $0.96 to $4.47 more a parcel than one under a pound, depending on the zone.$7.50$10.00$12.50$15.000163248 ozThe farthest zone (8)The nearest zone (1)+$0.96 to $4.47a parcel, by zone16.4 oz · an invented parcel
USPS Ground Advantage commercial rates, effective July 12, 2026. Anything over a pound bills at the next whole pound, so a parcel at 16.4 ounces pays the 2 lb rate: $0.96 to $4.47 more a parcel than one under a pound, by zone. On the call we open your own Products export and find the parcels that sit just past a line.
Modeled from public data · Not a client · Not a result The second study · one real Amazon listing, from its public page

A car-care brand · one listing · Automotive

$6,400 to $19,200 a year, paid on one step of Amazon's fee staircase.estimate

Its best-selling paint scratch remover lists an item weight of 8.8 ounces. Above 8, every unit pays $0.26 more to fulfil, $0.28 from October 15, on an estimated 3,500 units a month.

FilmThe case study, told as a film in five beats, will play here.

  1. 01The staircase
  2. 02Where this listing sits
  3. 03The counterfactual
  4. 04Ten thousand months
  5. 05The cliff
Fig. 2 · Ten thousand years of this one listingEstimate

Each faint line is one simulated year of profit. The band holds eight years in ten, the bad end included.

Ten thousand simulated years of one listing's profitEach faint line is one simulated year of one listing's cumulative profit, starting today. After 12 months, one year in ten ends below $230,000, the median year at $402,000, and one in ten above $687,000. Share of simulated months at a loss: 0.0%.$0$250k$500k$750k$1MToday6 months12 monthsP90$687,000Median$402,000P10$230,000
Ten thousand simulated years of one listing's profitEach faint line is one simulated year of one listing's cumulative profit, starting today. After 12 months, one year in ten ends below $230,000, the median year at $402,000, and one in ten above $687,000. Share of simulated months at a loss: 0.0%.$0$250k$500k$750k$1MToday6 months12 monthsP90$687kMedian$402kP10$230k
Cumulative profit from today, before advertising, storage and returns. Months at a loss: 0 of 120,000. Those three costs are where months turn negative, and no public page shows them.
Fig. 3 · One unit's clock toward the cliffAmazon's schedule

At day 271, Amazon's aged-inventory surcharge goes from $1.50 to $5.45 a cubic foot. Each band shows what 1,000 of these units cost to store a month at that age.

One unit's clock toward the 271-day cliffA unit that reaches Amazon today is in the cheapest storage band until day 181, steps up each month after, and at day 271 goes from $73 to $199 a month for every 1,000 units.$25$41$57$73$199$207$213$245Today$73 → $199 a monthDay 0Day 181Day 271Day 366
One unit's clock toward the 271-day cliffA unit that reaches Amazon today is in the cheapest storage band until day 181, steps up each month after, and at day 271 goes from $73 to $199 a month for every 1,000 units.$25$245Today$73 → $199 a monthDay 0Day 271
A unit that reaches Amazon today, at January-to-September storage rates. How close your own stock already sits is in your inventory-age report. That's what the call is for.

We picked this listing because it had a finding. Of 1,856 Amazon brands we've modeled from public pages, 1,473 showed nothing worth fixing. We say so.

Method, assumptions, and what public data can't see
  • Read from the listing's public page on September 3, 2026: price band, item weight, dimensions (large standard size) and sales rank (top 100 in Automotive). Priced on September 30, 2026.
  • Fees: Amazon's published 2026 US fulfilment schedules, January 15 to October 14 and October 15 to January 14, plus the 3.5% fuel and logistics surcharge; a 12% referral fee.
  • The item weight is a floor. Amazon bills the packed weight, so the unit sits at least this far past the edge.
  • Volume: about 3,500 units a month from the public sales rank, a curve that can be wrong by half or double; simulated that wide. This one listing: an estimated $0.5M to $1.6M a year in sales.
  • Landed cost: assumed at 25% of price, drifting 10% either way each month. No public page shows it.
  • Simulation: 10,000 years of twelve months from October 2026, each month on the card in force. Year-end profit: P10 $230,000, median $402,000, P90 $687,000.
  • Storage and aged-inventory rates: Amazon's schedule effective January 15, 2026.
  • What public data can't see: advertising, returns, the real landed cost, the packed weight, and how long each unit has sat.
Book your call We open your own reports and price what public pages can't show.

Rather run it yourself first? Every step of this case study is taught free: The Fee Staircase course →

Selling on Shopify? This listing is an Amazon one, because Amazon's pages are public. Your store's steps are in your own exports, and two free courses run on them today: The Price Curve and Capital & Cash.