Что и как делаем?
Что именно мы делаем
Section titled “Что именно мы делаем”Мы запускаем эксперимент: небольшой части пользователей показываем вариант A, другой части — вариант B, и сравниваем результат. Результат — это не «красиво/некрасиво», а метрика: клики, покупки, регистрации, удержание.
Чтобы это работало, продукту нужны две способности:
- получать значение флага и на его основе показывать правильный вариант;
- отправлять в платформу события о том, что произошло после показа.
Где это живёт в приложении
Section titled “Где это живёт в приложении”В продукте заранее есть место, где выбирается вариант поведения.
В примере ниже цвет кнопки управляется флагом button_color.
То есть в коде продукта есть простая логика:
“Мне нужен цвет кнопки → возьму его из A/B‑платформы → нарисую кнопку таким цветом”.
Важно: продукт не анализирует и не считает статистику. Он просто:
- спрашивает “что показывать?”
- показывает
- отправляет “что произошло?”
Как аналитик запускает эксперимент
Section titled “Как аналитик запускает эксперимент”Аналитик создаёт эксперимент на фича‑флаге button_color.
При создании он задаёт:
- варианты (например,
blueиred); - долю аудитории (например, 20%);
- метрику, по которой оцениваем эффект (например, «покупка» или «клик»).
С этого момента платформа готова отвечать приложению: кому какой цвет показывать.
Что происходит, когда пользователь открывает экран
Section titled “Что происходит, когда пользователь открывает экран”Вот пользователь открыл экран с кнопкой.
Приложение в этот момент делает очень простую вещь: просит у платформы значение фича‑флага.
Мини‑пример
Section titled “Мини‑пример”personId = "u42"defaultButtonColor = "green"
buttonColor = ab.getFeature( featureName="button_color", personId=personId, fallbackValue=defaultButtonColor,)
renderButton(text="Купить", color=buttonColor)Если пользователь попал в эксперимент, платформа вернёт “blue” или “red”.
Если не попал — вернёт default значение флага.
В этом примере default для button_color — green.
Для Лотти это важно: эксперимент не требует отдельных релизов “под синий/красный”. Всё переключается настройками.
Как платформа узнаёт, что было дальше
Section titled “Как платформа узнаёт, что было дальше”Показать вариант — половина дела. Нужно понять, что случилось после.
Поэтому приложение отправляет ивенты.
Ивенты — это короткие сообщения вроде “кнопку показали” и “на кнопку нажали”.
Мини‑пример
Section titled “Мини‑пример”# экран показалиab.sendEvent("buttonShown", personId="u42", props={"screen": "checkout"})
# пользователь нажал кнопкуab.sendEvent("buttonClicked", personId="u42", props={"screen": "checkout"})Платформа собирает эти события и потом сравнивает: в каком варианте кликов/покупок получилось больше.