Как мы сравниваем цену с медианой
В карточке бота бывает строка вроде «📉 На 15% дешевле медианы у двушек в районе Врачар: 12,9 против 15,2 €/м² (34 квартиры за 60 дней)». Ниже объясняем, откуда эти числа и когда мы их не показываем.
С чем сравниваем
Каждую квартиру сравниваем с похожими: тот же район и столько же комнат. Комнаты делим на полосы: студии, однушки, двушки, трёшки, от 4 комнат. Полторы комнаты считаются вместе с однушками, две с половиной — с двушками, и так далее.
Если площадь известна, сравниваем цену за квадратный метр: так квартиры на 45 и на 70 м² можно поставить рядом. Если площади нет, сравниваем цену в месяц.
Откуда квартиры
Берём объявления с 4zida, CityExpert и KupujemProdajem, которые бот увидел за последние 60 дней, в том числе уже снятые. Если считать только те, что висят сейчас, в выборке остались бы квартиры, которые никто не снял, а они обычно дороже. Сейчас данные покрывают 1 день: медианы считаем с первого дня работы бота.
Одна квартира на нескольких сайтах — одна квартира, а не три. Дубли мы склеиваем по координатам, площади, этажу и цене и берём самую низкую цену из найденных. Если агентство перевыложило ту же квартиру на том же сайте, она тоже считается один раз.
Что выбрасываем
Иногда цену пишут в динарах вместо евро, ошибаются в площади или выкладывают продажу как аренду. Такие цены отличаются от обычных в разы. Мы отбрасываем всё, что выходит далеко за типичный разброс группы (правило Тьюки: полтора межквартильных размаха в логарифмах цены), и объявления, которые наши проверки пометили как продажу или посуточную аренду.
Когда сравнения нет
Медиана нескольких квартир случайна. Если похожих квартир в районе меньше 12, сравниваем с городом для того же числа комнат и так и пишем: «у двушек в Белграде». Если и в городе меньше 12 или число комнат неизвестно, строки в карточке не будет.
Почему 12. Для двенадцати квартир истинная медиана с вероятностью 95% лежит между третьей и десятой по цене. При обычном разбросе цен это примерно ±20%. Если квартир меньше, интервал становится слишком широким, чтобы что-то утверждать.
«Дешевле», «дороже» и «около медианы»
«Дешевле» или «дороже» пишем, только если цена квартиры выходит за этот 95%-интервал и отличается от медианы хотя бы на 3%. Иначе пишем «около медианы»: разница может быть случайной. 🔥 ставим, когда квартира дешевле медианы на 12% и больше.
Если цена ниже обычного разброса в разы, вместо 🔥 будет ⚠️. Так выглядят ошибки в цене и объявления мошенников. Не переводи деньги до просмотра.
Сколько висят похожие квартиры
Раз в сутки бот проверяет, висят ли ещё объявления 4zida и CityExpert. Снятым считаем после двух ответов «снято» с разницей хотя бы в 6 часов, чтобы разовая ошибка сайта не сошла за снятие. Строку «обычно снимают с сайта через N дней» показываем, когда в группе набралось 12 снятых квартир. Снятие не всегда значит, что квартиру сдали: хозяин мог передумать или выложить её заново.
Чего эти числа не знают
- Это цены из объявлений, а не из договоров. О скидке договариваются на просмотре.
- Комиссия агентства и коммуналка в медиану не входят. Комиссию бот показывает отдельной строкой.
- Район берём с сайта. Если район не указан, квартира попадает только в медиану по городу.
Медианы пересчитываются автоматически, обычно раз в полчаса.