3 February 2026
The sample cannot support the grain
Twenty years of prescription records across 400-odd stores is a lot of data until you cut it by postcode and week. Then it is a thin sample with a seasonal shape and a privacy constraint. The useful signal in pharmacy data lives exactly where the sample gets small.
I built hyperlocal outbreak models from that stack at Wellness Forever. They were good enough to change how stores were stocked and where new ones opened — 75% accuracy on the outbreak call, and a 3–4% revenue effect once merchandising actually used it. The miss that taught me something was not the accuracy number. It was the voice.
What I got wrong
The model sounded sure at a grain the sample could not support. A postcode forecast with a wide interval still looks like a number on a slide. I let it look like a number. The first miss was not a model failure. It was a presentation failure that operations treated as a fact.
Prescription data is noisy, seasonal and privacy-sensitive. If you do not put the interval on the same line as the forecast, someone will buy stock as if you had measured it.
What I would do on Monday
Publish the uncertainty with the forecast from week one. A store manager can use a range. They cannot use a precise number that was never precise. If the sample cannot support the grain, say so in the same sentence, or do not ship that grain.
The award that year was for the platform. The lesson I kept was smaller: confidence is a product decision, not a model property.