Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
12 - Telegram Web
Telegram Web
О чем этот канал и кто автор?

Всем привет!
С вами Серега на связи. Сейчас я лид продуктовой и маркетинговой аналитики в X5, 5-чка, все A/B 5-ки проходят через мои руки.

Это - канал по статистике и циклу курсов по A/B-тестам за моим авторством.
Тут я буду постить посты о статистике и прод-марк. аналитике + буду информировать по новостям новых блоках/курсах в цикле "A/B-тесты".

Мне нравится писать просто о сложном, но только о таком сложном, которое я люблю и которое нахожу интересным, с фокусом на то, что могло быть интересно и читателю, конечно. В общем, я хочу сказать, что не собираюсь вам докучать графоманией и попусту беспокоить: не факт, что так не получится, но постараюсь вместе со своим коллегой Петром Ермаковым это минимизировать. Честно (да).

Естественно, моя цель вполне конкретна: интересный контент -> репорт -> больше аудитории -> больше органического трафика на поток, что дает мне возможность удовлетворить потребность в обучении других реального интересной науке - статистике! Ох, как она мне нравится! Ну и деньги получить за свой труд.

Сразу к делу: что по текущим возможностям в плане курсов?
У меня готова база базовая - "Базовый курс по A/B": там все нужная вам разжеванная теория, которая позволит не аки обезьянка клепать дизайн тестов за тестом, но проводить проверку гипотез вполне осознанно + вообще-то очень и очень охрененно понимать все эти якобы магические фразы как "требования нормальности данных", ошибки 1 и 2-го рода и пр. Буквально на кончиках пальцев, с ясным представлениями (=конкретные картинки в голове).

В планах:
1) Курс "Непараметрические тесты"
2) Курс "Продвинутое тестирование"
3) Курс "Байесовский подход в A/B-тестах"

Когда?
Не знаю. Кое-что есть для всех 3-х, но как показывает опыт базового курса, для качества каждый блок требует нескольких крайне напряженных месяцев работы. Поэтому when its done.

P.S. Добавил как участников прошлых поток, будущих так и просто тех, с кем бы хотел делиться, кому, уверен, это точно было бы интересно.
🔥13👍2
Пост №1

Слабые места найма аналитиков в наше время (давненько хочется этим поделиться публично)

С наступлением 2024 можно смело сказать одно: вот уже несколько лет идет идет порочная практика собеседований ребят на позицию аналитиков разного посола и разного уровня через то, чему противится мое сердце. От одного только воспоминания уж очень противно становится где-то слева в груди. И вспоминать не хочется вот об этом:

1. Задачки на теор.вер и прочую комбинаторику из серии “Достали урны из шаров”
2. Онлайн-кодинг решения задач из серии “преобразуйте один сорт неизвестной абстрактной субстанции в другой”.

Я думал над этим новомодным трендом, его истоками. Пришел к одному простому выводу, что это не более чем слепое копирование: “А вот в одной компании это применяют, давайте также!”. Оххх, ну что ж, еще один вредный фреймворк в нашем бытии.

Позитивный смысл в этом есть, конечно: уменьшение времени на скрининг кандидата. Да-да, нет-нет, все понятно, “мы вам перезвоним”. Но на этом все и заканчивается.

Понимаете, чтобы решать пункт 1 - нужно перед поиском работы, - давайте прямо, - подрочить учебник. Чтобы решать пункт 2 - подрочить литкод (при этом замечу с каких пор аналитики стали программистами?)

Скажите мне, пожалуйста, ребята, как часто вы: просто считаете вероятность хотя бы в самом ее простом виде? Как часто вы прикола ради преобразуете одно из другого в плане использования какого-то алгоритма?

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

Более того, вот скажите мне, вы когда делаете задачу, над вами стоит ваш руководитель, дыша вам в спину и смотря каждую запятую, рандомно вбрасывая “пять на шесть - сколько будет, а!?”. Нет. Если да, то вы похоже не там работаете, бегите оттуда. Я к чему: это не собеседование, а самый настоящий стресс-тест.

