Catalog Price Change Summarizer avatar

Catalog Price Change Summarizer

Pricing

$5.00 / 1,000 price change rows

Go to Apify Store
Catalog Price Change Summarizer

Catalog Price Change Summarizer

Analyze user-provided price records into deterministic grouped price change intelligence.

Pricing

$5.00 / 1,000 price change rows

Rating

0.0

(0)

Developer

Marco S.

Marco S.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Share

Analyze user-provided product or offer observations into deterministic temporal price-change rows. The Actor does not autonomously discover websites, scrape stores, use proxies, require logins, convert currencies, or call paid external APIs.

What It Does

It compares older and newer observations for the same product and currency, then emits one row per product/currency with previous price, current price, absolute change, percentage change, trend, score, recommended action, and source indexes. Use it when you already have dated catalog records and need a compact change summary instead of manual spreadsheet comparison.

Who It Is For

Pricing teams, ecommerce operators, resellers, and analysts monitoring their own catalog exports, competitor snapshots they already possess, or scheduled upstream datasets.

Input

Provide records with product or item names, prices, observation timestamps, optional currency, and optional source fields. Use groupKey, priceField, dateField, and dedupeKey to adapt the analysis to your own data.

Output

Each dataset row is one product/currency temporal comparison with previous price, current price, price change, price change percentage, trend, first and last observation timestamps, observation count, deterministic score, recommended action, score explanation, and source record indexes.

How It Works

The Actor validates each record, normalizes the configured product and price fields, keeps currencies separate, removes duplicate observations using group, currency, price, date, and source key, sorts each product/currency group by timestamp, and compares the earliest valid observation with the latest valid observation. The score ranges from 0 to 100: temporal coverage adds confidence, larger changes increase review priority, and incomplete baselines reduce confidence. Recommended action is derived from final score thresholds; groups without at least two dated observations are marked needs_baseline.

Example

{
"records": [
{"product": "Widget A", "price": "$10.00", "currency": "USD", "observedAt": "2026-09-19T00:00:00Z", "url": "https://a.example/w-a"},
{"product": "Widget A", "price": 12, "currency": "USD", "observedAt": "2026-09-20T00:00:00Z", "url": "https://b.example/w-a"}
],
"groupKey": "product",
"priceField": "price",
"dateField": "observedAt",
"dedupeKey": "url"
}

Pricing

PAY_PER_EVENT event analysis_record_emitted is charged once per emitted product/currency price-change row. Invalid records, duplicate observations, skipped rows, and charge-limited records are not billable.

Limitations

Currency symbols and codes are normalized for grouping only; this Actor does not perform FX conversion or compare USD and EUR in the same row. It does not create historical baselines by itself: a product/currency with fewer than two dated observations is emitted only as needs_baseline.

Integration

Run it directly with JSON input, from an Apify task, or downstream from another Actor that produces a default dataset of dated price records. Results are written to the default dataset and the run summary is written to the OUTPUT key-value store record.

Differentiation

Use this for temporal catalog change summarization over dated observations. Use Ecommerce Price List Analyzer when you need current-list spread, median, and outlier analysis across simultaneous offers.