Маркет: кому что показывать

SWIPIX · Маркет · 4 сентября 2026 · K. Кутовой

Маркет: кому что показывать

Четыре полки вместо одной общей. Кому какие три карточки в каком порядке, что убрать — и на каких двух фактах это держится.

Сейчас средний чек
$6.46
110 покупок и $712 в неделю. Медиана $3.09 — весь объём делает одна нижняя ступень
Вторая покупка после $3.09
$12.83
Апгрейдятся 100% из тех, кто зашёл за $3.09. Дешёвая карточка не портит чек — она его разгоняет
Доходят до второй покупки
8.2%
65 человек из 884 за 90 дней. Вот где настоящий потолок выручки, а не в цене карточки

01 · главное

Четыре полки

Порядок карточек — слева направо, как их видит человек. Скидочные ступени показаны с зачёркнутой ценой: это отдельные офферы в каталоге, а не рисованная скидка.

Ещё не покупал · гео 3–6 15 309 активных/нед · 80% всех покупок

Вход не трогаем: у тех, кто зашёл за $3.09, вторая покупка $12.83 и апгрейд стопроцентный. Меняем только третью карточку — вместо второй дешёвой ставим якорь со скидкой.

Карточка 1 · вход $3.09 boost.standart · id 11 61% всех покупок и 29% выручки. Трогать нельзя: A/B 19.08 без него дал 1.2% против 2.5%
Карточка 2 $6.18 boost.prime · id 12 23% покупок. Естественная вторая ступень, после неё 75% берут уже ≥$10
Карточка 3 · якорь $16 $20 boost.special · id 48 · −20% Скидочная ступень продаётся в 4 раза лучше полной. Сейчас на её месте стоит $12.30 без скидки
Убрать$20 boost.ultra (id 13) и $30.90 boost.proplus (id 3) — полные версии, которые каннибализируют собственные скидочные клоны

Эффект: +$7/нед — 25 покупок за 90 дней перетекают с полных ступеней на скидочные, плюс полка становится короче на две дублирующие карточки.

Ещё не покупал · гео 1–2 1 930 активных/нед · из них 553 в тире 1

Тир 1 сейчас вообще не видит ступеней $3.09 и $6.18 — они закрыты фильтром country_tiers: [2,3,4,5,6] у офферов 11 и 12. Вход для США и Германии начинается с $12.30, и конверсия там 0.67% — вдвое ниже базы. Возвращаем им $6.18 как вход.

Карточка 1 · вход $6.18 boost.prime · id 12 · добавить тир 1 В тире 2, где эта ступень видна, конверсия 0.86% против 0.67% в тире 1 при почти том же чеке
Карточка 2 $12.30 boost.pro · id 4 Медианная покупка богатого гео — ровно эта ступень. 40% их покупок здесь
Карточка 3 · якорь $16 $20 boost.special · id 48 · −20% 20% покупок тира 1–2 уже приходится на эту ступень — она у них лучше всех работает
Не возвращать$3.09 в тир 1 — их средний чек $11.31, самая нижняя ступень его только размоет

Эффект: +$9/нед, если конверсия тира 1 дотянется до уровня тира 2. Правка одного поля в админке, разработки нет. Оговорка честная: у тира 1 всего 8 покупок за 30 дней — это на грани шума, поэтому читать накопительно.

Уже покупал, потратил меньше $10 727 активных/нед

Главная полка по деньгам. У всех, кто купил хоть раз, следующая покупка стоит в среднем $12.83–12.87 независимо от того, с какой ступени они начали. При этом 28% повторных покупок сейчас снова уходят в $3.09 — просто потому, что он стоит первым.

Карточка 1 · вход $12.30 boost.pro · id 4 Ровно тот чек, который эти люди по факту платят вторым заходом
Карточка 2 · якорь $16 $20 boost.special · id 48 · −20% 57 покупок за 90 дней против 14 у полной $20 — самая продаваемая ступень верхней половины
Карточка 3 $24.72 $30.90 boost.extra · id 49 · −20% 29 покупок против 11 у полной $30.90. Потолок, до которого повторные реально доходят
Убрать$3.09 с первого экрана — но оставить в каталоге ниже. Мы меняем порядок, а не отбираем выбор

Эффект: +$27/нед, если половина повторных покупок по $3.09 сдвинется на $12.30. Это самая безопасная правка списка — человек уже прошёл платёж, барьер снят.

