Мониторинг цен медицинских лабораторий: сравнение цен на анализы в одной таблице

Мониторинг цен медицинских лабораторий

Цены на анализы в Киеве сильно отличаются между лабораториями. Один и тот же общий анализ крови, гормоны щитовидки или комплексный чекап в разных сетях лабораторий могут стоить по-разному, иногда в разы. Для пациента это вопрос экономии. А для самих лабораторий, клиник и медицинских сервисов это вопрос конкуренции: если ваша цена выше соседней на 30%, пациент пойдет туда.

Сравнить цены на анализы руками почти нереально. У каждой лаборатории сотни и тысячи услуг, свои названия, свои коды, свои скидки. Расскажу, как устроен автоматический сбор прайсов пяти крупных лабораторий Киева и как из них получается одна таблица сравнения.

Пять сайтов, один отчет

Зачем это нужно

  • Лабораториям – видеть, где их цена выше рынка, а где можно поднять без потери пациентов.
  • Клиникам и медицинским центрам, которые отправляют анализы в партнерскую лабораторию, – понимать, выгоден ли текущий партнер.
  • Медицинским сервисам и агрегаторам – показывать пользователям сравнение цен.
  • Страховым компаниям – оценивать стоимость программ, которые включают анализы.

Главное здесь – регулярность. Лаборатории меняют цены, запускают акции, добавляют новые комплексы. Отчет, сделанный один раз, устаревает за месяц. Поэтому сравнение собирается каждую неделю, и видно не только текущие цены, но и изменения.

Почему каждая лаборатория – отдельная задача

Пять сайтов – пять разных способов отдать прайс. Вот как это выглядит на практике:

  • Одна страница со всем прайсом. Самый простой случай: вся таблица услуг лежит на одной странице. Забрали, разобрали, готово.
  • Каталог с пагинацией. Прайс разбит на десятки страниц. Нужно пройти все по очереди и ничего не пропустить.
  • Внутренний API. Сайт подгружает услуги через API: больше сотни подкатегорий, в каждой несколько страниц по десять услуг. Сначала нужно узнать, сколько страниц в каждой подкатегории, потом пройти все.
  • Многоуровневое меню с сессией. Самый сложный вариант: категории открываются по уровням, каждый уровень подгружается отдельным запросом с защитным токеном сессии. Обход повторяется, пока не закончатся вложенные уровни.

Для каждой лаборатории написан свой модуль, который знает ее сайт. Сверху – общая часть: сохранение, сравнение и отчет. Если лаборатория изменила сайт, правится только ее модуль.

Самая тяжелая часть – сопоставить одинаковые анализы

Собрать прайсы – половина дела. Вторая половина – понять, что “Общий анализ крови с лейкоцитарной формулой” в одной лаборатории и “Клинический анализ крови (ОАК) + СОЭ” в другой – это одно и то же или нет.

Названия услуг приводятся к единому виду: убираются лишние символы, скобки, унифицируются сокращения и регистр. После этого одинаковые анализы группируются, и для каждой группы видны цены во всех лабораториях, где он есть.

Там, где лаборатория указывает, что входит в комплекс, это тоже сохраняется. Комплексы часто называются одинаково, но имеют разный состав. Без этой колонки сравнение комплексов будет некорректным.

Сравнение: фрагмент отчета

Что в отчете

Результат – Excel-файл, который приходит каждую неделю:

  • Лист “Все услуги”. Полный прайс всех лабораторий: лаборатория, категория, код, название услуги, цена, цена со скидкой, что входит.
  • Сравнение. Для каждого анализа: в каких лабораториях он есть, минимальная и максимальная цена, разница.
  • Ваша позиция. Если отчет для лаборатории, отдельно видно, где вы самые дешевые, где самые дорогие и на сколько.

Цена со скидкой выносится отдельной колонкой. Акции в лабораториях постоянные, и пациент видит именно акционную цену. Сравнивать только базовые цены – значит не видеть реальной конкуренции.

Подводные камни

  • Разные города – разные прайсы. Цены в лабораториях зависят от города. Отчет собирается для конкретного города, а для нескольких городов – отдельно по каждому.
  • Сайты меняются. Лаборатории обновляют сайты, меняют структуру каталога. Поэтому есть проверка: если из какой-то лаборатории пришло подозрительно мало услуг, отчет не отправляется молча, а я получаю уведомление и исправляю.
  • Не все сопоставляется автоматически. Часть услуг уникальна или названа так, что автоматическое сопоставление не уверено. Такие позиции не выдумываются, а остаются отдельно. Лучше честная пустая клетка, чем неправильное сравнение.

Не только лаборатории

Та же схема работает для любой ниши, где услуги имеют прайс на сайте и цены сравниваются между компаниями:

  • стоматологии и медицинские центры;
  • ветеринарные клиники;
  • СТО и шиномонтажи;
  • салоны красоты;
  • курсы и учебные центры.

Разница только в модулях под конкретные сайты. Сопоставление, сравнение и еженедельный отчет – те же.

Как часто обновлять сравнение

Для большинства задач хватает одного отчета в неделю. Лаборатории не меняют базовые цены каждый день, а акции обычно длятся от недели до месяца. Еженедельный отчет показывает и изменения цен, и старт новых акций.

Чаще имеет смысл собирать в двух случаях: если вы агрегатор и показываете цены пользователям, или если у вас самих часто меняется прайс и нужно видеть реакцию конкурентов. Тогда сбор идет каждый день, а отчет показывает только изменения за сутки: что подешевело, что подорожало, какие услуги появились и исчезли.

Все срезы сохраняются. Через несколько месяцев видно, как менялись цены на ключевые анализы в каждой лаборатории и кто чаще других запускает акции.

Как заказать

Напишите, какие компании и в каком городе вас интересуют, и что вы хотите видеть в отчете. Я посмотрю сайты, скажу, насколько сложно забрать прайс с каждого, и сколько будет стоить регулярное сравнение. Похожая задача с мониторингом цен конкурентов описана на странице парсинг сайтов с защитой от ботов.

Частые вопросы

Какие лаборатории входят в сравнение?+
В базовом варианте пять крупных сетей лабораторий в Киеве. Список можно изменить или расширить под ваш город и конкурентов.
Как сопоставляются одинаковые анализы?+
Названия приводятся к единому виду, после чего одинаковые услуги группируются. Сомнительные совпадения не подставляются, а остаются отдельно.
Учитываются ли акции?+
Да, цена со скидкой собирается отдельной колонкой, потому что пациент видит именно ее.
Можно ли сравнивать цены в других городах?+
Да, прайсы лабораторий зависят от города, поэтому отчет собирается отдельно для каждого нужного города.
Похожая задача?

Опишите ее - за 15-20 минут скажу, решается ли она, каким путем и сколько примерно будет стоить. Без обязательств.

Обсудить задачу →