Ecommerce price monitoring: build a reliable comparison series
Design an ecommerce price monitoring workflow that distinguishes real price changes from variant, currency and collection changes.
Keep the right fields.
Workflow field map| Field / step | Input | Rule |
|---|---|---|
| Series | Source + variant + currency | Do not join on the product title. |
| Delta | New amount minus previous amount | Calculate only for comparable observations. |
| Alert | Threshold + evidence links | Keep missing data separate from price drops. |
| Variant | SKU | Example price | Example availability |
|---|---|---|---|
| Small / Navy | DEMO-TEE-S-NV | USD 32.00 | Example: available |
| Medium / Navy | DEMO-TEE-M-NV | USD 32.00 | Example: available |
| Medium / Sand | DEMO-TEE-M-SD | USD 34.00 | Example: unavailable |
| Large / Navy | DEMO-TEE-L-NV | USD 32.00 | Example: unknown |
All names, identifiers, prices and availability values are fictional. They do not describe a merchant’s catalog or inventory.
Build a comparable series before setting alerts.
A useful ecommerce price monitor compares the same offer on the same basis. Keep collection failures and identity changes outside the price-change calculation.
Scroll to compare →
| Keep | Record | Decision |
|---|---|---|
| 01 · Select | Source, product, variant, market, currency, pack and condition | Review the match once; reopen it when the source or configuration changes. |
| 02 · Collect | Bounded run with source URL, retrieval time and warnings | Schedule collection in your own application. Save results within the seven-day retention window. |
| 03 · Validate | Non-null price, known currency, acceptable age and complete required fields | Quarantine missing prices and stale records; neither is a zero-price offer. |
| 04 · Compare | Current price minus previous comparable price | Only calculate a percentage when the previous price is greater than zero. |
| 05 · Review | Threshold, previous/current evidence and delivery basis | Send a candidate alert to your workflow; the observation does not authorize repricing. |
An observation can change without a price change.
These are comparison rules. The linked price-history exercise uses fictional records and timestamps to demonstrate matching and calculation; it contains no live store prices.
Scroll to compare →
| Keep | Record | Decision |
|---|---|---|
| Same price and comparable identity | Record another observation | Keep the collection time; an unchanged result is still fresh evidence. |
| Different currency or pack | Separate comparison series | Do not report a large drop caused by mixing currencies or pack sizes. |
| Missing product or failed run | Record a collection exception | Do not infer discontinuation from one failed observation. |
| Availability changes | Record an availability event | Preserve true, false and unknown as different values. |
Choose source pages before choosing a monitoring interval.
A useful ecommerce price monitoring tool needs stable inputs. Document the page type, variant key, seller, market and currency before deciding how frequently to collect.
Scroll to compare →
| Source decision | Keep | Avoid |
|---|---|---|
| Page type | Product URL for exact offers; category URL for discovery | Comparing a category-card price with a configured product price |
| Variant identity | Source product ID plus option or SKU key | Joining observations by product title alone |
| Seller and condition | Merchant, condition and fulfillment context | Combining marketplace offers into one unexplained price |
| Market | Country storefront, currency and delivery context | Treating regional storefronts as one price series |
Content reviewed 2026-10-07.
Before you use the output
Run schedules and notifications in your own application. Download or store results within seven days; extraction history is not a permanent price-history database.
Check one record first.
Start with the smallest useful scope. Compare the returned record with its source, confirm variant identity and inspect missing fields before applying the mapping to a larger dataset.
Keep extraction warnings and the retrieval timestamp with downstream output. When a required field is missing, leave it unresolved or return to the source; do not fill it from an assumption.