Потратил $10 и больше 166 активных/нед

Единственная группа, которой верхняя полка вообще уместна: у начавших с $16–20 следующая покупка $20.40, у начавших с $24+ — $31.60. Здесь и только здесь есть смысл в $51.50.

Карточка 1 · вход $16 $20 boost.special · id 48 · −20% Их привычная ступень, дальше она же работает как точка отсчёта
Карточка 2 $24.72 $30.90 boost.extra · id 49 · −20% 92% их следующих покупок дороже $10, треть — дороже $24
Карточка 3 · якорь $51.50 boost.elite · id 14 9 покупок за 30 дней и 15% всей выручки Маркета. Самая доходная карточка на один показ
Убратьвсё дешевле $12.30 с первого экрана

Эффект: небольшой в абсолюте — группа 166 человек. Но это та полка, ради которой имеет смысл включать boost.legend $103, когда до него дойдут руки: он уже заведён в каталоге и просто выключен.

02 · на чём это стоит

Два факта из данных

С чего начал → сколько платит в следующий раз

Начал с $3.09$12.83 ×4.2
Начал с $6.18$12.87 ×2.1
Начал с $12.30$12.87 ×1.0
Начал с $16–20$20.40 ×1.1
Начал с $24 и выше$31.60 ×1.3

Все, кто зашёл за $3.09, во второй раз платят больше — апгрейд 100%, и больше половины сразу берут ступень дороже $10. Поэтому дешёвую карточку нельзя убирать: она не «дешевит» продукт, а работает воронкой в середину полки. Данные: 90 дней, без фрода, только бусты.

Скидочный клон против полной цены · 90 дней

$16 — скидка с $2057 покупок
$20 — полная14
$24.72 — скидка с $30.9029
$30.90 — полная11

Одна и та же ступень со скидкой продаётся в 4.1 и 2.6 раза лучше, чем без неё. При этом обе версии висят на полке одновременно и дублируют друг друга по цене. Отсюда правило: любая карточка выше $12.30 на полке должна быть скидочной, а полные близнецы — уйти.

СтупеньПокупок за 30 днейДоля покупокДоля выручкиКто берёт
$3.09 · standart28961.0%29.2%новички и гео 5–6
$6.18 · prime10722.6%21.6%вторая ступень везде
$12.30 · pro326.8%12.9%медиана гео 1–2 и повторных
$16 · special −20%183.8%9.4%повторные и гео 1–2
$24.72 · extra −20%81.7%6.5%повторные с тратами $10+
$51.50 · elite91.9%15.1%7 человек, в основном NG и RU
$20 и $30.90 полные40.8%3.0%почти никто — убрать

30 дней, без фрода, только бусты: 474 покупки, $3 061. Девять покупок по $51.50 дают столько же выручки, сколько 150 покупок по $3.09 — но их делают семь человек, и это не сегмент, а совпадение.

03 · промо

Скидки и промокоды по сегментам

Механика промокодов уже работает в проде — таблица DoppyEvents.promocodes__usage, 4 822 события с марта. Живой код ровно один: FIRSTBOOST, скидка 10%. И он показывает, чем публичная скидка отличается от адресной.

Публичный код FIRSTBOOST · за полгода

Код показан907 чел
Применили553
Купили454 82%
Из них НЕ фрод8 1.8%

Конверсия 82% — не успех, а диагноз. 98.2% купивших по коду оказались фродом. Чистой выручки код принёс $182 за полгода при $4 666 общей. В тире 1 из 63 применивших забанены 62.

Фрод по ступеням · 90 дней, все покупки

$11.07 — промокод −10%99.6%
$6.18 · prime77.4%
$16 — карточка −20%48.2%
$20 — полная41.7%
$24.72 — карточка −20%38.3%
$30.90 — полная8.3%

Важное различие: скидочная карточка на полке фрод почти не притягивает — 48.2% против 41.7% у полной той же ступени, разница в пределах шума. А публичный промокод притягивает его весь. Скидка в цене оффера и скидка по коду — это две разные механики с разными последствиями.

