Client projectPrivate
A market-wide price study, checked three ways before anyone saw it
For a European parcel operator, 5,093 competitor prices across 226 destinations, turned into a branded dashboard and a live workbook the pricing team could trust.
- Industry
- European parcel operator
- What it shows
- Competitor intelligence, OSINT, Data collection, Dashboards
- Year
- 2026
- Status
- Private
In numbers
- competitor retail prices collected
- 5,093
- destinations compared, gaps marked rather than guessed
- 226 / 237
- providers mapped to one list
- 15
- workbook formulas recalculating with zero errors
- 4,808
Figures come from the project’s own files and records.
What changes
The steps people did by hand, and the route the work takes now.
The pricing team asks where it stands
Before
- Visit every comparison site
- Copy quotes into a spreadsheet
- Match carrier names by hand
- Re-add the totals
With AI
- An agent collects and cleans 5,093 prices
- Every headline figure checked three ways
A dashboard and live workbook the team trusts
The problem
The pricing team needed one answer: where do our export prices sit against every competitor, destination by destination? The data existed, but it was scattered across comparison sites and a competitor’s own price calculator, in different formats, with carriers named a dozen ways. Collecting it by hand would have taken weeks and still left doubts about the numbers.
What we built
A collection and analysis pipeline that gathered 5,093 retail prices from 15 providers, cleaned them into one consistent table and produced two deliverables in the client’s own language and branding: a dashboard for reading the market at a glance, and a workbook with live formulas for the analysts who wanted to test their own assumptions.
Where a destination had no quote, it stays visibly blank. The report shows the coverage gaps rather than filling them with estimates.
Why the numbers can be trusted
A price study is only useful if nobody has to wonder whether a figure is wrong. Every headline number was calculated three separate ways: from the raw data, through the workbook formulas and through the dashboard pipeline. All 37 matched. The workbook’s 4,808 formulas recalculate with zero errors.
What it shows
Most of the work in a market study is collection and cleaning, and that is exactly the part AI-assisted tooling does well when it is checked properly. The same pipeline can be pointed at another market, or run on a schedule to become a standing monitor that tells the pricing team what moved each week. Below, sort the price view yourself, or switch to the weekly monitor: an illustration of where the same approach goes next, reading more open sources than prices, from job ads to tariff PDFs.
Interactive system map
Every step of the study, and how they connect
16 parts and 6 journeys, from a public quote to the workbook, the dashboard and the three-way check. The weekly monitor chapter is an illustration.
Play 6 journeys, or click any of its 16 parts.
- competitor retail prices collected
- 5,093
- headline figures checked three ways, all agreed
- 37
- workbook formulas, recalculating with zero errors
- 4,808
| Price chart | Median | Range | Quotes | |||
|---|---|---|---|---|---|---|
| JDestination J | €57 | €38 | €28–55 | 8 | +€19, above every competitor | |
| GDestination G | €44 | €28 | €20–42 | 9 | +€16, above every competitor | |
| DDestination D | €33 | €21 | €14–31 | 10 | +€12, above every competitor | |
| ODestination O | €35 | €23 | €16–33 | 10 | +€12, above every competitor | |
| BDestination B | €21 | €15 | €10–24 | 13 | +€6 | |
| MDestination M | €22 | €17 | €11–26 | 11 | +€5 | |
| TDestination T | €41 | €36 | €26–52 | 9 | +€5 | |
| QDestination Q | €31 | €27 | €19–40 | 12 | +€4 | |
| IDestination I | €36 | €34 | €25–50 | 11 | +€2 | |
| ADestination A | €11 | €12 | €8–19 | 12 | −€1 | |
| FDestination F | €24 | €25 | €18–38 | 12 | −€1 | |
| LDestination L | €13 | €14 | €9–21 | 9 | −€1 | |
| NDestination N | €18 | €19 | €13–29 | 12 | −€1 | |
| PDestination P | €23 | €24 | €17–36 | 13 | −€1 | |
| SDestination S | €32 | €33 | €24–48 | 11 | −€1 | |
| CDestination C | €16 | €18 | €12–28 | 11 | −€2 | |
| UDestination U | €38 | €40 | €30–58 | 8 | −€2 | |
| EDestination E | €19 | €22 | €15–35 | 14 | −€3 | |
| HDestination H | €27 | €30 | €22–45 | 13 | −€3 | |
| RDestination R | €26 | €29 | €21–44 | 14 | −€3 | |
| KDestination K | No quote, blankNo competitor quote, left blank | – | – | – | 0 | – |
| VDestination V | No quote, blankNo competitor quote, left blank | – | – | – | 0 | – |
This week
- Competitor B is pushing into the Baltics: lower prices on 4 routes, a new branch and ads claiming the lowest price.
- Competitor C looks set to open a depot: 6 warehouse roles advertised in one new city.
- Competitor A’s service is slipping: complaints about late delivery doubled.
Changes by competitor
- 22 SepCompetitor BPricesCut prices to 4 Baltic destinations, by 9 to 14%
Evidence: Public price page, read from a screenshot
Before and after captures of the price page. Destination D: €29.90 → €26.90; three more routes changed the same day. - 22 SepCompetitor EPricesNew tariff sheet: fuel surcharge up 1.5 points
Evidence: Tariff sheet, read from a PDF
Surcharge table on page 3 of the new tariff PDF, compared with last month’s file. - 23 SepCompetitor CHiringAdvertised 6 warehouse roles in a city where it has no depot
Evidence: Job boards, read from text
Six adverts posted within two days, all for the same new address. Often an early sign of a new depot. - 23 SepCompetitor AProductsLaunched next-day delivery to 3 destinations
Evidence: Product page, read from a screenshot
New service tier on the product page, with its own price column. - 24 SepCompetitor BAdsRunning 12 new ads that claim the lowest price to the Baltics
Evidence: Public ad library, read from images
Twelve new ad creatives; the agent read the claim from the images themselves, not from captions. - 24 SepCompetitor AReviewsComplaints about late delivery doubled week on week
Evidence: App store reviews, read from text
41 new reviews; 17 mention late delivery, up from 8 the week before. - 25 SepCompetitor BFilingsRegistered a new branch address in the Baltics
Evidence: Business register, read from text
New branch entry in the public company register, filed on 19 Sep. - 25 SepCompetitor CProductsRemoved the 30 kg option from checkout
Evidence: Checkout page, read from a screenshot
Weight selector captured before and after: the top band is gone. - 26 SepCompetitor DHiringHiring a head of pricing
Evidence: Job boards, read from text
Senior pricing role advertised; the advert mentions “dynamic pricing”. - 26 SepCompetitor EFilingsWon a public tender for parcel lockers
Evidence: Public tender portal, read from a PDF
Award notice published as a PDF on the tender portal. - 26 SepCompetitor DAdsStarted advertising weekend delivery
Evidence: Public ad library, read from images
Four new ad creatives, all built around Saturday delivery.
Under the hood
- Claude
- Python
- Playwright
- openpyxl
- SVG charts
01Collect (OSINT)
Open-source intelligence: quotes from public price-comparison sites and a competitor's public pricing service, gathered through a real browser session.
02Normalise
Python parses every quote into one shape and maps dozens of carrier spellings onto a single list of providers.
03One pipeline
A single pipeline feeds both deliverables, so the workbook and the dashboard cannot disagree.
04Workbook
Built with live formulas, so the pricing team can change an assumption and watch it flow through.
05Dashboard
A standalone report with charts, in the client's branding, readable on any device.
06Verification
The 37 headline figures were recomputed by three independent routes before delivery. They agreed every time.