ACO · выборка и карты

Выборка объявлений, цены и карты — как это должно выглядеть

Макеты к разбору от 16.10.2026. Слева — как ведёт себя срез a26bb5a сегодня, справа — как должно быть после фаз С1–С4. Экраны нарисованы разметкой: живых запросов к проду у сессии не было. Все данные вымышленные. Объект примера: Рязань, 2-комнатная, 48 м², 3-й этаж из 5, 1972 год, кирпич.

1. Главное в одной картинке

Отбор объявлений обрезается ранжированием, которое не знает ни расстояния, ни цены. Правильное ранжирование есть — но в браузере, и оно сортирует только то, что доехало.

3-е
место у подходящего аналога за 180 м — сегодня
1-е
место у аналога за 4,8 км по цене вдвое выше
15
объявлений из 200 оставляет обрезка — по той же формуле
0
правил выпуска про расстояние аналогов

2. Экран «Аналоги» → лента найденного

Сегодня · порядок с сервера (_unlikeness)
  • — ул. Другая, 90
    48 м² · 3/9 эт. · 2021 г. · 145 833 ₽/м² · 4,8 км
  • — ул. Ленина, 5
    48 м² · 3/5 эт. · 1972 г. · 39 583 ₽/м² · 300 м
  • — ул. Ленина, 3
    50 м² · 3/5 эт. · 1970 г. · 80 000 ₽/м² · 180 м

Сортировка по площади, этажу, году и этажности. Цена и расстояние на порядок не влияют. Балла сходства у выдачи с сервера нет; в браузере он появится, но уже на этих трёх.

2.1. «Взять 5 лучших» и двойники

Сегодня
  • 74ул. Ленина, 3 · Яндекс
    50 м² · 3/5 эт. · 80 000 ₽/м²
    взято № 1
  • 74ул. Ленина, 3 · Циан
    50 м² · 3/5 эт. · 80 400 ₽/м²
    взято № 2

Одна квартира с двух площадок — два аналога в расчёте. Предупреждение «похоже на аналог № 1» появится только в карточках, выпуск этим не блокируется, а суммарный вес этой квартиры доходит до 80 % при потолке 40 % на каждый аналог.

3. Полоса рынка найденного — то, чего сейчас нет вовсе

Медиана и разброс считаются по всему найденному пулу (он и есть выборка рынка), а не по отложенным «Собранным». Это же число идёт в флаг «цена выбивается» и в раздел «Анализ рынка».

Рынок найденного · Рязань, 2-комн., 44–53 м²34 объявления · 12.08–16.10.2026
39 600 медиана 82 400 145 800
Внутри ±35 % от медианы — 29 объявлений. За границей — 5: одно ниже (проверить), четыре выше (новостройки 2021–2024 — другой сегмент).
500 м · 71,5 км · 153 км · 26 5 км · 34без точки · 3

Кольцо выбирается первым, где набрался минимум (для квартиры — 5). Объявления без точки в кольца не входят и показываются отдельно: проверить, что они в радиусе, нечем.

4. Карта на экране объекта

Схема без подложки · так бывает под нагрузкой Сагара
О 1 2 3 4 500 м
сегодня об этом не сообщается

Расстояния и номера читаются, и это правильный запасной путь. Беда в другом: признак with_layers=false есть в API, но его не видно ни на экране, ни в документе — отчёт уходит в банк, и оценщик не знает, что карты в нём нет.

5. Отчёт: карточка «Местоположение» и страница документа

6. Панель выпуска: три новых проверки

  • ✓Предложения аналогов — в пределах 3 месяцев от даты оценки
    есть и сегодня: release_rules.py
    есть
  • !Аналоги № 5 — дальше выбранного кольца (4,8 км при кольце 500 м)
    обоснование нулевой поправки на местоположение будет другим; проверьте, тот ли это сегмент рынка
    С3
  • !Аналоги № 1 и № 2 — похоже, одна квартира (тот же адрес, площадь и этаж)
    в расчёте это два наблюдения: размер выборки и вес завышены
    С2
  • !Аналог № 3 — цена 1 м² на 52 % ниже медианы найденного
    похоже на ошибку разбора, долю или приманку; проверьте объявление по снимку
    С2
  • ×Расстояние не определено у аналогов № 4, № 5
    печатать «расстояние в таблице источников» нечем — либо уточните адрес, либо замените аналог
    С3

Все новые проверки — предупреждения с осознанным подтверждением, кроме неизвестного расстояния: на нём держится текст отчёта. Подтверждение пишется в журнал, как признание бета-вида.

7. Табло приёмки выборки (С5)

То, что надо увидеть на проде, чтобы считать фазы сделанными. Числа — целевые, не замеренные.

4 / 5
из «5 лучших» оценщик оставляет без замены (цель ≥ 4)
≥ 90 %
схем с подложкой при load > 50
0
запросов к OneMaps при повторном расчёте (кэш окна)
100 %
совпадение порядка на сервере и в браузере
≤ 1 с
медиана /directory/market-search
0
отчётов с обоснованием, не сходящимся с расстояниями

Полный список проверок с шагами и ожидаемым результатом — в docs/TEST-ACCEPTANCE-2026-10-16.md.