Estato — парсер и рыночная аналитика для агентства недвижимости

Работа агента по недвижимости начинается с одного вопроса: этот объект стоит своих денег или нет. Ответ на него обычно собирается руками — открыть пять площадок, найти похожие квартиры, прикинуть в голове. Мы собрали систему, которая делает это непрерывно: следит за источниками, приводит объявления к единому виду и сравнивает конкретный объект с рынком его района.

Как это выглядит внутри

Интерфейс показан с демонстрационными данными: реальные дела, звонки и клиентские записи мы не публикуем.

Estato — Анализ рынка: динамика цены за метр, структура предложения и районы с наибольшим потенциалом
Анализ рынка: динамика цены за метр, структура предложения и районы с наибольшим потенциалом
Estato — Обзор: что собрано за сутки и на что стоит посмотреть
Обзор: что собрано за сутки и на что стоит посмотреть
Estato — Лента объявлений из всех источников, приведённая к одному виду
Лента объявлений из всех источников, приведённая к одному виду
Estato — Карточка объекта: история цены, сопоставимые предложения и обоснование оценки
Карточка объекта: история цены, сопоставимые предложения и обоснование оценки
Estato — Источники: что отвечает, что сломалось, сколько осталось квоты
Источники: что отвечает, что сломалось, сколько осталось квоты
Estato — Аналитика по срезам рынка
Аналитика по срезам рынка

Что умеет продукт

  • Единая лента объявлений из всех подключённых источников, без дублей
  • Карточка объекта с историей цены и списком сопоставимых предложений
  • Оценка отклонения от рынка с объяснением, из чего она сложилась
  • Анализ рынка по районам: динамика цены за метр, объём предложения, время экспозиции
  • Структура рынка по типам объектов — квартиры, студии, коммерция, загородная
  • Список районов с наибольшим потенциалом — куда смотреть в первую очередь
  • Состояние источников: что отвечает, что сломалось, сколько осталось квоты
  • Выгрузка в CSV для тех, кто всё равно доверяет своей таблице

Комплексная структура системы

За каждой строкой в ленте стоит цепочка работ: опрос источника, разбор страницы, нормализация полей, геокодирование, склейка дублей, пересчёт оценки по району и проверка того, что источник вообще ещё отвечает. Источников десяток, и у каждого своя структура, свои названия полей, своя логика обновления и своя частота, с которой всё это меняется без предупреждения.

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

Дубли и история цены

Одна квартира на трёх площадках, у двух агентов, с разными фотографиями и разной ценой — это норма рынка.

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

Оспариваемая оценка

Рядом с оценкой система всегда показывает основание: по каким сопоставимым объектам она посчитана, за какой период, чем именно этот объект от них отличается. Агент видит расчёт целиком и может с ним поспорить на своё усмотрение.

Как это устроено

  1. 1 Сбор Источники опрашиваются по расписанию, с учётом лимитов и без лишней нагрузки на площадки
  2. 2 Нормализация Разные форматы приводятся к одной схеме: тип, площадь, этаж, состояние, координаты
  3. 3 Дедупликация Один и тот же объект с разных площадок склеивается в одну карточку с историей цены
  4. 4 Оценка Модель считает справедливую цену по сопоставимым объектам района и периода
  5. 5 Сигнал Объекты с заметным отклонением от рынка попадают в отдельный список с обоснованием

На чём собрано

PythonPostgreSQLочереди задачгеокодированиеGoogle ТаблицыTelegram

Нужно похожее?

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