Выводы
01
Retention: небольшой плюс теста, значимости нет. По strict day-N (Firebase user_id → backend uid, когорта 19 июня, 1 116 vs 1 139) тест выше на всех горизонтах: D1 +3.0 пп (54.8% vs 57.8%, z=1.45), D3 +0.2 пп, D7 +0.8 пп (z=0.39), D14 +1.6 пп (z=0.82) — но ни одна дельта не значима. По rolling («вернулся хотя бы раз к дню N», R20) дельты малы: rD3 +1.0 пп, rD7 +0.2 пп, rD14 +1.1 пп. Значимого эффекта на удержание нет.
02
Реальные покупки: контроль впереди по деньгам, разрыв слегка расширился. 419 покупателей vs 378 (−9.8%), CR от дошедших до маркета 6.89% vs 6.22% (Δ−0.67 п.п., z=1.48, p≈0.14 — незначимо). Выручка $3 552 vs $2 956 (−16.8%), ARPPU $8.48 vs $7.82 (−7.7%), ARPU/дошедшего $0.584 vs $0.487. Первичных покупателей 406 vs 365, повторных покупок 17 vs 14. За 15.07 на пике трафика control обошёл тест и по DAU (1 432 vs 1 361), и по покупкам — z поднялся с 1.20 до 1.48 за один день. Якорь — DoppyEvents.transactions (R16), дедуп LIMIT 1 BY transaction_id, is_fraud не фильтруется (R5/B7). Армы geo-сбалансированы — разрыв не страновой.
03
WhyBuyGlasses: одинаковый охват, ×1.9 глубина просмотра. До экрана доходит близкое число юзеров (2 142 vs 2 077). Но тест просматривает 41.2 слайда vs 22.2 в control (+85%) — эффект стабилен всё время теста. Streak-контекст делает оффер релевантным, но в покупки это по-прежнему не конвертирует.
04
Создание контента: тест стабильно сильнее, лид расширился. Publish_Tap +12.5%/юзер, VideoCapture_Appear +10.0%, Create_Tap +9.7%. Streak-механика мотивирует снимать видео. Если приоритет — UGC-supply и creator pipeline, тест лучше.
05
Итоговый trade-off: деньги против supply. Тест → больше контента (+12% публикаций/юзер), глубже изучает оффер (WBG ×1.9), чуть выше strict-retention (незначимо); вовлечённость на уровне или чуть выше контроля (события +3.1%, сессии +2.5%, feed +3.2%, media +0.2%). Контроль → деньги: ARPPU на 8.4% выше, больше покупателей, выше CR (Δ+0.67 п.п. в пользу контроля, незначимо) — и на сильном дне 15.07 разрыв слегка расширился. Если решать по выручке — контроль; если по UGC-supply — тест.
06
Осторожно с интерпретацией. Флаг применён ко ВСЕМ пользователям (не только новые регистрации), когорта retention — существующие активные юзеры. Армы: 9 010 control / 8 931 test (assigned = активны в окне). События атрибутированы джойном по арм-мапу (арм — свойство юзера), БЕЗ требования флага на каждом событии: иначе Session_Start и ранние события сессии занижаются почти вдвое. DAU по Session_Start, чтобы серверные батчи не искажали кривую. С 10.07 идёт приток трафика (DAU выросло с ~1 000 до ~1 400 на арм) — свежие дни весят больше в оконных метриках.
Источники данных (снапшот 16.07.2026, окно Jun 19 – Jul 15, арм-мап с 18.06): PostHog events → DoppyEvents.posthog_events_message. Арм-мап = argMax($feature/ANDROID_POST_REGISTRATION_DEEPLINK по event_date), identity = distinct_id 24-hex = backend uid, 17 941 юзеров (9 010 / 8 931); события/воронки атрибутированы джойном по арм-мапу без флаг-фильтра. Retention → DoppyEvents.firebase_doppy_raw (user_id → backend uid = splitByString(':',user_id)[1], любое событие = активность, когорта Jun 19, strict day-N + rolling R20; экспорт полон по Jul 15 — зрелы D1/D3/D7 и D14). Покупки → DoppyEvents.transactions (R16-якорь: transaction_type=marketplace_purchase_buyer, purchase_type=external, fiat_asset≠'', дедуп LIMIT 1 BY transaction_id; is_fraud НЕ фильтруется per R5/B7 — в transactions его нет; знаменатель CR — Market_Appear reachers 6 084 / 6 076; 18 покупателей unattributed, $108). GEO из $geoip_country_code — модальная страна по Session_Start (серверные события ресолвятся в DE). Эксперимент зарегистрирован в PostHog 06.07 («STREAK / Wallet after reg»), флаг активен, тест продолжается. CH-запросы через HTTP-интерфейс (curl) с прокинутым арм-мапом как external table.