1. Закрыть публичный FIRSTBOOST гейтом Условие выдачи: is_banned = 0, trust_score ≥ 50 и хотя бы одна чистая покупка в истории. Сейчас код доступен всем подряд и работает приманкой для ферм — 82% конверсия в покупку при 1.8% чистых. Это не рост, а канал раздачи бустов под гарантию возврата. Заодно не чинить опечатки (FIRSTBOST, FASRTBOOST, FURSTBOOST — 25 человек не смогли применить): пока гейта нет, каждая исправленная опечатка это ещё один вход для фрода.
2. Адресный апгрейд-код на 495 человек Кто: купили чисто, активны последние 7 дней, trust_score ≥ 50, и ни разу не поднимались выше $12 — таких 495 из 550 активных чистых покупателей, средний траст 70. Что: персональный код −15% на ступени от $12.30 со сроком 72 часа. Почему именно им: у всех, кто уже купил, следующая покупка стоит $12.83–12.87, но 28% повторных снова уходят в нижнюю ступень. Код снимает ровно этот барьер и не касается тех, кто и так платит дорого.
3. Тем, кто уже дошёл до $12+ — скидку не давать 142 активных чистых покупателя уже брали ступень $12.30 и выше. Им работает верхняя полка из раздела 01 ($16 → $24.72 → $51.50), а промокод только срежет маржу на покупке, которая случилась бы и так. Скидка нужна там, где есть барьер, а не там, где есть привычка.
4. Trade-in вместо скидки В каталоге есть выключенный оффер с меткой trade_in (id 5) — механика зачёта старого буста заведена и не используется. Для апгрейда она лучше скидки: остаточная стоимость живого буста идёт в счёт нового, маржа не режется, а фрод-приманки не возникает вовсе. Стоит поднять до того, как раздавать проценты.
5. Спрос на промо есть, но качество ниже 474 человека вводили несуществующие коды — DOPPY, FREE, MAGIC10, SWIPIX, PROMO, GRATIS, FREEBOOST. Активны 392, но средний траст 45 и платили только 63. Публичные коды под эти строки заводить не надо. Разумный ход — на неверный код показывать не ошибку, а «промокод даётся за приглашение друга»: это переводит охотников за халявой в рефералку, где они хотя бы приводят людей.
Что система умеет и чего не умеет Единственный тип действия в промокодах — discount_percent, процентная скидка. Ни бесплатного буста, ни начисления валюты кодом выдать нельзя ни в SWIPIX, ни в Cheelee (там 21 код, средняя скидка 9.5%). Завести несколько кодов — тривиально; сделать «подарочный буст по коду» — это уже разработка.

Эффект адресного кода: повторная покупка сейчас 8.2% (65 из 793 чистых покупателей за 90 дней). Если промо поднимет её до 11–12%, это +15–20 покупок за квартал по ~$13, минус сама скидка — около +$15/нед нетто. Отключение публичного кода денег не приносит напрямую, но убирает канал, через который за полгода ушло 446 бустов под гарантию возврата.

04

Как это включается

Состав полки по сегменту Флаг MARKET_DYNAMIC_BOOSTS (PostHog id 100) читается сервером на GET /offers и подменяет список бустов. Payload варианта уже поддерживает и состав, и отсечку: {"boosts":[{"sku":"12","hide_above":6.18},{"sku":"4"},{"sku":"48"}]}. Клиент рендерит что пришло — релиз не нужен.
Гео без флага вообще У каждого оффера в базе есть своё поле filters.country_tiers. Полка для гео 1–2 меняется правкой этого поля в админке: добавить "1" оферу id 12. Это не разработка. ⚠️ offer_update — PUT, а не PATCH: не прислал is_active — товар выключится, не прислал position — сбросится в ноль.
Кто уже платил В PostHog есть swipix_segment_payer и swipix_payment_status — этого хватает для полок 3 и 4 по факту покупки. А вот порога «потратил ≥$10» в PostHog нет: deposits_usd не синкается, поэтому разделение полок 3 и 4 сегодня делается только на бэкенде.
Уже готовая ручка, о которой забыли У офферов есть starting_reward_limit — у $3.09 он равен 3, у $12.30 — 12, у капсульных клонов — 40. То есть механика «показывать карточку в зависимости от состояния юзера» уже работает в проде и настраивается в админке.
Перед запуском Включить ensure_experience_continuity=true — сейчас он выключен на всех 14 флагах Маркета, а синк сегментов переписывает свойства каждую ночь, и человек может перескочить между полками посреди покупки. И канареечная проверка условия: property-фильтры по swipix_* в бою не проверялись ни разу, а на другом флаге условие по гео молча не сработало.

05

Сколько это даст и чего не даст

Честная арифметика

