Changelog · DOC-0008
What each version of the formula changed
Scores are comparable only within one rules version — the dataset says so and every scored snapshot carries its version. That instruction is only usable if the version means something, so here is what each one changed and the days it was in effect. Dates and coverage below are read from the snapshots themselves.
rules v0.10in effect
2026-09-14 → 2026-09-15 · 3,083 storesOnly products the feed still returns count
- →The formula did not change; what it counts did. We keep up to 250 products from each crawl of a store's feed, and a product that fell out of that window used to stay in the table with its old price and stock. For large catalogs those rows outnumbered the ones we had actually seen: fashionnova had 9,176 stored against 250 in its last crawl, and they counted towards image, description and price coverage and towards the average price.
- →A row the feed has not returned for 14 days is now dropped. Stores whose stale rows pulled their coverage down will move, and that move is ours, not theirs — which is why this is a new version, and why score history, catalog trends and price trends restart from it.
rules v0.9
2026-09-10 → 2026-09-13 · 3,087 storesA policy page has to have a policy on it
- →The eight points for a published refund and shipping policy were awarded on page length: 300 visible characters on a /policies/ URL counted as published. A store's own menu and footer clear 300 characters by themselves, so a page with nothing written on it collected the points — blackstarboots.com's refund page was 489 characters, two words of which were not navigation.
- →Presence is now decided by subtracting the store's own homepage vocabulary from the policy page. What remains is what the page says that the rest of the site does not; below 25 such words there is no policy on it. The measurement calibrates itself per store, so a 5,000-character footer and a 400-character one are judged the same way.
- →Measured on the sample that prompted the change: pages with no policy leave 1–3 words of their own, pages with one leave 100–333. Stores whose pages were empty lose the eight points; nothing else in the formula moved.
- →«No page at all» and «page published but empty» are now recorded separately, because they are different facts about a store. /research/policies counts both.
rules v0.8
2026-07-27 → 2026-09-09 · 2,967 storesThe verified tier sits on top of finished basics
- →Collected external facts — policies, a sampled review rating, server speed — stop being worth points until images, descriptions and pricing clear 90% of their combined maximum. The facts are still collected and still shown; they just no longer offset an unfinished catalog.
- →The gate excludes catalog depth on purpose. Gating on the whole feed tier would have stripped the verified tier from 491 of the 1,059 stores that had one, punishing small brands for being small; the quality gate touches 156.
- →Every unclaimed profile now states its ceiling and the reason for it.
rules v0.7
2026-07-25 → 2026-07-27 · 1,065 storesRecalibrated so the top of the scale is earned
- →What every real brand does by default was made cheap and what has to be earned made expensive: on-record fell from 20 points to 5, claiming rose from 5 to 15, and the verified tier from 5 to 20.
- →Full catalog-depth credit now needs 300 effective products rather than 100, counted as distinct titles scaled by the real catalog size.
- →The artificial 95 cap was removed: the component maxima sum to exactly 100, so the published receipt adds up to the headline.
rules v0.6
2026-07-21 → 2026-07-24 · 737 storesCollected facts entered the score
- →A verified tier was added: points for a published refund and shipping policy, a sampled product rated 4.3+ across 50 or more reviews, and a sub-400 ms server response — awarded only when the fact was actually collected.
- →Snapshots began carrying the rules version, so a change in the formula could never again read as movement by a store.
rules v0.5
2026-07-18 → 2026-07-20 · 736 storesOne formula, and honest catalog depth
- →The scoring formula became a single source of truth shared by the scorer, the API, the profile and the smoke gate, so the receipt shown to a reader is the arithmetic that produced the number.
- →Catalog depth started counting the store's real catalog size instead of the 100-product sample we happened to store.
unversioned
2026-07-19 → 2026-07-19 · 125 stores125 snapshots, none of them with a trust score. A snapshot carries a rules version only when it carries a score: these record a store’s catalog on a day it was on record but not yet scored, so there was no formula to name. The version column arrived on 21 July with v0.6; scored snapshots written before it were labelled v0.5 in a one-time backfill. Unversioned rows are left out of the snapshot count on the dataset page.
Reading history correctly
The history[] array on every store returns rules_version with each row for exactly this reason. Filter on it before plotting. A profile’s own trend chart does the same and simply disappears for a few days after a version change rather than drawing a step that no store took.