Clean market signals for your pricing engine.
Automated pricing needs inputs it can trust without a human checking each run. We deliver competitor prices, availability and demand proxies as a stable, versioned feed built for repricing engines and pricing models.
Four steps from sources to signal.
Define the feed contract
We agree a fixed schema with your pricing or data science team: fields, types, keys, null handling and freshness targets. Changes are versioned and announced in advance, so your engine does not receive unexpected columns.
Collect signals at engine cadence
Collectors run on the schedule your repricer needs, typically every 15–60 minutes for priority SKUs and less often for the long tail.
Apply eligibility rules
Each offer is tagged for condition, bundle status, seller type and stock, so your rules can filter to comparable offers without extra logic.
Stream with freshness monitoring
Data is pushed by API, webhook or warehouse sync with a capture timestamp and a freshness flag. Missed runs raise an alert on our side before your engine notices.
What we capture.
Every field is validated, normalised and documented in a data dictionary you can share with your analysts.
Lowest comparable offer
The cheapest new, in-stock, non-bundled offer per SKU and market.
Offer count
The number of active competing offers, as a proxy for price pressure.
Competitor stock flag
Available, low stock or unavailable, per competitor and SKU.
Condition and bundle tags
New, refurbished or used, and whether the listing is a bundle.
Rank or position signal
Search or category rank where available, as a demand proxy.
Freshness indicator
Minutes since capture, so stale inputs can be down-weighted.
What you receive.
- Versioned JSON or Parquet feed matching your engine's schema
- Webhook push when a priority competitor changes price
- Freshness and completeness report per run
- Eligibility-tagged offer table for rule-based repricing
- Historical feed archive for model training and back-testing
An illustrative extract.
| SKU | Market | Lowest comparable | Currency | Offers | Competitor stock | Age (min) |
|---|---|---|---|---|---|---|
| HB-2201 Hair dryer 2200W | UAE | 199.00 | AED | 7 | In stock | 12 |
| HB-2201 Hair dryer 2200W | Kuwait | 16.500 | KWD | 3 | Low stock | 18 |
| KT-900 Stand mixer 5L | Australia | 329.00 | AUD | 5 | In stock | 25 |
| KT-900 Stand mixer 5L | Canada | 279.99 | CAD | 4 | Unavailable | 31 |
| VC-45 Cordless vacuum | Mexico | 5,499.00 | MXN | 9 | In stock | 9 |
Illustrative rows. Sources, markets and fields are agreed with you during scoping.
More in pricing and promotions
Relevant industries
Underlying services
Can the feed match our repricer's input format?
Yes. We build to your schema rather than asking you to adapt. Field names, types and file layout are agreed up front and versioned, and we give notice before any change.
What happens if a source fails during a run?
Each record carries a capture time and freshness flag, so your engine can ignore stale values. We monitor every run and alert on missed or partial collections, usually before the gap affects your prices.
Do you provide pricing recommendations?
No. We supply the market inputs; your engine or team applies the pricing logic. This keeps commercial decisions with you and lets us focus on data quality and reliability.