Сейчас мне тут накинут из тех, кто руку набил на этом, “не, ну нормальный опыт, полезна”. Ребят, давайте признаем: вас скорее всего это травмировало, вы пытаетесь найти хоть какой-то смысл в пережитом страдании (его нет), особо травмированные будут мучать так уже своих кандидатов, отыгрываясь. А если вас не травмировало, то либо вы мазохист, либо со синдромом студента.

Я открою маааааленькую тайну: в рамках собеседования не только компания смотрит на вас, но и вы смотрите на компанию. Вы общаетесь, это общение на равных - в конце концов, если есть вакансия, значит есть у компании потребность. Если есть потребность, значит она нуждается. То есть не только вам - работа, но и компании - работник.

Итого, собеседование не стресс-тест, это общение на сходимость компании и кандидата. Ключевое слово: общение. Так не пора бы начать общаться с людьми, а не ЕГЭшить их, тем более, что последнее уже не первую декаду сомнительно сказывается на качестве образования в стране?

В принципе, как исключение, допускаю, что 1 и 2-ое можно применять к стажерам/метящим в джунов. Оно и понятно: у них нет опыта, у них нечего по существую просить (не совсем так, см. ниже). Но для мидлов и далее - нет, еще раз нет!

Критикуешь - предлагай. Без проблем.

Собеседующим я предложу то, что сам практику:

1)
а) читать резюме - ведь зачем-то его пишут
б) спрашивать кандидата по его опыту

Уверяю, в рамках а) и б) можно узнать все необходимое в плане погруженности кандидата в предметную область и умение считать. С вас-то только и нужно, что умение читать и слушать.

Что спрашивать?
Например, как решал задачу, понимает ли кандидат то, чем пользуется и пр.
Если хочется узнать про понимание базы, так спросите о том, что нравится в математике, какая область? Почему именно она? Теор. вер. говоришь? А в чем его польза? Помнишь, про что теорема Байеса?

Ключевый момент: цеплятся за то, что вам скажут (для этого надо слушать). И это - честно, потому что никто кандидата за язык и руку не тянул: что сказал/написал, о том и спрос! (поэтому кандидатам - следите за тем, что пишете в резюме и говорите!)
👍92🔥2
2. Соберите максимально релевантное вашим задачам тестовое задание:

Например, я давал вымышленные по-юзерные данные и просил собрать мне совершенно обычные отчеты, иногда чуть посложнее, но что тоже встречается в рамках области; просил сделать дизайн A/B-теста на базе кейса; сделать небольшую разметку страницы/экрана; событий для маркетинга/продукта.

Тестовое задание должно быть такой сложности, чтобы его можно было сделать за вечер любого буднего дня. Там-то и будет видно код, как он написан, есть ли в нем комментарии.

Более того, это можно спокойно прочитать-ознакомиться, чтобы дать структурный фидбек (о фидбеке со стороны компаний это вообще отдельный разговор, по рынку с ним как было, так и осталось - ноль)

Кандидатам:

1. Отказывайтесь от урн из шаров и лайф-кодинга. Тут нужна смелость и осознание, что вообще-то вы кое-что из себя представляете. Поймите: если это будет массово, то компаниям придется поменяться исходя из объективных условий, а объективность задается большинством. Пара смелых и уверенных в себе ребят не переломят это.

2. В ином случае, готовьтесь, особенно если стажер/джун:
- читайте учебники: обычно, главы про введение в теорию вероятности и комбинаторику хватает с решением десятка простых задач и нескольких сложных. В целом, компании имеют склонность брать уже готовые из интернетов задачки, поэтому гуглите, записывайте и запоминайте. Лучше, конечно, понимать это, но тут уж как получится
- тренируйте литкод.

Да-да-да, это все фу-фу-фу, но что поделать, раз живем в таком тренде!

А на этом все. Есть у меня желание еще написать, как повысить свои шансы на собеседовании, но это как муза придет.
👍6
Вчера у Кантора (топ-менеджер и дата сатанист в МТС) в комментариях разразился маленький спор, который давно уже назревал в рамках обучения в IT, особенно платного. Кратко суть спора можно сформулировать так: “Как должен быть организован платный курс, чтобы был достигнут ожидаемый эффект от него - понимание изложенного материала?”

Люди разделились на два лагеря:
1) “студенты должны проявить много самостоятельной работы”, так как “это буквально лучший способ дать студентам понять тему””
2) “не должны” - гуглить можно и без курса, “открытых источников хоть жопой жуй”. Это преподаватель должен объяснять так, чтоб было понятно и без дз, без гугления и пр.

