The task
The distributor needed to track drug prices and availability across pharmacy chains and online storefronts to control distribution and pricing. The catch is that the same drug is named differently by different sellers and sold in different dosages and pack sizes — without matching, comparing prices is pointless.
What we did and what data we collected
We set up regular collection of drug product cards: price, availability, dosage, form, manufacturer and seller. Then came product matching: we linked items from different sources into unified product groups, normalizing names, dosages and packaging. The output — comparable prices for every drug, tracked over time.
Challenges and how we solved them
The main challenge was matching. Pharmacies have no shared SKU: "Drug 500 mg, 20 tablets" and "Drug film-coated tab. 0.5 g N20" are the same product. We normalized the attributes (dosage, count, form) and matched items by a combination of signals rather than by name; more on bringing data to a common shape in our article on data normalization.
The second was heterogeneity and anti-bot restrictions: some pharmacies expose prices only through dynamic loading. We adapted collection to each type of platform.
The third: prices and stock often depend on the region. We recorded the source and region for every observation so comparisons stayed correct.
The result
The distributor got a single comparable database of drug prices and availability across several countries of operation — refreshed on schedule, with the ability to track deviations.
Services in this case study: Product Matching · Marketplace Price Monitoring · Stock and Availability Monitoring · Data for Healthcare and Pharma
Useful reading: Data normalization · Scraping dynamic sites