estate_deals), лоты/склад (estate_sells, estate_houses). Снимок синхронизируется в локальную базу crm.sqlite; чипы наверху и «live»-данные считаются по нему.Период: по умолчанию — текущий месяц (переключатель сверху). Исключения: из всех расчётов убраны 5 руководителей отдела (их сделки не считаются ни в план, ни в факт).
is_payed_reserve). Это «Платная бронь» в режиме-переключателе и основа чипа брони.Количество и сумма сделок в статусе «Сделка проведена» за выбранный месяц. Сумма = сумма deal_sum по этим договорам. Это факт выручки, который сравнивается с планом в «Исполнении плана».
deal_sum: 5,1 + 7,3 + … + 6,0 = 75,2 млн ₽. Чип покажет 12 сделок · 75,2 млн ₽.Главное число — количество договоров бронирования, заключённых в выбранном месяце: дата по arles_agreement_date (договор брони), статусы «Сделка в работе» + «Сделка проведена». Берём дату именно договора брони, а не создания сделки — это момент реального обязательства клиента.
Ниже — разбивка на 3 месяца вперёд (M0 / M1 / M2) по плановой дате закрытия (date_finished_plan) для сделок в статусе «Сделка в работе»: сколько броней должно перейти в сделку в текущем и двух следующих месяцах. Под чипом — список незакрытых сделок по плановой дате.
arles_agreement_date в июне, статус «в работе» или «проведена») → главное число 18. У броней «в работе» смотрим date_finished_plan: M0 июнь = 5 · M1 июль = 9 · M2 авг = 4 — это план перехода броней в сделки.Стоимость непроданного остатка. Берём свободные лоты (склад estate_sells, sell_status=20 «Продаётся») и оцениваем каждый по его текущему прайсу (price) — за сколько лот выставлен сейчас. Где у лота нет цены — по средней цене реальных продаж того же типа (студия/1к/2к/…) в этом ЖК. Детализация — в модалке «Экспозиция».
Сравнение факта выбранного месяца с предыдущим: и по количеству, и по сумме. Стрелка/процент = изменение относительно прошлого месяца.
Факт (сумма проведённых сделок месяца) ÷ план месяца. Микро-шкала в шапке и в строке «Итого» показывает % исполнения. План задаётся помесячно по каждому ЖК (модалка «План продаж»); пустой месяц наследует план «по умолчанию».
estate_sells: проданные лоты (sell_status 100/52) против общего числа лотов ЖК. «Распроданность» = продано ÷ всего.Σ estate_price лотов со статусом «Сделка проведена». Берётся из той же базы (склад), что и «Продано N лотов», поэтому согласована. «Маркетинговые сделки» в сумму выручки не входят.Прогноз средней цены ₽/м², на которую проект выйдет к концу продаж. Считается по жилым лотам (квартиры; кладовки/паркинг исключены):
Основной источник — Объектив (значок • на карточке): по зарегистрированным сделкам Росреестра по актуальной очереди ЖК. Актуальная очередь = строящийся корпус; если строящихся нет — последний сданный. Это важно: средняя по всему проекту смешала бы старые дешёвые сданные секции с текущими, поэтому берём только актуальный корпус.
Запасная формула (CRM) — если по ЖК нет данных Объектива: (средняя ₽/м² реальных продаж × жилая площадь + сумма остатка) ÷ общая жилая площадь.
Почему именно Объектив: оцифровка договоров в CRM неполная — напр. по [адрес] лишь у ~46% проданных квартир, поэтому «сырой» расчёт по CRM занижал цену (~97k вместо реальных 166k).
Округления. Суммы — до целых рублей/тыс., ₽/м² — до целых. Из-за округлений части могут не сходиться в сумму на 1 единицу. Числа в примерах — иллюстративные. Канон методологии: вальт projects/sales_dashboard_v2.md.