Data Freshness SLAs for Price Intelligence Products
Scrapeless Agent Browser captures rendered offer states, and Scrapeless Residential Proxies support location-targeted collection for market-specific price intelligence.
TL;DR
- Freshness starts when a valid offer was observed. A new file delivery does not refresh an old price.
- The denominator is the expected offer inventory. Count missing and never-observed keys when assessing coverage.
- Different decisions can have different age limits. Define separate cohorts for promotion-sensitive offers and slower catalog segments.
- Stale data needs an explicit consumer policy. Show its age in analysis and exclude it from actions that require a current observation.
A Freshness Contract at a Glance
Data freshness SLAs for price intelligence state how much of an expected offer set must have a valid observation within a defined age window. Define what counts as an observation, what offer keys are expected and when coverage is measured. Publish the age threshold with an objective for each cohort. Attach an explicit consequence where the agreement calls for one. Internal operating targets can stay separate from customer-facing commitments.
A scheduler can run on time while the product violates its freshness objective. Imagine a job that starts every hour, downloads a file and sends a success metric. The file might contain only a subset of the store's offers or omit a region after a market selector changes. The completion metric belongs in operations monitoring. The freshness metric needs the latest validated observation for each expected key.
Start with a key that identifies the retailer, market, variant, and seller where relevant. If a pricing decision depends on shipping context or a membership restriction, include that dimension in the eligibility policy. A recently observed nonmember offer cannot refresh a member-only comparison. Define expected keys from a catalog snapshot with effective dates so a change in the target list is visible to reviewers.
Stage 1. Record the Clocks
Price intelligence needs an observation time, an ingestion time, and the time at which a consumer evaluates freshness. The observation time is when the collector confirmed the relevant state. The ingestion time indicates when the validated result entered your system. The evaluation time is the dashboard read, scheduled scorecard check or automation decision. Store the times with an unambiguous offset or UTC using RFC 3339 timestamp syntax.
A source may expose a price modification time. Preserve it if the source defines it, and give it a separate field. An offer observed at noon could have been unchanged for days and still be current for your decision. Conversely, a warehouse timestamp can advance when the same captured record is copied to another table. Neither value should silently replace the observation clock.
A cached response needs a defined policy. HTTP caching semantics describe freshness and validation for HTTP representations. Your business SLA covers the age of evidence about the offer. Store available response context when it helps interpret a capture and check whether the source data reflects the required variant and region. Validate the actual state before assigning the observation time.
Stage 2. Set Objectives by Decision and Cohort
A useful age limit reflects how quickly a downstream decision loses value. A promotion desk may care about selected offers during a short sale window. A category team reviewing long-tail assortment weekly can use a different limit. Separate markets with different store hours or access conditions. The service-level objective design framework offers a way to define what counts as a good event and set a target share.
For an illustrative calculation, assume a cohort contains 200 expected offer keys and a two-hour maximum age. At a scheduled check, 188 keys have a recent valid observation, six have older values, four are unresolved and two have never been seen. Coverage is 94 percent. If the agreed target is 95 percent at that check, the cohort misses it. Removing missing keys would hide precisely the coverage problem the contract aims to detect.
| Indicator | Calculation | How to use it |
|---|---|---|
| Fresh coverage | Current validated keys divided by expected keys | Score the consumer-facing objective |
| Age distribution | Age of latest accepted observation per observed key | Diagnose aging before a broad breach |
| Ingestion lag | Ingestion time minus capture time | Separate queue delay from collection delay |
| Attempt outcome | Observed counts by accepted, blocked, invalid and other outcomes | Explain which collection stage needs attention |
Stage 3. Capture Market and Variant State Consistently
An observation should refresh a key only when it confirms the correct offer. Use Scrapeless Agent Browser for flows where prices settle after client-side rendering or a variant selection. The Agent Browser solution is relevant when a workload needs interactive navigation and a meaningful completion condition. With Residential Proxies, route eligible collection jobs through the intended location, then confirm the site applied the expected market. Record a redirect or currency mismatch explicitly.
Build budgets for the entire path. Allow time for queueing, navigation, extraction, validation and delivery. A schedule interval equal to the maximum observation age leaves no margin for the work itself. Fit capacity to the cohorts and agreed source limits. Compare browser and proxy usage with Scrapeless pricing after measuring the workload by capture type and market. Geography, page size and interaction all change resource use.
A browser timeout or denied page should create an outcome event without advancing the key's observation clock. Record whether the job was never scheduled, failed to reach the storefront, rendered a different market or reached the expected page but lacked enough evidence. Different causes can produce the same stale state in a dashboard. Linking those causes to an offer key makes the alert actionable.
Stage 4. Handle Breaches in the Consumer
The price intelligence product should expose freshness at the point of use. A dashboard can display the last observed amount with its capture time and a stale status. An automated rule can omit stale competitors from its input, halt when coverage falls below its decision threshold or use a separate approved source. Document which behavior applies to each workflow so an incident does not force an on-the-spot business choice.
Keep the last good observation available to investigate history. When a stale price is restored, publish the new accepted event and preserve the period during which the key was stale. Measure the duration of the breach in addition to the number of affected keys. A short interruption across many items and a prolonged gap for one high-impact item can require different operational responses.
A clean incident timeline includes the last accepted observation, first missed check, time the cause became visible and the next accepted observation. Join those timestamps with adapter and scheduler changes. Use the proxy solution for price monitoring to design location-specific cohorts and the competitive pricing collection pipeline to fit validation into the broader path from capture to pricing. Send alerts to the owner of the failing stage.
Keep the Denominator Reproducible
Store the catalog cohort used in each measurement. Newly onboarded items, retired listings and source agreements can alter what the system is expected to observe. Define a policy for launch grace windows and retirements before measuring results. A product removed from scope should have a reason and an effective time. Keep that information with the scorecard so operations can recompute a report after the catalog changes.
Put the Clock Next to the Price
Start with one important pricing decision and define the maximum acceptable age, coverage denominator and stale-data behavior together. Instrument every stage so a missing observation can be explained by its key and source. The team can then use the same measurement to staff collection, manage customer expectations and decide whether an offer belongs in automated pricing.
Ready to Measure Freshness Across Your Storefronts?
Measure how long it takes to turn a regional storefront capture into an accepted offer.
Sign up today and get $5 in free credit — no credit card required.
Claim Your $5 Credit →FAQ
Is data freshness the same as crawl frequency?
Crawl frequency describes scheduled or attempted checks. Freshness measures the time since the latest valid observation and can deteriorate when scheduled jobs fail to deliver usable data.
Does an unchanged price reset its age?
A new valid observation refreshes the age even if the amount stayed the same. Importing the earlier record again keeps its original observation time.
How should out-of-stock offers count toward freshness?
Count a confirmed out-of-stock observation if availability is in scope and the contract accepts it without a price. Keep it in a stock cohort if the pricing SLA requires a live purchasable offer.
Do regional collectors always need proxies?
A location-targeted proxy is useful where authorized sources vary by egress and the observed market can be verified. A permitted region-specific feed may provide the same fields without browser traffic.
How should a team respond to a source access denial?
Record it without refreshing affected keys, honor the source's collection limits and coordinate an approved feed or scope with the owner. Confirm permissions and relevant terms before collection.
Can freshness be measured without an AI agent?
A scheduled calculation can compute observation age and eligible coverage directly from an event store. Use fixtures to test delayed arrivals, missing keys and source layout changes.