Doppy · PostHog A/B Experiment · Feature Flag

ANDROID_POST_REGISTRATION_DEEPLINK

Период: 19 июня – 2 июля 2026 (14 дней) Снапшот: 03.07.2026 Сплит: 50 / 50 Статус: DRAFT — флаг активен, тест идёт, эксперимент не запущен официально Метод: PostHog Events + ClickHouse (posthog_events_message)
Пользователей control
5 273
balance экран
Пользователей test
5 216
wallet/streak экран
Сессий / юзер
+5.1%
14.87 → 15.63
WhyBuyGlasses slides / юзер
+134%
21.2 → 49.6
Publish_Tap
+14.6%
5 830 → 6 679
Market Checkout Buy
−13.9%
1 156 → 995 событий
Control
deeplink → "balance"
После регистрации — экран баланса кошелька
Юзеров5 273
Событий2 817 440
Событий / юзер534.3
Test
deeplink → "wallet/streak"
После регистрации — экран streak-трекера
Юзеров5 216
Событий2 896 182
Событий / юзер555.3
Вовлечённость
общие показатели активности
Метрика Control Test Δ
Событий / юзер 534.3 555.3 +3.9%
Сессий / юзерSession_Start 14.87 15.63 +5.1%
Feed открытий / юзерFeed_Open 22.74 24.20 +6.5%
Media_View / юзер 183.7 182.1 −0.9%
Earn_Tap / юзер 5.68 5.60 −1.4%
Создание контента
видеозапись и публикация
Метрика Control Test Δ событий Δ / юзер
VideoCapture_Appear 28 280 31 931 +3 651 +14.1%
Publish_Appear 5 923 6 772 +849 +15.6%
Publish_Tap 5 830 6 679 +849 +15.8%
Create_Tap 7 464 8 307 +843 +12.5%
Воронка WhyBuyGlasses
ключевой сигнал теста
+134%
Одинаковое число юзеров, в 2.3× больше слайдов
До экрана WhyBuyGlasses доходит практически одинаковое число уникальных пользователей в обеих группах (1 130 vs 1 108). Но тестовая группа просматривает 49.6 слайда в среднем против 21.2 в контроле. Эффект стабильно воспроизводится третью неделю: streak-контекст делает оффер очков более релевантным — пользователи глубже изучают ценностное предложение.
Событие Control (события) Control (юзеры) Test (события) Test (юзеры) Δ событий
WhyBuyGlasses_Appear 2 111 1 130 2 261 1 108 +7.1%
WhyBuyGlasses_SlideView 23 543 1 110 54 380 1 097 +131%
WhyBuyGlasses_Swipe 21 489 986 52 180 989 +143%
Slides / engaged user 21.2 49.6 +134%
WhyBuyGlasses_Close_Tap 1 022 705 1 161 751 +13.6%
Монетизация (Market & Offer)
воронка покупки бустов
Событие Control (события) Control (юзеры) Test (события) Test (юзеры) Δ юзеров
Market_Appear 15 308 3 299 14 666 3 285 −0.4% юзеров
MyProfile_Boost_Appear 11 942 1 661 13 103 1 627 −2.0% юзеров
Market_Checkout_Appear 2 758 1 191 (22.6%) 2 913 1 261 (24.2%) +5.9% юзеров
Market_Checkout_Buy_Tapобщее число нажатий «купить» 1 156 625 (11.9%) 995 640 (12.3%) +2.4% юзеров
Offer_Glasses_Appear 2 519 1 126 2 397 1 124 −0.2% юзеров
Offer_Glasses_Buy_Tap 1 664 830 1 611 871 +4.9% юзеров
Streak активность
геймификация серий
Событие Control (события) Control (юзеры) Test (события) Test (юзеры) Δ / юзер
LongStreak_Banner_Tap 4 455 1 316 4 475 1 362 +1.6%
LongStreak_Watch_Tap 3 068 997 3 090 1 052 +1.8%
ShortStreak_Widget_Tap 3 356 1 509 3 608 1 514 +8.7%
Onboarding_StreakWarning_Appear 2 172 1 113 2 225 1 128 +3.6%
Onboarding_Congratulations_Appear 2 364 2 286 2 323 2 235 ≈0%
Retention D1 / D3 / D7
когорта 19 июня (989 vs 1 017 юзеров) — Firebase user_pseudo_id, strict day-N, все девайсы юзера
+0.7 pp
На Firebase-методологии преимущество теста по retention не подтверждается
Когорта 19 июня: 989 control и 1 017 test. D1 +2.5 пп в пользу теста (z=1.15, незначимо), но к D3 и D7 разница схлопывается до +0.5…+0.7 пп (z=0.2–0.3). Ранний вывод «+4 пп D7» из снапшота 30.06 (источник — daily_active_ids) на строгом расчёте по Firebase user_pseudo_id не воспроизводится. Firebase-экспорт полон по 28.06 — для D1/D3/D7 этой когорты данных достаточно.
День Control (989 юзеров) Control % Test (1 017 юзеров) Test % Δ (п.п.) Δ (относит.)
D0 (19 июн) 989 100% 1 017 100%
D1 (20 июн) 585 59.2% 627 61.7% +2.5 pp · н/з +4.2%
D3 (22 июн) 495 50.0% 514 50.5% +0.5 pp · н/з +1.0%
D7 (26 июн) 389 39.3% 407 40.0% +0.7 pp · н/з +1.8%
Реальные покупки (PayGate / транзакции)
DevEvents.L3_doppy_fct_marketplace_purchases · Jun 19 – Jul 2 · is_fraud=0 + дедуп LIMIT 1 BY transaction_id · price_fiat>0 · арм по PostHog-флагу ANDROID_POST_REGISTRATION_DEEPLINK → backend uid · CR/ARPU от дошедших до маркета (Market_Appear): 3 299 / 3 285
−49%
Разрыв по деньгам расширился: контроль набирает покупки, тест стагнирует
Снапшот 03.07. Control: 109 покупателей, $1 041 выручки. Test: 82 покупателя, $530. За неделю с прошлого снапшота контроль прибавил ~20 покупателей и ~$300, тест — практически ноль. CR от дошедших до маркета 3.30% vs 2.50% (−0.81 п.п., z=1.95, p≈0.051 — на грани значимости). ARPU/дошедшего $0.316 vs $0.161 (−49%). 13 плательщиков без арма (pre-Identify) вынесены в unattributed и не влияют на разрез.
Метрика Control (3 299 дошли до маркета) Test (3 285 дошли до маркета) Δ
Уникальных покупателей 109 82 −24.8%
CR покупки (buyers / дошли до маркета) 3.30% 2.50% −0.81 pp · p≈0.051
Выручка (fiat) $1 041.11 $530.47 −49.0%
ARPU (выручка / дошедшего до маркета) $0.316 $0.161 −48.8%
Первичных покупок (is_initial_fiat) 95 72 −24.2%
Повторных покупок 25 11 −56.0%
Разбивка по категории продукта
Категория Control — кол-во Control — выручка Test — кол-во Test — выручка
regularстандартный буст 96 $989.72 75 $515.85
specialпромо / подарочный SKU 21 $51.39 8 $14.62
DAU по дням
уникальные пользователи в каждой группе, продуктовые события (server-side $identify-батч 02.07 исключён)
Control (balance) Test (wallet/streak)