Четыре полки — примерно +$40–45 в неделю, адресный промокод — ещё +$15. Вместе +8% к текущим $712/нед.

Средний чек при этом поднимается с $6.46 до ориентировочно $7. Правки дешёвые — одно поле в админке и один payload, — но и потолок у них соответствующий. Настоящий потолок выручки не в цене карточки: до второй покупки доходят 8.2%, 65 человек из 884 за 90 дней. Сдвинуть это число вдвое стоит дороже всей перестановки полок вместе взятой — и даёт вчетверо больше.

Убрать $3.09, чтобы поднять чек Проверено A/B 19.08: варианты без нижней ступени дали конверсию 1.2% и 0.9% против 2.5% в контроле, p<0.001. Плюс лестница апгрейда: зашедший за $3.09 во второй раз платит $12.83. Убрав вход, мы теряем и вход, и всех, кто по нему поднялся бы.
Показывать дорогое «дорогим» сегментам витрины Не работает: у core, whale, payer×withdrawer, social_active и авторов средний чек $6.4–6.8 при базе $6.46, и 60% их покупок — та же нижняя ступень. Сегменты витрины меряют внимание, а не платёжеспособность. Единственное, что реально делит людей по чеку, — гео и факт прошлой покупки.
Проверить перестановку полки A/B-тестом Не сходится по объёму: доля юзеров с чеком ≥$20 — это 0.06% базы, 17 человек за четыре недели. Минимально различимый эффект по ней 190% за четыре недели. Полки катим как продуктовое решение, читаем сдвиг микса ступеней описательно и держим guardrail «конверсия в покупку не упала больше чем на 20%».
Средняя полка $6.18 и $11.07 без фрод-гейта На ступени $11.07 из 287 покупок за 90 дней чистой оказалась одна, на $6.18 фрода 77.6%. Прежде чем поднимать людей на ступень вверх, надо закрыть скидочную цену от забаненных и низкого траста — иначе апселл ведёт в самый грязный слой каталога.

06 · инструмент

Оценка всех 19 флагов

Сегменты — это не машина роста выручки, а три разных инструмента: фильтр (кого исключить), триггер момента и рекламная ось. Ждать от них подъёма чека было ошибкой, и данные её показали. Ниже — что из витрины чего стоит.

ПолеВердиктПочему
activity_droppedТриггерЕдинственное быстрое и надёжное поле витрины: 26% свежесработавших были в приложении вчера. Остальные флаги стадии — пороги на счётчиках с задержкой
country_tierОсь чекаЕдинственное, что реально делит людей по номиналу покупки: медиана тира 1–2 на две ступени выше базы
creator_levelРычагПлоский флаг creator не даёт ничего, а уровень даёт: net от −$0.06 у неавторов до $2.45 у top
active_referralsРанний сигналОдин друг в первые 14 дней → возврат 32.2% против 13.4%. Сильнейший предиктор во всей витрине
mediation_tier
ad_tolerance_score
РекламаДве оси рекламной монетизации, честные по построению. Для покупок опровергнуты, для показов работают
coreПлощадка1 463 человека в неделю при конверсии 19.8% — единственный сегмент со статмощностью. Ценен как место для теста, не как «богатые»
payer × withdrawerИсключение472 в неделю, 15.9% чеков ≥$20, выручка на человека в 8.6 раза выше базы. Пара работает, каждая часть по отдельности — нет
payer / withdrawer
по отдельности
ТавтологияЭто буквально deposits>0 и withdrawals>0. Флаг payer выставляет та самая покупка, которую мы им объясняем
whaleЭндогененБуст умножает рекламную выручку, на которой построен флаг. Таргетить можно, объяснять им ничего нельзя
at_risk / churnedНе таргет41% и 30% базы при чеке как у базы. Плюс в PostHog они сломаны: 6.06% против 30.15% в витрине — синк обновляет только активных
high_ad_priceДля денег нетЧек $4.31 при базе $4.72 и конверсия 2.25% против 3.33% — это отрицательный фильтр, а не признак платёжеспособности
fullscreen_candidateМёртвСтоит на прогнозе, замороженном в первый день жизни юзера. Ноль покупок ≥$20 на 107 наблюдениях
referrerАртефактПосле удаления топ-1% транзакций падает ниже базы, t=1.04 при требуемом ≈3.2
social_activeФильтрКак триггер мёртв — за сутки 44 зажглось и 0 погасло. Как фильтр жив: возврат 25.4% против 15.5%
money_negativeСломанСчитает вывод по гроссу, игнорируя комиссию 52% → 41.5% разовых плательщиков помечены ложно
support_intentПротекание71 из 101 тикета «хочу купить» создан после покупки или в тот же день. Как предиктор запрещён
intentПустаяНоль заполненных из 38 тысяч строк. Убрать из витрины
new, growing, fading
burst, reuploader
РазрезыДля аналитики годятся, самостоятельных механик не несут. Чек $3.41–4.93 — это антисегменты платного

