Product analysis | Varsanovich
493 subscribers
17 photos
2 videos
5 files
60 links
Пишу про UX research, эксперименты и статистику, causaal inference и иногда сдабриваю мемчиками. 5 лет в аналитике. Связь: @DVars или linkedin.com/in/dmitry-varsanovich-2735aa147
Download Telegram
Сегодня напишу про главные принципы классических АБ тестов , а именно - SUTVA (Stable Unit Treatment Assumption) 👨‍🔬

Что же это такое и о чём эти принципы , в целом их два (моя авторская интерпретация, поправляйте если где то не прав ) :

1. Наблюдаемое нами поведение или состояние объекта эксперимента не зависит от воздействия на других участников эксперимента. (сетевое воздействие)

2.
В ходе эксперимента мы предлагаем участникам один и тот же вариант воздействия. То есть в ходе эксперимента не могут быть предложены различные варианты воздействия которые вызовут у испытуемого (пользователя) разную реакцию.

Примеры нарушения каждого из принципов

Касательно первого принципа
Представьте что у вас есть таксопарк и вы решили случайным образом повысить стоимость км на счётчике для половины водителей такси, а половине оставили всё как есть. Ваша цель понять, улучшит ли поощрительная мера Retention в 1ый месяц. Но таксисты любят разговаривать в перерывах, поэтому узнают что кто то стал зарабатывать больше, а кто то нет, в результате ребята из контрольной группы обиделись и начали уходить больше. Очевидно что в сложившейся ситуации нам не удастся выяснить помогла ли наша мера улучшить Retention в 1ый месяц или всё дело в обиде водителей. 🤔

Касательно второго принципа
Представьте что вы владелец 2 магазинов продуктов и хотите проверить гипотезу будет ли музыка в зале способствовать повышению среднего чека для покупателей. В одном магазине вы не включаете музыку, а во втором играет 1 час Оксимирон 💽, второй час Бетховен 🎹 , в третий час AC/DC🎸. В результате вам будет достаточно сложно оценить какая же музыка заставила или не заставила людей покупать больше и скорее всего придётся перезапускать эксперимент , если люди ещё будут ходить в этот ваш магазин 😂
👍5🔥2🤣1
🛎 Пост про деливеринг результатов эксперимента (Часть 1)

Читал достаточно много постов на Linked in про то как надо делиться результатами экспериментов со стейкхолдарами и решил написать о своём видении.

Начну с того что я считаю правильным предоставлять результаты в нескольких форматах , а именно разницу между контрольной и тестовой группой , доверительный интервал этой самой разницы и собственно p-value (но не в числовом выражении а как категориальный параметр: высокая уверенность, слабая уверенность, не стат значимо).

Почему считаю правильным показывать именно эти метрики в таком формате ?

Разница между контрольной и тестовой группой.
Хотя с точки зрения статистики конкретная разница является только частью доверительного интервала возможной реальной разницы, считаю что важно её тоже подсвечивать, так как для людей без бэкграунда в статистике гораздо легче будет воспринимать более "сложные" понятия если они начинают знакомиться с результатами в том формате который для них близок, а именно разница между двумя группа x - y = z , а не сразу переходить к тому наша разница лежит где то вот в этом доверительном интервале 🤓

Доверительный интервал разницы статистик
Правильно подсветить коллегам, что всё таки реальное изменение метрики не обязательно равняется тому что мы наблюдаем в конкретном тесте, а лежит в интервале от (x до z) с высоким уровнем вероятности. Что бы подогреть интерес можно ещё добавить месячный прирост или убывание доходов от минимальной границы дов интервала до максимальной, если применимо.

p-value как категориальный параметр
Дело в том что во фреквентистком подходе к статистике смысл p-value достаточно не тривиален , поэтому грузить им неискушённую публику не вижу смысла. А донести до людей уровень уверенности в результатах всё таки хочется.

P.S. в следующей части расскажу про особенности интерпретации результатов и как вышеупомянутые метрики помогают в объяснении стат значимых и не стат значимых изменений стейкхолдерам.

Если есть какие-то идеи, предложения, буду рад узнать о них в комментах.
А также если было интересно или полезно ставьте реакции 🙏
🔥7👍2
В среду с 20:00 до 21:00 состоится мероприятие : Virtual Meetup: AMA with Ronny Kohavi (ex. VP Airbnb, Microsoft, Amazon и кстати один из людей придумавших CUPED), на котором можно будет задать вопрос Рони , ну и послушать как он отвечает на вопросы других участников.