Правы оба лагеря, просто все зависит от того, чему вы учитесь.

Первый подход подходит в областях, где навык сильно связан с практикой: нельзя научиться программировать/пилотировать самолет/дрифтить на машине/боксировать/пр., прочитав учебнику. Данные навыки нарабатываются через простой алгоритм: рассказ, показ и умопомрачительная тренировка/отработка. Рассказ/чтение книги необходимо, чтобы минимизировать ожидаемые ошибки, но только тренировка встроит навык так, что он будет автоматом у вас проявлятся. Более того, только через сотню-другую часов вы сможете иначе взглянуть на то, что вам рассказывали, до вас “дойдет”.

Но к сожалению это не подходит для таких дисциплин как высшая математика, статистика, A/B, ML. Вы можете сотню раз применить формулы стат. тестов, но так и не понимать, что именно вы получили, с чем и почему вы это сравнили и пр. Да, наверное, на 100-ый раз вы будете аки обезьяна что-то осознавать, что если написали примерно так-то, то применяй примерно то-то: но предел этому Китайская комната: вам дали инструкцию, какие можно сочетать иероглифы, со временем вы будете это делать автоматом, но вы понятия не имеете, что именно вы сочетаете и что вы получаете.

То есть принцип: дадим домашки, наговорив с 3 короба, что они помогут, и попросим гуглить, - не работает в рамках этих наук (особенно учитывая то, что курс - платный)

Эти дисциплины можно освоить исключительно через внятное объяснение на пальцах, будто это объясняется ребенку. Точка. В рамках обучения статистики, МL работает только 2 подход: когда преподаватель разжевывает вам как мама-птичка эту интеллектуальную еду и раздает лично каждому. Самое главное суметь донести смысл: потому что те же A/B это не про опыт их рассчитывания от руки/в уме/во сне, это про понимание логики работы и понимания, почему и что когда работает, а когда нет. В этом смысле не надо ничего знать и запоминать, понимание даст и то и другое.

Показ куда нагляднее рассказа, поэтому те, кто знает английский, посмотрите ролик моего любимого канала по DS - StatQuest, - он настоящий гений преподавания. Всего за 20 минут вы поймете, как работает дерево решений, один из алгоритмов ML. Именно так и надо объяснять и показывать, вести курс! И совсем-совсем не даром у этого канала 1 млн. подписчиков (канал только о DS, Карл!).

Именно таким каналом, а также рядом других, я вдохновлялся, когда делал свой курс, чтоб вот на таком же уровне рассказывать и показывать (картинок у меня МНОГО!)
🔥10👍2
Нельзя провести ни один онлайн A/B тест, не снимания измерений по пользователям. Для веба или приложения для измерений активности пользователя вам нужны:

1) трекер
2) события на сайте

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

Об этом вышла моя статья в блоге у Яндекса у AppMetrica:
https://appmetrica.yandex.ru/ru/about/blog/appmetrica-x-pyaterochka

В конце есть спредшит-шаблон для разметки и скрипт, который преобразовывает этот спредшит в таблицу для бизнес/тех-требований.

Надеюсь, вам будет полезно!
👍8
- Является ли удачный АБ-тест доказательством продуктовой гипотезы?

Строго говоря, нет. Успешный тест является фактом, с которым сложно поспорить, но поспорить все же можно: дело в том, что в рамках дизайна теста всегда есть уровень значимости, - альфа, - как предел ошибки 1-го рода. Ошибка 1-го рода - это вероятность обнаружить эффект там, где его на самом деле нет. Поэтому если тест удачный (то есть прокрасился в нужную сторону), то мы вполне могли совершить ошибку 1 рода, то есть узнаем тогда и только тогда, когда выкатит в прод протестированную фичу.

Другое дело, что если ошибка 1-го рода у нас задана как маленькая, то это весомый аргумент в пользу того, что успешность неслучайна.

- Является ли неудачный АБ-тест доказательством ложности продуктовой гипотезы?

