How the numbers are made
Source and cadence
One feed: vendor list prices published on Cellbase (cellbase.com). Recorded once daily at 06:00 UTC by an automated job. Research records are pulled daily at 07:00 UTC from Cellag (cellag.bio), published-status records only.
What a series is
One product variant from one feed. Pack sizes are separate series; change is measured only within a variant's own history. A price series begins on the first clean observation of that variant.
What counts as an observation
The list price as published, in the vendor's currency, captured verbatim. A price of zero is a listing state, not an observation, and is not recorded. Missing days remain missing — the archive is never back-filled.
Currency
Prices are stored in the currency observed (GBP). Every observation carries a currency basis; a run that cannot verify its currency writes nothing. Dollar figures are display conversions at the ECB reference rate (via Frankfurter) on the date shown, and are never stored. Prices shown in USD at the ECB reference rate of the date shown; the archive records the vendor's currency.
Normalisation (method v1)
Per-litre, per-mg and per-day figures are computed at display time from the observed price and the pack quantity. Cell lines, scaffolds and equipment are not normalised. The method version will change only by notice on this page.
Scope
Growth media, cell lines, reagents, scaffolds and reactor time form the index. Equipment and uncategorised listings are recorded but excluded from index counts and the terminal; they remain browsable in the catalogue.
Immutability
The archive is append-only, enforced at the database level. Observations are never edited or deleted. Data found to be unreliable is quarantined — excluded from every published view and disclosed below — not removed.
Attributes
Alongside prices, the vendor's own published product and variant attributes are recorded daily at 06:30 UTC from the Cellbase catalogue (contract attr-v1). Only an allow-listed set of fields is stored: 239 product-level and 38 variant-level keys. Anything outside that list is dropped, counted in the run record, and its value is never stored.
Attributes are stored verbatim as versioned documents. A new version is written only when the values change; an item that disappears from the feed is marked removed and its prior versions are retained. Nothing is normalised, converted or inferred, and attributes never alter a recorded price.
Attributes may also propose a category from the vendor's own fields. Keyword rules remain the classification in force; disagreements are written to a review list and applied only after review.
Revisions and notices
- 28 Aug 2026 — Archive start. Two earlier snapshot runs (25 and 27 Aug 2026) were found to contain geo-converted presentment prices recorded under an assumed currency; both runs are quarantined and excluded. Currency verification was added to every run from 28 Aug.
- 2 Sep 2026 — Method v1 normalisation published.
- 3 Sep 2026 — Research records feed moved to contract v2, carrying public-tier fields only. A one-off full re-sync was run and prior record versions were purged; the current version of each record is retained.
- 3 Sep 2026 — Vendor attribute feed added (contract attr-v1), recorded daily at 06:30 UTC from the Cellbase catalogue under an allow-list. Price observations, the price feed and its schedule are unchanged.
Citation
"Assay Markets, [input name], observed [date], assaymarkets.com/series/[id]." Third parties citing the data should include the observation date.