Ссылка на регистрацию
🙏4
⚡ В Microsoft Excel появится Python.
Ребята из Microsoft совместно с Anaconda уже сделали эту доработку и уже вот вот скоро будет релиз. Обещают что в Microsoft Excel появится возможность использовать алгоритмы для ML, библиотеки визуализаций и так далее, в общем делать всё то что мы можем делать в Python.

P.S. я не думал что я когда нибудь вернусь в Excel после ухода из финансовой аналитики, но теперь я уже не уверен 😂

Читайте всё сами
🔥8😁3👍2😱1
#мысли
🛎 Пост про деливеринг результатов эксперимента (Часть 2)

Как обещал выше, в этой части поста расскажу про особенности интерпретации результатов эксперимента, а также ошибки и как доверительный интервал разницы статистик и категориальный p-value могут вас выручить в интерпретации результатов.

Основные ошибки по интерпретации результатов 🚫

Вот какую я разницу получил между двумя группами, вот на столько мы и улучшились/ухудшились 🤓
Нет, так как действительная разница (если она есть) между двумя группами лежит в определённом диапазоне с определённой вероятностью и мы не можем её определить одним конкретным числом и сказать, вот у нас разница N% и всё, так не получится.

Мы увидим после раскатки фичи то самое улучшение в метрики в конце дня/месяца/года. 🤌
Нет, не увидите. И это не произойдёт по многим причинам: сезонность, выкатывание друг фич в других домейнах, изменение маркетинговых каналов и так далее.

А теперь про интерпретацию 💯

Cтат. значимый результат 💥
Рассказывать стейкхолдерам про него проще конечно 😅
А именно: мы получили такое то изменение между двумя группами, когда мы раскатим изменение на остальных пользователей мы можем ожидать что эффект на метрики от данного изменения будет лежать в диапазоне от X до Y (ваш доверительный интервал разницы метрик). Также можете добавить, что имеете высокую или слабую уверенность что метрики двух групп отличаются друг от друга.

Не стат. значимый результат 🌚
Вот тут уже случай по интереснее, особенно когда не стат значимо положительный результат, так как уже разработали, потратили деньги и так далее.
Тут важно коллегам подсветить что хоть результат и положительный , но когда мы раскатим фичу на остальных пользователей мы можем ожидать изменение метрики в доверительном интервале той самой разницы метрик, а он , друзья , затрагивает отрицательные значения. Значит что если вы раскатываете такую фичу то есть вполне себе вероятность что вы ухудшите метрику. На сколько ? Это уже другой вопрос, но вы обязаны это подсветить .

Что же делать ?
Я обычно в таких спорных ситуациях ухожу считать деньги 💰. А именно говорю, ребят ну смотрите, если мы раскатим эту фичу, то есть шансы что мы ничего не потеряем и не заработаем, но также есть шансы что мы недополучим столько 💵 за месяц , и столько 💰 за год, но конечно мы может и что-то заработаем (тоже даю расклад по деньгам). После такого брифа коллеги начинают осознавать риск и думают чуть под другим углом..

Спасибо, что дочитали. Если вы с чем-то не согласны, хотите что-то добавить, то буду рад видеть вас в комментариях к этом посту.

Если же пост показался вам полезным, буду благодарен, если поставите реакции 🙏
🔥11❤4👍2
Всём продуктивной недели и стендапов 😂
😁12🔥3
Так как лишь малая часть среди вас знает меня лично, появилась идея представить и написать про, свой бэкграунд. Что думаете?
Final Results
86%
Да, было бы интересно узнать
12%
Мне в целом без разницы
2%
Нет, я и так про тебя всё знаю.
#ресурсы
Polars
🐻‍❄ vs Pandas🐼

Сейчас продолжаю пилить библиотеку для АБ тестов внутри компании и очень понадобилось мёрджить два дата фрейма в ходе симуляций, и дело в том что в Pandas 🐼 этой действие занимает ну прям много времени, поэтому пришлось искать альтернативу побыстрее. Единственная известная мне на сегодняшний день альтернатива - Polars🐻‍❄.

Polars🐻‍❄ это по функционалу тот же Pandas🐼, но написанный на Rust, когда Pandas🐼 был написан на наборе языков (Cython,Python,C), что даёт первому преимущество в скорости.

В принципе если вы работали с Pandas🐼, то с Polars🐻‍❄ тоже разберётесь быстро, но манипуляции со столбцами, мёрджи, создание новых столбцов делаются по другому с точки зрения кода.
Поэтому поделюсь с вами статьёй на Medium где описаны основные команды которые могут пригодиться, если решите попробовать.

