Reading the data
The totals this site will not calculate
Currencies, units, price levels and review sources are kept apart here. The reasoning, and two places that rule had quietly slipped.
- Published
- Figures measured
- Read
- 3 min
- By
- Novus Stream Solutions
Most of the engineering in a costing tool goes into producing numbers. A surprising amount of the trustworthy part goes into declining to.
A single headline figure is easy to build and easy to read, and that is exactly what makes it dangerous when the things underneath it are not the same kind of thing. Adding two currencies produces a number with no unit. Averaging a wholesale price against a retail one produces a price nobody pays. Both look completely ordinary on a dashboard.
What is kept apart, and by what
| Kept apart | Enforced by | What a single total would have meant |
|---|---|---|
| Currencies | Spend totals grouped by currency before summing | A figure in no currency at all |
| Units and pack sizes | Comparisons keyed on the unit as well as the item | A price for a quantity nobody ordered |
| Price levels | The level recorded per provider in the registry | A blend of what a farm receives and what a shelf charges |
| Review sources | Ratings grouped by source before averaging | A five-point scale averaged against a different five-point scale |
| Missing inputs | An empty cell rather than a substituted zero | An absence of evidence shown as a measurement of nothing |
Measured Sep 12, 2026 from the queries and helpers named in each row, read in this repository. This data is re-ingested daily, so treat these as a snapshot rather than a live count.
Two places the rule had slipped
Writing this up meant checking each rule against the code rather than against the intention, and two had come apart from it.
The reviews screen states that ratings stay separate by source even when every source uses a five-point scale, and the helper behind that screen honours it. The management reports screen, built later, averaged every rating it could find into one figure. One page asserted the rule and another printed the number that broke it.
The second was smaller and the same shape: a menu screen described itself as the comparison boundary for competitor pricing, while nothing anywhere joined a restaurant's own menu to a competitor's. Both have been corrected, and both now have a test that fails if the claim and the code part company again.
What this means when you read a figure here
- Several totals where you expected one usually means your data spans several currencies, and combining them is a decision for you rather than for the software.
- A short comparison list is the normal result. Strict matching discards more pairs than loose matching, and the pairs it keeps are the ones worth arguing from.
- An empty cell means the evidence for that figure does not exist yet, not that the value is zero.
- Any number that matters should name its own inputs. If it cannot, treat it as a claim rather than a measurement.
Reproducing these figures
Every number above was read on September 12, 2026. Re-running these gives a different result on a later day, which is the point: the figures are dated so they can be checked rather than trusted.
- Currency separation: every spend total on the reports and suppliers screens is grouped by currency code before it is summed, so a mixed-currency organization sees several totals rather than one.
- Level separation: the provider registry records a level for each source, and the methodology page sets out which comparisons that permits.
- Review separation: summarizeReviewsBySource in src/lib/reviews/analytics.ts groups by the source name before averaging.
- Blank means unknown: the price change surface leaves a cell empty when its input is missing rather than printing a zero, which the docs page for that surface describes field by field.
Sources
Read next
Working with sources
The invoice lines an importer quietly drops
A comma in a price is the most expensive punctuation in a supplier export. Why the rows it dropped were never a random sample of your invoice.
- Published
- Figures measured
- Read
- 3 min
Working with sources
One item, many pack sizes
On 2026-09-07 Canada's wholesale feed listed tomatoes under 29 pack descriptions. Why the site keeps every one apart, and how to pick the series you buy.
- Published
- Figures measured
- Read
- 4 min