Выводы

01
Retention: преимущество теста не подтверждается. На строгой методологии (Firebase user_pseudo_id, когорта 19 июня, strict day-N) D1 +2.5 пп (61.7% vs 59.2%, z=1.15, незначимо), D3 +0.5 пп, D7 +0.7 пп (z=0.31). Вывод «+4 пп D7» из снапшота 30.06 (daily_active_ids) не воспроизводится — главный аргумент за тест ослаб.
02
Реальные покупки: контроль впереди, разрыв растёт. 109 покупателей vs 82, CR от дошедших до маркета 3.30% vs 2.50% (Δ−0.81 п.п., z=1.95, p≈0.051 — на грани значимости). Выручка $1 041 vs $530 (−49%), ARPU/дошедшего $0.316 vs $0.161. За неделю контроль прибавил ~$300, тест — ноль. Повторные покупки 25 vs 11, special SKU 21 vs 8. Методология: is_fraud=0, дедуп LIMIT 1 BY transaction_id, price_fiat>0.
03
WhyBuyGlasses: одинаковый охват, ×2.3 глубина просмотра. До экрана доходит одинаковое число юзеров (1 130 vs 1 108). Но тест просматривает 49.6 слайда vs 21.2 в control — эффект стабилен третью неделю. Streak-контекст делает оффер релевантным, но в покупки это по-прежнему не конвертирует.
04
Создание контента: тест стабильно сильнее. Publish_Tap +15.8%/юзер, VideoCapture_Appear +14.1%, Create_Tap +12.5%. Streak-механика мотивирует снимать видео. Если приоритет — UGC-supply и creator pipeline, тест лучше.
05
Итоговый trade-off сместился в пользу контроля. Тест → больше контента (+16% публикаций/юзер), чуть выше вовлечённость (сессии +5%), глубже изучает оффер. Контроль → деньги: ARPU ×2 (p≈0.051 по CR). Retention-аргумент за тест на Firebase-методологии исчез. Если решать по выручке — контроль; если по UGC-supply — тест.
06
Осторожно с интерпретацией. Флаг применён ко ВСЕМ пользователям (не только новые регистрации), когорта retention — существующие активные юзеры. Армы считаются по идентифицированным distinct_id (24-hex backend uid), поэтому размеры групп ниже, чем в снапшоте 30.06, где учитывались и анонимные device-id. Server-side батч $identify 02.07 исключён из DAU.
Источники данных (снапшот 03.07.2026, окно Jun 19 – Jul 2): PostHog events → DoppyEvents.posthog_events_message (флаг + события; арм = argMax по юзеру, identity = distinct_id 24-hex = backend uid). Retention → DoppyEvents.firebase_doppy_raw (user_pseudo_id, все девайсы юзера, когорта Jun 19, strict day-N; экспорт полон по Jun 28 — достаточно для D1/D3/D7, поэтому D14 не считаем). Покупки → DevEvents.L3_doppy_fct_marketplace_purchases (is_fraud=0 + дедуп LIMIT 1 BY transaction_id, price_fiat>0; знаменатель — Market_Appear reachers 3 299 / 3 285; 13 плательщиков unattributed, $105). Официальный эксперимент в PostHog — статус Draft (start_date = null), флаг активен, тест продолжается. PostHog Query API заблокирован Cloudflare WAF (error 1010).