P.S. прикладываю скрин перформанса Polars🐻‍❄ vs Pandas🐼 inner мёрджа двух датафреймов по 40 к в каждом. Побеждает 🐻‍❄ c двукратным преимуществом.
🔥12👍1😱1
Product analysis | Varsanovich
Так как лишь малая часть среди вас знает меня лично, появилась идея представить и написать про, свой бэкграунд. Что думаете?
Обо мне


Я Senior Product Analyst в компании Gett (ex. Gettaxi) , работаю в аналитике уже 5 лет, живу временно на Кипре 🏝

Из них 2 года я успел поработать в Билайне на позиции бизнес аналитика (занимался операционной аналитикой) и экспертом по фин анализу (прям в самом финансовом департаменте).

Ну и соответственно 3 года уже вовлечён в продуктовую аналитику, начал с МТС , там поработал 1 год, и вот уже 2 года таксую 🚕

Перебраться из фин аналитика в продуктового мне помог на тот момент Яндекс Практикум (я наверное был в одном из первых потоков), за что я ему благодарен 🙏
Но хочу честно добавить что в принципе мне он неплохо помог с Python и в целом свой путь в Python я начал с него, а вот SQL если я правильно помню у ребят тогда был слабый, и качался я по sql_ex
А статистику на первых порах по Карпову на Степике)

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

Из интересного, в начале марта 2022 за 3 недели получил в оффер в Швецию в H&M 👕 , но в итоге не поехал потому что Gett предложил более хорошие условия и ребята из H&M отменили удалёнку, что для меня было критично... Но я надеюсь, что всё таки туда ещё доеду, когда нибудь 😁🤫

Из таких вот целей и мечт, хочу поработать в какой нибудь очень крутой компании типа уровня FAANG и помочь сделать что-то полезное для мира 🌍

Приятно со всеми познакомиться, пишите вопросы, если есть, рад буду обсудить 🙃
👍17🔥12❤2👏1
#обзор_research_paper
Пост про кореллированную внутри себя выборку


Есть такая жизненная боль, друзья, называется анализ и дизайн АБ тестов, когда единица рандомизации юзер, а метрики которые ты сравниваешь - сессионные и как бы это просто дьявольская история. Почему?😈

(начинающие аналитики Heads up!!!) Причина в том что нарушается ЦПТ (надо что бы все точки в вашей выборки были независимы друг от друга) и уже нельзя использовать z-test, t-test для дизайна и анализа эксперимента, так как вероятность увидеть разницу там где её нет этими тестами возрастает. 🥲

На помощь приходят линеаризация и бутстрап(не люблю его), а их мощность можно оценивать только симуляциями Монте-Карло что долго и больно, а ещё само перемешивание таких выборок делается геморройно😡

Нашёл свежий research paper по АБ тестам от ребят из Apple (17 Aug 2023), в которым рассказывается как можно адаптировать дельта метод под эти нужды и внимание: оценивать мощность при помощи формулы. Приложил его сверху 🔝

С͓т͓а͓в͓ь͓т͓е͓ 🐳 если хотите что бы я сделал разбор этого метода в одном из следующих постов.
🐳28👍5❤4
Product analysis | Varsanovich pinned «Обо мне Я Senior Product Analyst в компании Gett (ex. Gettaxi) , работаю в аналитике уже 5 лет, живу временно на Кипре 🏝 Из них 2 года я успел поработать в Билайне на позиции бизнес аналитика (занимался операционной аналитикой) и экспертом по фин анализу…»
#вакансии
Дружеский пост
🤝
Мой бывший руководитель в МТС Боря , ex Yandex, ex Sber (сейчас уже CPO HR-tech) ищет продуктового аналитика в направление HR-tech MTC. Конкретно про Борю скажу что он 100% адекватный и Data driven Product Manager с которым можно и в огонь и в воду.

Единственное что желателен человек с опытом , так как аналитические процессы придётся выстраивать самому и направлять Борю и его команду на новые крутые инсайты. Со своей стороны скажу, что у ребят из Big Data MTC есть неплохая ,как говорят, библиотека по АБ тестированию, значит всё таки по каким то техническим вопросам можно будет найти собеседника. И также повторю что Боря крутой продакт поэтому если в дальнейшем хотите сделать переход в Product Management, то тоже стоит обратить внимание на вакансию. Вот описание, отправляйте резюме вот сюда @Boris_Goncharov :

Про команду:
Мы - HR Tech стрим «Найм и Подбор». Нашими продуктами ежемесячно пользуются десятки тысяч кандидатов и тысячи сотрудников.
Мы строим крутой цифровой опыт наших новых коллег, их руководителей и рекрутеров, а так же формируем привлекательный бренд работодателя. Продуктовый аналитик в нашем стриме решает задачи, которые связаны с поиском точек роста и решением проблем в запущенных сервисах, а так же участвует проектировании нового функционала, запуске и анализе результатов A/B тестов.
Работать можно из любой точки РФ)

