Plain Reckoner
EN

Historical retail research · analyzed 24 October 2026

What retail invoices can—and cannot—tell you.

We analyzed 541,909 invoice lines from one UK retailer. This is historical evidence from 2010–2011. It is not today's consumer demand or a discount forecast.

Source and observation dates

Online Retail, UCI Machine Learning Repository, Daqing Chen (2015), DOI 10.24432/C5BW33. Licensed under CC BY 4.0. The source covers 1 December 2010 to 9 December 2011 and includes wholesale customers. Our aggregate tables are an adaptation, not a new UCI dataset.

Every source row reconciled

Step, in this orderInvoice lines
All source lines541,909
Cancelled invoice9,288
Other non-positive quantity1,336
Non-positive price1,181
Code outside the merchandise-shaped format4,321
Retained positive invoice lines525,783

Exclusions are mutually exclusive. We retain stock codes of five digits followed by up to two capital letters. This is an explicit code filter, not independent verification that every retained code is merchandise. Cancellations are excluded rather than matched against original invoices.

A few products account for much of the value

The retained lines contain 3,789 product codes. The top 379 codes by calculated gross invoice value account for about 61.30% of that value. This describes one historical sample. It does not show which products are slow-moving today.

Calculated positive invoice value is £10,240,335.01. That is quantity × positive unit price, not net sales, profit or cash received. Product prices are normalized to six GBP decimal places to remove spreadsheet serialization artifacts. Fractional-penny values remain possible. Aggregation uses exact decimal arithmetic.

Download and reproduce

The aggregate is not the full 541,909-row workbook. Reproduction script: scripts/measure-retail-concentration.py. Workbook SHA-256: 43465a06f2ccf7c8b5bd2892bc7defb52f97487934fe93b16ae4c3936424676d.

What is missing

There are no product costs, stock-on-hand counts, impressions, conversion rates or reliable promotion labels. We cannot infer profit, dead stock, sell-through or how a discount changes demand. Differences in unit prices can have many causes.

Test a promotion using your own recent sales, stock and costs →

Read the worked discount guide →