Size data control
24TTL · Lamoda
- Scope
- 150k SKU
- 800 thousand rows of data
Task: find the discrepancies between Lamoda’s size charts and the brands’ own sites — by hand that is 800 thousand rows of comparison.
How it works
- 01Find the brandThe official site by the brand name
- 02Find the productMatching the Lamoda SKU to the card
- 03Render the pagePlaywright: the page as the buyer sees it
- 04Extract the tablesSize charts from the brand’s page
- 05NormaliseDifferent units and labels into one shape
- 06Compare and dashboardLine-by-line comparison, filters, CSV export
DATA TRUSTWORTHINESS LAYER — identity check of the product against the DOM · quarantine for unverified rows · vision-LLM on non-standard tables · golden tests against regression
Particulars and difficulties
Is it the same product
Similar models are easy to confuse, so a product is confirmed by an identity check against the DOM, not by its name
An error is worse than a miss
Unverified rows go to quarantine: only what the system can answer for reaches the report
Every brand’s table is its own
Charts come as images and in non-standard markup — that is where the vision-LLM comes in
Sites change silently
Golden tests catch extraction regressions before spoiled data reaches the report
Results
- 150k
- SKUs under automatic comparison
- 800k
- rows instead of manual checking
- 6
- stages in the pipeline
Discrepancies are visible by address
A dashboard in Lamoda’s brand book: filters on every dimension, line-by-line comparison, CSV export
The check repeats
The run starts again on any volume — comparison stopped being a one-off exercise
Stack
Playwright · selectolax · FastAPI · React · Recharts · Coolify