platform/signal-layer
Most competitive data is wrong in ways that never look wrong.
It arrives on time, in the right shape, with plausible numbers. It was captured from one postcode, through a logged-in session, once a day, matched on title similarity — and every one of those is a distortion that does not announce itself.
An observation is only usable if the conditions under which it was taken are recorded with it
Across price, content, rank and offer set.
Median, shelf change to alert on price signals.
Personalised sessions measure the account, not the market.
Region, session class and time stored per reading.
Six ways competitive data lies quietly.
None of these produce an obviously broken number. That is exactly what makes them expensive — the data looks fine, so nobody checks it.
Personalisation
A logged-in session sees prices, badges, delivery promises and even a different featured offer than a clean one. Scraping from an account — anyone's account — measures that account, not the market.
Clean sessions · no cookie history · no account
Geography
Marketplaces vary offers, availability and shipping by postcode. A crawler sitting in one data centre reports one postcode's reality as though it were national.
Residential egress · sampled across regions
Sampling rate
A once-daily check cannot see a competitor who repriced at 23:47 and reverted at 07:02. The event is not merely missed — it is averaged into a number nobody can explain.
Continuous sampling · event-level capture
Bot treatment
Traffic identified as automated is frequently served cached, degraded or deliberately stale content. The data arrives cleanly and is quietly fictional.
Human-indistinguishable request profile
Identity resolution
The competing SKU is not the one with a similar title. Matching on text produces comparisons between a two-pack and a single unit, which is worse than no data.
GTIN and attribute-level matching
Survivorship
You cannot see the listings that were suppressed, delisted or never surfaced for a query. Only measuring what is visible systematically overstates everyone's performance.
Absence recorded as an observation
Survivorship. Every competitive dataset is assembled from listings that were visible, which means it silently excludes the suppressed, the delisted and the ones that simply never ranked for the query. Measure only what appeared and every brand in your category looks like it is performing better than it is — including yours, which is why the numbers feel reassuring.
Different signals move on different clocks.
Sampling everything continuously is wasteful; sampling everything daily is useless. Cadence is set per signal class, from how fast that signal actually changes.
continuous
~2.4M observations / day
Repricers move in minutes and revert before morning. Anything slower measures noise.
A competitor repriced at 23:47 and reverted at 07:02 · the daily reading saw neither state
A number you cannot defend is not evidence.
Detection is the easy half. Enforcement requires a package that survives being challenged months later.
Timestamped capture
Rendered page state at observation time, retained for the dispute window.
Seller identity
Storefront name, seller ID and jurisdiction where the marketplace exposes it.
Offer history
The full price and availability series for that seller on that SKU, not a single reading.
Observation context
Region, session class and sampling time, so the reading is reproducible.
MAP delta
Computed against your policy in force on the observation date, not today's policy.
Chain of custody
Append-only, so an enforcement package assembled today can be defended next year.
We are deliberate about the limit here, because it is where this category oversells. The platform detects and documents. It does not file your complaint, it does not represent you, and it will not tell you an unauthorised seller has been removed.
What it removes is the eight hours of screenshotting and spreadsheet-building that normally sits between noticing a violation and being able to act on it. The action stays yours.
Compare our capture against your current data.
Pick fifty SKUs you already track. We will observe the same set for two weeks and hand you both series side by side, with the conditions recorded for every reading. Where we disagree with your existing tool, you will be able to see which one was measuring the market and which was measuring a session.
50 SKUs · Two weeks · Public data only · Both series delivered raw