Наш кандидат:

- Проектировал ключевые и прокси-метрики продуктов
- Размечал событиями web – приложения
- Искал точки роста, основываясь на данных и формулировал продуктовые гипотезы
- Знаком с Python и SQL
- Имеет опыт создания отчетов в BI системах
- Имеет опыт работы с системами аналитики – такими, как Amplitude / Mixpanel / Yandex Metrica / Google Analytics / etc
- Имеет опыт проведения A/B, анализа продуктовых метрик
Опыт участия в формировании продуктовой стратегии или бизнес плана - как дополнительный плюс.

Пример задач, с которыми предстоит столкнуться:
- Сформировать дашборды с ключевыми продуктовыми метриками для карьерного сайта job.mts.ru и системы пребординга МТС Hello, построить регулярный репортинг этих метрик для стейкхолдеров и продуктовых команд
- Построить единую воронку из job-бордов в этапы собеседований, преборд и успешность адаптации
- Исследовать и предложить точки роста для job.mts.ru и онборд
🔥6❤2
#обзор_на_книжку
Книжка для знакомства и старта разработки на Python 🐍

В этом посте хотел поделиться и порекомендовать вам книжку по Python , а именно : "Изучаем Python" Эрик Мэтиз .

На самом деле много кто её рекомендовал в разных телеграмм каналах, но хотел тут выразить своё мнение и понимание ценности данной книги и в целом поделиться своим кейсом как я к ней пришёл. 🚶

Дело в том что как я писал выше, я начал своё знакомство с Python c Яндекс Практикума и по окончанию курса я достаточно свободно себя чувствовал с Pandas, но вот что-то разрабатывать на Python я просто не умел и не понимал как, то есть как создать библиотеку, что такое Объектно ориентированное программирование это всё для меня было мимо (для аналитика в начале пути это наверное всё и не нужно, поэтому ЯП я не закидываю тапками, не подумайте) , но по мере своего развития и чтения кода более опытных коллег понимание этих всех концептов становилось важным, так я и набрёл на "Изучаем Python" Эрика Мэтиза. 👨‍💻

Данная книжка это как бы учебник по Python для начинающих не аналитиков, а я бы сказал разработчиков, но написанная для людей без бэкграунда в IT . Она поделена на сегменты и предполагает выполнения заданий с вашей стороны после каждой главы и по прохождению теории вам будет предложено несколько глав с проектами, где вы разработаете игру для ПК , сделаете веб приложение на Django и повизуализируете данные при помощи Matplotlib и Plotly.

Но сразу вам говорю, что Pandas вы там не увидите. ‼

Если вы всё таки прочтёте мой пост и прочитаете - проработаете книжку, то вы сможете разобраться как создавать классы, напишите свою первую библиотеку, разберётесь получше с визуализацией и в целом разовьётесь с точки зрения разработки, что я считаю важным для Middle - Senior специалистов в аналитике. 👴

P.S. ссылка на книгу в магазине, но если не захотите покупать, то на просторах интернета она лежит бесплатно.
🔥6👍3
#ресурсы
Много кто наверное слышал про YouTube канал Statquest, где весёлым образом рассказывают про статистику и ML (весёлым потому что песни поют в начале связанные с темой ролика 😂) , но я нигде не встречал что бы рассказывали про другой крутой канал 3BluesBrown.

Как мне кажется этот канал хорошо дополняет 1ый, так как на Statquest больше про статистику а тут Линал и Матан, но не на формулах, а скорее используют геометрический подход. 📈👨‍🏫

Насчёт Creditibillity, контенту канала можно доверять потому что автор выпускник Стэнфорда по математике 👨‍🎓
Ну и другие ребята которы помогают делать контент - профессоры из американских вузов.👨‍🏫

В общем если хотите вспомнить тему по статистике или терверу то вам на Statquest, если Линал, Матан то 3BluesBrown . 🤝

P.S. вот ссылка на 3BluesBrown на русском
👍11
Хотелки ✍

У меня знаете есть несколько хотелок , которые есть желание реализовать за своё пребывание в Gett, начну от большего и приду к меньшему:

1) У нас есть Feature rollout система которая помогает раскатывать фичи на группу в определённых сегментах, как бы что уже хорошо, но под неё нет аналитической системы, что бы можно было запускать тест и оно всё автоматически считало по выбранным метрикам и что бы правильно с точки зрения статистики 🥸 Это наверное номер 1 что хочется сделать. 💯

