Send us the source
Brief 01 What was hard 02 How it works 03 Numbers 04 Outcome 05 All cases → Send us the source

Atoms / Data extraction / Cases / Target

Retail — running since 2024

Target — promotions, captured the day they turn.

Promotional effectiveness is measured against what actually ran, in which stores, on which days. A feed that reads promotions three days late does not measure effectiveness — it measures something adjacent to it, with an error nobody can quantify.

The source is named because it is public; the client is not. Every figure on this page is a measured production number the client agreed to publish. Have a source of your own? Send it over, whatever its size — you get an answer within 24 hours.

Case filetargetIn production
SourceTarget, full estate
ClientConsumer-goods manufacturer
Running since2024
DeliverySnowflake, daily
Estate1 950 stores
Basket14 000 SKUs
Reach → Read → Reconcile → DeliverRecounted daily
9.9B

SKU-store rows a year

27M

rows a day, every store

98.9%

measured coverage

1 950

stores covered

SourceTarget
VerticalRetail
Running since2024 — without a rebuild
The brief01 / 05

What the client actually needed.

Not more rows. Every one of these projects started with somebody who already had data and could not use it for the decision in front of them.

The problem

Where it started

The client runs national promotions through a retailer and had no independent way to verify what ran where. Compliance reporting came from the retailer, arrived weeks later and was aggregated, so a promotion that failed to appear in four hundred stores looked, in the report, like a promotion that had underperformed.

Fixed on day one

What we committed to

Every store in the estate, every day1 950 stores
Promotional state read on the day it changesDaily
Shelf availability distinguished from delisting and read failureEvery record
Whole estate delivered before the client's morning reportingOvernight

Every one of these is measured continuously and reported on the same dashboard the client watches. A commitment nobody measures is a sentence in a proposal.

What was hard02 / 05

Four things that beat the previous attempt.

None of these is solved by better headers or a bigger proxy pool. Each needs a different piece of engineering, and working out which one you are actually facing is most of the job.

01 — VerificationVerification

Compliance you cannot check

Promotion execution reported by the party executing it is not verification, and the aggregation hides the failures inside the average.

What we doIndependent per-store observation of the promotional state, delivered daily, so execution can be measured store by store rather than accepted in aggregate.

02 — TimingTiming

A calendar that turns overnight

Promotions start and end on their own schedule, and a read one day late misattributes the effect to the wrong price.

What we doThe promotional surface is swept ahead of the main refresh so the file reflects what is live that morning, and start and end are recorded as dated events.

03 — AbsenceAbsence

Three kinds of missing

Out of stock, not ranged in this store, and read failure are entirely different facts, and collapsing them into a null makes promotional lift impossible to compute correctly.

What we doEach is classified explicitly with the evidence retained, and the classification is audited weekly against manual checks in a sample of stores.

04 — ScaleScale

Two thousand stores, every day

The estate multiplied by the tracked assortment is a large matrix to sweep inside an overnight window without exceeding the load the source should carry.

What we doPer-store assortment models keep the sweep to what is actually ranged, and scheduling puts the slow tail first so the window is met.

How it works03 / 05

Five decisions the pipeline is built on.

The architecture is not interesting; every extraction system has a queue, a fetcher and a parser. These are the decisions that made this one work where the last one did not.

01

Verify independently

The whole point is that the observation does not come from the party being measured. Everything else in this pipeline is in service of that.

02

Sweep promotions first

The promotional surface is read ahead of the main refresh, and start and end dates are recorded as events, so lift is computed against the price that was actually live.

03

Classify absence

Out of stock, not ranged and read failure are three fields. Weekly manual audits in a sample of stores keep the classification honest.

04

Model each store's range

Sweeping the full assortment against every store is the naive plan. Learned per-store ranges are what make an overnight national sweep possible.

05

Meet the reporting window

Scheduling is driven by the client's morning run, with the slowest stores started first rather than left until the end.

The numbers04 / 05

What it does on an ordinary day.

Production figures, not a benchmark run. Coverage is recounted daily against an independent sample of the live source rather than asserted, which is why the numbers are not round.

Daily profile

Where the volume goes

SKU-store rows a day27M
Requests a day1.8M
Stores swept a day1 950
Promotional changes captured a day130k
Reads discarded as unattributable0.3%

Twenty-seven million rows a day is 810 million a month, 9.9 billion a year and 20 billion since 2024, from 1.8 million requests at 21 a second. Inside that, 130 000 promotional changes a day — 47 million a year — is the layer the client had never seen: six hundred and forty execution failures a week, none of them visible in the aggregated compliance report they had been accepting.

Headline

The four that are contractual

Rows a year
9.9B
Stores
1 950
Promotion latency
Same day
Audit cadence
Weekly

These four sit in the support agreement. When one of them drifts outside its band, we are alerted within fifteen minutes and fixing it is routine work under the monthly arrangement, not a change request.

What changed05 / 05

Before, and after.

The columns are the client's own numbers from before the rebuild and the measured ones from production today. The left column is the part most vendors would rather not put on a page.

MetricBeforeToday

Promotion verification

Retailer's own report, aggregated

Independent, per store, daily

Timing

Up to a week late

Same day

Availability signal

Absent

Three states, audited weekly

Lift calculation

Against assumed prices

Against observed live prices

The first quarter's data changed how the client negotiated their next trade agreement. That is a commercial outcome, and it came from an availability field.

Start here

Have a source of your own? Two lines are enough.

Send the source, the fields you need and roughly how often. You get a straight answer within 24 hours: whether it can be done, what makes it hard, what coverage is achievable and roughly what it costs to build and to run. Whatever the size.

Direct

NDA before technical detail, as always. If it isn't our kind of work, we say so in the first reply.