Задача
Дистрибьютору нужно было отслеживать цены и наличие препаратов по аптечным сетям и онлайн-витринам, чтобы контролировать дистрибуцию и ценообразование. Сложность в том, что один и тот же препарат у разных продавцов называется по-разному, продаётся в разных дозировках и упаковках — без сопоставления сравнивать цены бессмысленно.
Что делали и какие данные собирали
Мы наладили регулярный сбор карточек препаратов: цену, наличие, дозировку, форму выпуска, производителя и продавца. Затем — сопоставление товаров (матчинг): связывали позиции разных источников в единые товарные группы, приводя названия, дозировки и упаковки к общему виду. На выходе — сравнимые цены по каждому препарату в динамике.
Сложности и как решали
Главная сложность — матчинг. У аптек нет единого артикула: «Препарат 500 мг №20» и «Препарат таб. п/о 0.5 г 20 шт» — одно и то же. Мы нормализовали атрибуты (дозировку, количество, форму) и сопоставляли позиции по совокупности признаков, а не по названию; про приведение данных к единому виду — в материале про нормализацию данных.
Вторая — разнородность и защита витрин: часть аптек отдаёт цены только через динамическую подгрузку. Сбор мы адаптировали под каждый тип площадки.
Третья — цены и остатки часто зависят от региона. Мы фиксировали привязку к источнику и региону, чтобы сравнение было корректным.
Результат
Дистрибьютор получил единую сопоставимую базу цен и наличия по препаратам в нескольких странах присутствия — с обновлением по расписанию и возможностью отслеживать отклонения.
Услуги в кейсе: Сопоставление товаров (матчинг) · Мониторинг цен маркетплейсов · Мониторинг наличия и товарных остатков · Данные для медицины и фармацевтики
Полезные материалы: Нормализация данных · Парсинг динамических сайтов