07

Гипотезы применения

Реклама

Рекламный контур даёт $360/нед против $712 у Маркета, но сегменты там честные: они построены из тех же рекламных данных, которыми потом и управляют.

1 mediation_tier 1–2 × ad_tolerance ≥ 60 с меткой reliable Повышенная частота показов и полноэкранная реклама. Дорогое внимание, умноженное на доказанную терпимость, — это и есть та монетизация, ради которой витрину строили. метрика: ad revenue per DAU · ограничение: reliable измерен у 3 309 человек
2 mediation_tier 1–2 × ad_tolerance < 40 Полноэкранную не давать вообще. Дорогой юзер, которого реклама раздражает, — это тот, кого мы теряем целиком ради одного показа. метрика: retention D7 внутри группы · это защита, а не рост

Удержание

Единственная зона, где есть объём для честного замера: +10% к D1 — это 5.9 стандартных ошибки, тогда как +10% к любой денежной метрике Маркета — меньше полутора.

3 activity_dropped, последняя сессия 1–2 дня назад Плашка над лентой, не пуш. Единственный сегмент, который бьёт в удержание в момент, когда ещё не поздно, — все остальные срабатывают, когда человек уже ушёл. метрика: возврат на следующий день внутри группы
4 active_referrals ≥ 1 в первые 14 дней Сделать целевым событием онбординга. Возврат 32.2% против 13.4% — это не про таргетинг, это определение здорового новичка, под которое стоит перестраивать первые дни. метрика: доля новичков с первым другом за 14 дней → D30
5 social_active как фильтр исключения Убрать их из возвратных коммуникаций: они возвращаются сами (25.4% против 15.5%), и каждое касание по ним — потраченный впустую бюджет. метрика: стоимость возврата на человека

Деньги

6 Факт прошлой покупки Полка начинается с $12.30, а не с $3.09. Не сегмент витрины, а простое «уже платил» — зато единственное, что реально работает: следующая покупка стоит $12.83 независимо от того, с чего человек начал. метрика: доля повторных покупок со ступени ≥$12.30
7 payer × withdrawer · 472/нед Верхняя полка и trade-in. У них 15.9% чеков ≥$20 — вчетверо выше базы, и это единственная пара флагов, пережившая проверку на выбросы. метрика: средний чек группы против базы
8 country_tier 1–2 Вернуть ступень $6.18 в тир 1, где вход сейчас начинается с $12.30 при конверсии 0.67% — вдвое ниже базы. Правка одного поля в админке. метрика: конверсия тира 1 против тира 2

Защита

9 trust_score + is_banned как гейт На любую скидку и промокод. Без него промо превращается в раздачу: публичный код дал 98.2% фрода и $182 чистыми за полгода. Оба поля есть в витрине и не синкаются в PostHog — это одна дата-задача. метрика: доля фрода в покупках со скидкой
10 Пересчитать money_negative По чистой выплате, а не по гроссу. Сейчас на этом артефакте стоят три запрета, и они запрещают не тем людям: 41.5% разовых плательщиков помечены убыточными ошибочно. метрика: размер группы до и после пересчёта

Контент

11 creator_level heavy и top 2 100 человек дают 64% всего контента. Гипотеза: «тема недели» на экране загрузки двигает наполнение ленты дешевле любой закупки. Без иммунитета от бана — среди top уже забанены 23%. метрика: нормальных роликов в неделю на автора

Куда бы я поставил

Гипотезы 1, 3 и 4.

Первая монетизирует ту самую ось, ради которой витрина и строилась, и делает это в контуре, где сегменты честные по построению. Третья и четвёртая бьют в удержание — единственную зону, где у нас хватает объёма, чтобы отличить эффект от шума. Всё, что про Маркет, — доводка на проценты: там 110 покупок в неделю, и статистики не будет ни при каком дизайне.