Screen many traders' price reductions against the 30-day low
RivalSweeper keeps a daily, dated price record of traders' public product pages and checks each announced reduction against the lowest price recorded in the 30 days before it. The scope of a check is set by your team on a call.
Opens rivalsweeper.com, the service behind this page.
- Prior price computed as the lowest recorded price in the 30 days before the reduction, with its date
- Percentage reductions recomputed from that 30-day low, as Aldi Süd (C-330/23) requires
- One method for every trader in scope, with observation gaps declared
| Field | What it shows |
|---|---|
| Product and source | Trader, product, page URL, market and currency |
| Daily price record | The price on each recorded day, with its date |
| The claim | The reduction as announced: prior price shown, '% off' or price highlight |
| 30-day lowest prior price | Lowest recorded price in the 30 days before the reduction, and its date |
Structure of the evidence pack. No sample data shown.
CJEU, Aldi Süd (C-330/23), 26 September 2024: a reduction announced as a percentage or a 'price highlight' must be calculated from that 30-day lowest price.
Source: curia.europa.euThe Netherlands ACM fined five online stores EUR 621,000 in total on 11 June 2024 because their discounts were not based on the lowest price of the prior 30 days.
Source: acm.nlPoland's UOKiK fined Zalando SE PLN 30,945,000 and Whaleco Technology Limited (Temu) PLN 5,910,900 on 14 January 2026 over how the 30-day lowest price was shown. The decisions are not final and can be appealed.
Source: uokik.gov.plArticle 6a is easy to state and slow to test across traders
Since 28 May 2022 an announced price reduction must show the prior price: the lowest price the trader applied in at least the 30 days before it. Testing that needs the trader's price on every day of the look-back, product by product. One visit to the site shows one day.
Since Aldi Süd it is also arithmetic: a '-30%' badge can infringe even when a prior price is displayed, if the percentage was not computed from the 30-day low. For a sweep, that means a daily record across many traders, kept from before the reductions under test, with gaps declared rather than guessed. Building that in-house competes with casework.
Without it
- Manual visits and screenshots: Fully under your control, but finding a 30-day low means visiting every product daily for a month.
- The Wayback Machine and other archives: Good for spot checks; captures are irregular and rarely cover one product page on each of the 30 days.
- In-house crawling tools: Full control of the method, but each site needs maintenance and your team writes the method up.
With Price Reduction Sweep
- Prior price computed as the lowest recorded price in the 30 days before the reduction, with its date
- Percentage reductions recomputed from that 30-day low, as Aldi Süd (C-330/23) requires
- One method for every trader in scope, with observation gaps declared
- 30-day prior price per product
- Percentage recomputed
How a scoped check runs
- 1
Scoping call
Your team sets traders, categories or URLs, markets and the period. We say which pages are already recorded and from what date. Free, no commitment.
- 2
Recording
Pages not yet tracked are recorded daily from the day they are added. A 30-day check needs 30 days of record before the reduction, so seasonal sales need an early start.
- 3
Checks run
For each reduction: the displayed prior price against the 30-day recorded low, and the stated percentage against one recomputed from that low.
- 4
Delivery
One record per product, with a method note listing gaps. Your investigators decide what to pursue.
Features
30-day prior price per product
The lowest recorded price in the 30 days before each reduction, and the date it applied.
Percentage recomputed
The stated '% off' recalculated from the 30-day low, so an overstated badge shows on one line.
One method across a sweep
The same rules for every trader in scope, so results compare across traders, not across whoever checked which site.
Market and currency kept
Each price is compared only with the same product's earlier price in its own market and currency.
Comparison guards
A change counts only when source, market and currency match; a jump of more than 5x is not treated as a price move.
Gaps declared
Days without an observation are listed, so you can judge whether a gap falls on a day that matters.
The record each product gets in a scoped check
Checks are confidential to the authority, so no sample is published. Every product record follows this structure.
| Field | What it shows |
|---|---|
| Product and source | Trader, product, page URL, market and currency |
| Daily price record | The price on each recorded day, with its date |
| The claim | The reduction as announced: prior price shown, '% off' or price highlight |
| 30-day lowest prior price | Lowest recorded price in the 30 days before the reduction, and its date |
| Recomputed discount | The reduction recalculated from that 30-day low |
| Method and gaps | How figures were produced; days without an observation listed |
- Each price is compared only with the same product's earlier price, in its own currency.
Structure of the evidence pack. No sample data shown. · See the full sample on rivalsweeper.com →
Who it's for
Investigators on a CPC network sweep
You screen many traders in a short window and report in a common format. Each trader gets the same per-product record.
Enforcement officers building a case file
You need the dated price history behind one trader's reductions before deciding whether there is an infringement to pursue.
Market-monitoring units
You want to see how traders in a sector present reductions ahead of a seasonal sale, before choosing where to act.
Works with
- Traders' public product pages (no access to trader systems)
- Shopify, WooCommerce, Magento and other storefronts (read from public pages)
- CSV export (paid plans)
- REST API (Pro and up)
- MCP for Claude and other AI assistants
Pricing
A scoped check is quoted after a free, confidential call; tool choice and procurement stay with your authority. Monitoring plans are monthly in USD, cancel any time, 14-day money-back on every plan.
Basic
$39 per month
A small pilot on 2 traders
- 2 monitored domains, 1 user
- Up to 10,000 products per trader
- Price movement and discount tracking on supported websites
- CSV export
- Email support within 2 business days
Scoped check
Custom quoted per scope
The traders, products and period your team sets
- Free, confidential scoping call
- Daily price record per product page
- 30-day lowest prior price and its date
- Percentage recomputed from the 30-day low
- Method note with every gap listed
Pro
$199 per month
Up to 15 traders recorded continuously
- 15 monitored domains, 5 users
- Up to 20,000 products per trader
- REST API, 10,000 requests a month
- MCP and 10 RSS feeds
- Support within 1 business day
Compared with the alternatives
- Manual visits and screenshots
- Fully under your control, but finding a 30-day low means visiting every product daily for a month.
- The Wayback Machine and other archives
- Good for spot checks; captures are irregular and rarely cover one product page on each of the 30 days.
- In-house crawling tools
- Full control of the method, but each site needs maintenance and your team writes the method up.
What changed
- Article 6a of the Price Indication Directive 98/6/EC, inserted by Directive (EU) 2019/2161 and applied since 28 May 2022, requires the prior price shown with a reduction to be the lowest price applied in at least 30 days before it. Source: eur-lex.europa.eu
- CJEU, Aldi Süd (C-330/23), 26 September 2024: a reduction announced as a percentage or a 'price highlight' must be calculated from that 30-day lowest price. Source: curia.europa.eu
- The Netherlands ACM fined five online stores EUR 621,000 in total on 11 June 2024 because their discounts were not based on the lowest price of the prior 30 days. Source: acm.nl
- Poland's UOKiK fined Zalando SE PLN 30,945,000 and Whaleco Technology Limited (Temu) PLN 5,910,900 on 14 January 2026 over how the 30-day lowest price was shown. The decisions are not final and can be appealed. Source: uokik.gov.pl
From first call to delivered record
Nothing to install on your side. You know what the record covers before you are quoted.
- Scoping call: traders, markets and period; what is already recorded.
- Scope agreed: one clear quote; new pages recorded from the day added.
- Record pulled: 30-day lows and recomputed percentages per product.
- Delivered: one record per product, with method note and gaps.
Security and data
- RivalSweeper reads public product pages only; no access to trader systems is needed.
- Every figure traces to a dated observation and its product URL.
- Days without an observation are listed as gaps; no price is estimated.
- The scoping call is free and confidential.
Questions
Can you show prices from before a page was added?
No. For pages already monitored the record goes back to when tracking started; for a new trader it starts the day it is added. The scoping call tells you what exists.
How is the prior price defined?
As the lowest price recorded in the 30 days before the reduction, with the date it applied. Days without an observation are listed, so you see whether a gap could hide a lower price.
What about national exceptions?
The directive lets member states set other rules for some cases, such as perishable goods or goods on the market for under 30 days. Tell us your national rules at scoping and we will say how the check handles them.
Which decisions show the point being enforced?
ACM (June 2024) and UOKiK (January 2026, not final) are above. Italy's AGCM fined Tannico EUR 150,000 in November 2025 for marking products on sale at prices equal to or above the lowest price of the previous 30 days.
Is this a legal assessment?
No. This is not legal advice; RivalSweeper is not a law firm, and we do not promise admissibility in any court; that is for counsel to decide. We supply a dated record and the arithmetic.
Will traders know they are being checked?
The record is built from public product pages. We do not contact traders, and nothing is published.
Scope a 30-day check for your next sweep
Tell us the traders, markets and period you want tested. The button opens RivalSweeper's discount-verification page, where you book the free scoping call.
See the 30-day check method