first_open равна этой (install-version attribution). Событийная атрибуция не используется: иначе сломанная версия «забирает» хорошую конверсию обновившихся.screen_view, Feed_Open, Session_Start. app_remove, user_engagement, Push_Status исключены (инфлируют D1 на +37%).DoppyEvents.media_dict (факт публикации, не тап), без web-платформы; боты и забаненные отсекаются переключателем «Фрод», а не зашиты в фильтр. Канон-март L2_doppy_fct_content_uploads не используется: он отстаёт (последняя дата 27.07 против 06.08 у raw) и не покрывает свежие версии. На общем окне 01–27.07 расхождение метода −12% по видео и −13% по авторам (март дополнительно режет по tier и country_code).DevEvents.L2_doppy_sot_fct_marketplace_purchases (SoT-март, дедуп встроен), связка firebase → backend по splitByString(':', user_id)[1]. Покрытие связки 61–83% когорты: у части устройств нет backend-аккаунта (незарегистрированные), они не покупают, поэтому знаменатель — вся когорта.price_fiat > 0: реальные платежи, включая Google Play billing (по полю fiat_asset их не видно, оно занижает фиат на ~20%). Покупки за price_token ($DOPPY/$LUMY) вынесены отдельной группой и в счётчик денег не подмешиваются. За 16.06–06.08 токен-покупок всего 19 транзакций на $178 против 1 656 фиатных на $11 547 — канал закрыт с начала июня. Транзакции с нулевой ценой (промо) в счётчики не попадают.user_dict.is_ban OR luch_flg OR ussr_flg OR biorobot_flg. Пользователи без backend-аккаунта считаются чистыми (проверить их нельзя). ⚠ Баны накапливаются со временем — у старых версий доля фрода выше и по этой причине тоже, поэтому режим «только фрод» читать как «сколько мусора вычистили», а не как свойство версии.Onboarding_FirstBoxEarnings_Appear и Onboarding_CreateFirstVideo_Appear обнулились с 24.07 (артефакт трекинга, не поведение) — в воронку не включены.sources/ (v6.2) и сверено с первоисточником правил — репо cheeleeltd/analytics-sot (PO Дмитрий Афанасьев, HEAD 827c943 от 03.08). Совпадает: R2 install-когорта по firebase first_open + bridge, R5 симметрия фрод-фильтра, R20 пара pointwise + rolling retention, R19 доли в [0,1], фиат = канал оплаты (PayGate или Google Play), а не поле fiat_asset.media_dict, а не из канон-марта L2_doppy_fct_content_uploads — март отстаёт на 10 дней и не покрывает 1.14.0/1.15.0; расхождение метода на общем окне −12%; status='paid') — овеcount по SoT-пробам 0,33–0,5%, на выводы не влияет.queries.sql.