Тоже нет. Неудачный тест это также факт, который оспорим со стороны другой ошибки - ошибки 2-го рода как вероятности не обнаружить эффект там, где он есть. Если тест неудачный (не прокрасился), то это не значит, что закладываемого заранее минимального на обнаружение эффекта не было, мы могли совершить ошибку 2-го рода. Об этом мы вряд ли узнаем, так как неудачный тест в прод обычно не катят.

Другое дело, что у нас ошибка 2-го рода тесно связана с мощностью: вероятностью обнаружить эффект там, где он есть. Мощность = “100% - ошибка 2-го рода”. Отсюда если у вас заложена большая мощность перед тестом, то это весомый аргумент, что такого эффекта продуктовая гипотеза не имеет.

—-
Отдельно отмечу, что названия “ошибка 1 и 2 рода” в контексте возможности их совершить, когда ты читаешь про них без понимания их сути, кажутся сбивающими с толка по одной простой причине: не очень-то “ошибки” любят, далее начинают посещать мысли “а поэтому почему бы и не минимизировать/не избавиться от них”? Это невозможно по двум причинам:
во-первых, они имеют вероятностный характер и обнулить их не выйдет, во-вторых,
устремление вероятности этих ошибок к нулю потребует от вас бесконечного размера выборок.

Лучше думать о этих ошибках согласно их определению, а не названиям:
- Какую выставим вероятность обнаружить эффект там, где его на самом деле нет?
- Какую выставим вероятность НЕ обнаружить эффект там, где он есть?

или, - что больше распространено, так как вместо ошибки 2-го рода мы используем мощность:
- Какую выставим вероятность обнаружить эффект там, где его на самом деле нет?
- Какую выставим вероятность обнаружить эффект там, где он есть?

—-
Сами тесты, если коротко, вообще ничего не знают о том, что ложь или истина. Они лишь говорят то, что говорят: вот тебе распределение для нулевой гипотезы (когда эффекта нет), а вот твоё значение статистики теста, оно лежит на распределении вот тут, вот тебе p-value как вероятность получить такое же экстремальное или еще экстремальнее значение при верности нулевой гипотезы. Как тебе с этим? Как тебе это значение в сравнении с пороговыми? Далее наступает этап ваших решений.

P.S. Если вам половина текста показалась птичим языком, то добро пожаловать на следующей поток по базе :)
👍4🔥1
В статистике в рамках исследования все начинается с нулевой гипотезы как о предположении о выборке (ее параметрах, таких как среднее или самом распределении). Но предположения можно сделать ровно 2, случай two-sample:
1. Параметр выборки А (допустим среднее) равен параметру выборки B
2. Параметр выборки А НЕ равен параметру выборки B

Для нулевой гипотезы берут именно 1-ое, а 2-ое оставляют для альтернативной (гипотезы). Есть ли в этом что-то особенное? Ну, какая разница же, вроде, да? На самом деле особенное есть, то есть это неслучайно. И менять местами 1-ое со 2-ым было бы ошибкой.

Есть спорный, но в рамках статистики крайне подходящий принцип Карла Поппера: "Только та гипотеза/теория научна, которую возможно опровернуть", точнее - та, над которой можно провести эксперимент и далее по его результатам возможно и опровергнуть. Красиво это называется как "фальсифицируемость".

Важно понимать, что под научностью имеют в виду вообще возможность исследовать. Поэтому теорию, которую нельзя проверить (во всяком случае сейчас, при нынешнем уровне развития), называют ненаучной, но НЕ имеют в виду, что она - лженаучна. Ненаучная и лженаучная - это разное! Лженаучная теория противоречит фактам, ненаучная просто на данный момент непроверяема в том смысле, что ее не сделать предметом исследования. Но и научная и ненаучная имеют ряд фактический посылок. Тут, думаю, разобрались.

Так вот. Статистика вывела ряд замечательных распределений: z-нормальное распределение средних, t-распределение и еще множественный ряд прочих, которые лежат в рамках других тестов. Все эти распределения об одном и том же по сути: распределение статистики теста (z-статистики, t-статистики и пр.), когда РАЗНИЦЫ нет. Разницы средних, разницы в распределении в той или иной форме.

Отсюда статистика берет только 1-ое предположение, потому что, используя эти распределения в зависимости от тестируемого предмета (параметр или распределение), может проверить и потенциально опровергнуть. 2-ое предположение она проверить не может, так как у нее нет для этого соответствующего инструментария: нет распределений для отличий.