2) Хочу что бы у нас появилась Global Holdout группа. Если кто не знает, то это сохранение части вашей аудитории девственно чистой (без фичей) в течении квартала-полугода, что бы потом можно было понять как ваши фичи повлияли на метрики в течении периода и оценить совокупное влияние ваших фичей. Мне кажется это сильно нам помогло бы даже с точки зрения репортинга 📈

3) Было бы круто добавить бакеты 🗑 в нашу Feature rollout систему. Это позволило бы перезапускать эксперименты, если мы не уверены в наших результатах по текущему АБ тесту, без вреда для наших пользователей. Мне кажется полезная штука, так как порой бывает что раскатали фичу, что-то поломалось но вот знаете вот так вот совсем чуть чуть - немного повлияло на UX и вот эта вся история (бесит конечно) , а так у нас есть ещё одна корзина свежих нетронутых юзеров. Или когда p-value = 0.05. В этом случае если зареранить эксперимент есть способ посчитать совокупный p-value по 2м экспериментам который придаст уверенности вашим результатам и поможет принять взвешенное решение. (вот вам ещё google sheet Рона Кохави где он это всё дело считает)

А какие у вас есть хотелки на работе?)😅
👍3❤2🔥1
Пообедали с подписчиком 🍕

Сегодня созванивались с подписчиком этого канала во время обеда, он пока что в раздумьях насчёт перехода в аналитику и в целом ему хотелось изнутри понять в чём вообще заключается работа , какие задачи, мои будни и так далее. По мимо этих моментов поговорили про управление командой и вообще карьере (у человека есть опыт руководства) , он поделился со мной своими взглядом на вещи. В общем отлично пообщались 😊

Я это всё к чему, если у вас есть какие-то вопросы или что-то хотите обсудить по теме аналитики-АБ тестов, не стесняйтесь , пишите в личку, буду рад пообщаться. Для меня это тоже своего рода развитие и может мне что-то интересное расскажите. Но конечно по возможности и загрузке 👍

На всякий случай подпишу что это бесплатно 😂
❤7👍3
Почему считать MDE и мощность после эксперимента не имеет смысла и это в целом плохая идея ? 🤌 (часть 1)

Пока был в дороге , успел прочитать и разобрать research paper на тему если по русски: "Почему делать power analysis после проведённого эксперимента не нужно ?" Напоминаю что под Power analysis в индустрии подразумевают расчёт Minimum Detectable Effect (писал про него ранее в этом посте) и расчёт мощности.

Так вот собственно основные хайлайты статьи почему после проведённого эксперимента проводить этот вид анализа не нужно :

• Один из способов применения power analysis для анализа результата эксперимента не стат значимого изменения – расчёт вероятности отклонить нулевую гипотезу при полученных результатах . Данный подход используется для подтверждения нулевой гипотезы , аля если мы наблюдаем высокую мощность для нашего изменения , но всё равно видим что результат не стат значим, то нулевая гипотеза верна (разницы между двумя группами нет). В статье же доказывается что получить высокую мощность при большом p-value для одного и того же эффекта в принципе невозможно, так как мощность по сути напрямую зависит от p-value. – в целом никогда этим и не занимался 🤔

• Второй способ уже поинтереснее, порой мы считаем MDE на полученных не стат значимых результатах эксперимента , таким образом мы хотим сделать вывод что чем меньше у нас MDE, тем больше мы имеем подтверждение того что разницы между двумя группами на самом деле нет.
Так вот, в статье доказывается что данное утверждение не имеет смысла, так как возможна ситуация когда мы сравниваем два эксперимента и оба результата не стат значимы и у 1го эксперимента может быть MDE ниже чем у 2го, то есть следуя вышеупомянутой логике можно сделать вывод что результаты первого эксперимента свидетельствуют в пользу нулевой гипотезы больше чем результаты второго.
Данный вывод будет ложным, так как p-value 1го эксперимента может были меньше чем p-value второго (как мы помним p-value и мощность линейно зависят друг от друга) , что означает что ситуация на самом деле обратная. 1ый эксперимент наоборот меньше свидетельствует об отсутствии изменения, чем 2й эксперимент. Что опровергает вышеописанную гипотезу об статистическом выводе 🚫

Так ребят, это немного новый для меня формат, поэтому если хотите что бы продолжал разбирать для вас статьи , ставьте 🐳 (Сама статья выше 🔝)

К этому посту будет вторая часть где пойдёт речь о сравнении конф интервалов и MDE а также общий вывод, оставайтесь на связи 😊
🐳15👍2🤔1