Можно ли такие альтернативные распределения построить? Думаю, да, в теории (я просто не пробовал), в эпоху-то компуктеров должно быть возможно. Например, посмотреть, какое будет t-распределение, симулируя выборки из разных популяций. Проблема в том, что они не будут являться универсальными как классические распределения стат. тестов. А потому, чтобы убедиться в верности ваших выводов как исследователя, любому ученому нужно было сначала разобраться в этой альтернативщине.

То есть:
1. Параметр выборки А (допустим среднее) равен параметру выборки B - НАУЧНО
2. Параметр выборки А НЕ равен параметру выборки B - НЕНАУЧНО (непроверяемое, нет распределений, куда приземлять значения статистик)

Поэтому, когда видите, что в дизайне теста кто-то выдвинул нулевую гипотезу о РАЗЛИЧИИ, знайте - это ошибка. Но не судите строго, понять, почему это ошибка сложно, думаю (это крайне смелое предположение), даже ряд профессоров не отдали бы себе отчета, почему это так. Хотя казалось бы, да?

P.S. Конечно, не все распределения, которые говорят об отсутствии различий, универсальны. Тоже t-распределение в плане своей формы чувствительно к размеру выборок: t-таблица довольно красочно об этом говорит. И все же оперировать ею легче, чем строить еще 100500 таких таблиц под каждый случай различия
👍1
Привет!
Два важных апдейта для тех, кто прошел базовый курс:

1. На вас всех пошарена папка в гугл-диске "Постпотоковое" (проверьте уведомления; если нет - пишите мне в ЛС):
- там будут записи встреч и презентации от последнего потока. То есть после каждого потока она будет перезаписываться. Так как каждый раз, в рамках каждого потока я для подготовки перечитываю каждую презентацию от и до, некоторые вещи редактирую, некоторые радикально меняю для большей понятности. Например, я изменил содержание 6-й презентации про Нулевую Гипотезу, собираюсь изменить часть про MDE, разбавив ее примерами, текущий поток показал, что там были пробуксовки, увидел-принял-изменю!

2. Начал писать продвинутый курс по A/B, который будет включать в себя как минимум:
- снова вводные (в матанализ: функция, производная...),
- непараметрические тесты (Бустрап, Пуассон Бустрап, Mann-Whitney и Ко),
- методы ускорения тестов, разбор проблемы метрики-отношения.
Он будет сложнее, без базы туда ни ногой: повторений про ошибки 1-го рода, альфы и прочее уже не будет.
👍2
К вопросу о понятиях, про MDE:

1. Встретил на степике в рамках одного курса по A/B такое неверное определение MDE как "минимальное значимое различие".

Нет, MDE это именно "минимально обнаруживаемый эффект" (minimal detectable effect), который мы можем обнаружить (1), но не обязательно, что обнаружим (2) при заданными параметрах: альфа, мощность и доступной аудитории на каждую из выборок.

Особый акцент я бы сделал тут на мощности. Если она равна 0.8 = 80%, то именна это и есть вероятность обнаружения (можем обнаружить); а где мощность, там и ошибка 2-го рода: 1 - мощность = 1 - 0.8 = 0.2 = 20% вероятность НЕ обнаружить (не обязательно, что обнаружим)

Значимость тут вообще не к месту, значимость находится в рамках H0 и уровня альфы.

2. При этом в другом месте, который начинается на букву "Я", говорилось, что MDE это "среднее всех разниц между двумя генеральными H0 и HA", добавлю: если HA действительно имеет место (существует). Официально: мат. ожидание разниц двух генеральных. Увы, без учета параметров, это не совсем корректно. Вчитаемся: M-D-E. В рамках такого определении это просто E, Effect, тут я согласен. Но у нас есть M и D: Minimal и Detectable соответственно. Эти два слова прямо указывают на неразрывную связь с параметрами.

Итого: MDE это - Минимально. Обнаруживаемый. Эффект, который мы можем обнаружить, но не обязательно, что обнаружим при заданными параметрах: альфа, мощность и доступной аудитории на каждую из выборок. Точка.
🔥3
2025/07/12 10:20:21
Back to Top
HTML Embed Code: