Pull to refresh
4
0

Data scientist

Send message

Макс, спасибо за статью

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

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

Традиционно считается, что есть оптимальная точка насыщения, после которой эффективность вклада снижается и падает до нуля. То есть при увеличении затрат эффективность не вырастет. Сейчас у всех крупных ретейлеров на рынке объёмы инвестиций в рекламу находятся за точкой насыщения, и в целом это осознанная стратегия.

А вот тут кстати интересно, ведь это же нетолько объем как есть но и доля? Возможно если конкуренты тратят больше денег то и мы должны, иначе доля упадет?

Результаты модели также привели к оценкам ROI, показатели которого стабильно превышали 10. Несмотря на то, что вывод реализованной модели говорит о высокой эффективности, при увеличении затрат ROI, как правило, начинает снижение из‑за ограничения ёмкости рынка и кривых отклика от рекламы.

ROI 10 это же супер! При таком ROI можно ведь смело максимизировать затраты, при ограничении ROI на уровне не ниже банковской ставки, что то вроде 1.15. Почему бы наооборот не вливать больше? Или есть подозрение что это уже максимум ревенью ?

Послдений вопрос, правильно понимаю что обновляли коэффициенты после проведения экспериментов и смотрели их распределение во времени?

Никита, я понимаю что вы не используете scipy.stats.ttest_ind

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

Я не уверен что это статья про математику, мне кажется она ближе к прикладной, отсюда в глаза бросилась гетероскедастичность. От этого можно отмахнуться и сказать что это вкусовщина, но это вкусовщина, которая делает жизнь легче

По поводу остального, я не буду писать, может быть я действительно не понимаю, хотя скорее я плохо объясняю, ведь я уже третий пост пишу для чего я привел пример из библиотеки, и пытаюсь объяснить почему это удобнее/лучше, что уж говорить про остальные, более сложные материи, а вы мне третий пост который пост объясняете что у вас нет Т Теста

Никита, вы себя продолжаете топить, я не понимаю зачем?

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

Также очень любопытно, откуда у вас старые отчеты с корпоративных аккаунтов, если вы уволились ;)

У меня вообще осталось куча документов, которые я подписывал или выдавал, для того чтобы их открыть, не нужно иметь текущего доступа к корп аккаунтам, достаточно иметь сами документы на старом компьютере.

Что не отменяет того факта что вы публично распространили заведомо ложную информацию в копроративном блоге компании о бывшем сотруднике компании. Тут можно пошутить "Очень любопытно что скажет об этом комплаенс", но я думаю что это скорее вы по глупости, чем преднамеренно и со зла

В предыдущей статье, где вы являетесь первым в списке авторов, приведен пример, в котором для заказчиков составляется таблица, в которой перебираются значения вероятностей ошибок первого рода. Да, тут точно нет конфликта интересов...

Я даже не знаю что на это ответить

Но попробую

На несколько строчек ниже таблицы, в той же в статье написано

Если мы говорим о реальном мире, то обычно устраивают вероятности ошибок первого и второго родов в 5-10 процентов

Более того, там даже выделен какой уровень значимости берется, зеленым цветом

И заметьте, там сказано что заказчик может выбрать

  1. заказчик имеет ограничение по времени пилота и количеству магазинов, с которыми можно работать;

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

  3. заказчик открыт к нашим предложениям.

Я думаю вам не стоит больше сюда писать и лучше удалить ряд своих сообщений, а затем возможно попросить модератора удалить и мои сообщения, чтобы ненароком кто не прочитал

Также забавный факт - с вашей бытности директором по анализу данных в X5 порог по ошибке 1 рода не изменялся - а значит, в старой методологии, он, вообще говоря, был таким же (либо же какие-то злодеи поменяли его сразу же с вашим уходом)

Это неправда, 20% при мне не было

Я прямо сейчас поднял ряд отчетов по разным пилотам, везде где я подписывал - 95%. Причем у меня есть доказательства на руках, а не просто моя память. Как после этого верить вашим словам? Вы вообще себя зачем закапываете безосновательными утверждениями? Подняли бы чтоли-старые отчеты сначала

Дополнительно хочу отметить, что ошибка 1-го рода в 20% вовсе не означает успешность в 20% случаев, ведь мы можем ошибаться в обе стороны - как в положительную, так и в отрицательную, о чем вам наверняка должно быть известно.

Именно поэтому я написал

Просто совпало, что как минимум 20% теперь будут успешными (на будущее - их еще можно делать односторонними)

При чем ведь еще думал, что стоит написать либо 10% успешными либо 20% стат значимыми, в итоге вот как объединил неудачно

Если заявления не сопровождаются доказательствами их принимают с недоверием и скепсисом, особенное если утверждается что А, лучше Б, но этого не демонстрируется

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

В данной статье мы просто хотели рассказать о довольно популярных и без того признанных в сообществе техниках causal inference и их применении внутри компании, а не доказать, что одни алгоритмы лучше других - что, тем не менее, было нами сделано внутри компании, причем для различных уровней значимости - в том числе и для стандартного уровня значимости в 5%.

Но вот же начало статьи:

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

Ну то есть вы садились с целью сделать тоже самое? Вряд-ли, вы хотели сделать лучше

Дальше, вы писали статью чтобы показать что сделали то-же самое? Вряд-ли, ведь даже в самом начале говорится, что теперь стало лучше, решается то что не могли решить раньше

НО! Мы не покажем вам, обидно!

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

Не согласен, я признал, тут же, что не прав был про propensity score

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

Но вы стали объяснять мне что здесь t test отсутствует (это к слову про снисходительный тон ), хотя могли бы сказать просто, термин дали, он корректный, но можно было написать проще

Мне кажется из этого примера видно кто и что игнорирует?

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

Меня расстраивает что я не могу взять вашу методу на вооружение, потому я не могу сам себе обосновать что она лучше, потому что этого обоснования я не вижу. В дополнение меня добили 20%, но про них мы ниже поговорим (если конечно поговорим)

Когда я впервые увидел cuped или матчинг, меня это не расстроило, а обрадовало - ведь я смог их использовать. Я не ожидаю что мы достигли пика развития а/б тестов в 2019 году и надеюсь что в будущем будут методы лучше, быстрее и круче. И если они построены на основании заложенном нами и командой созданной нами с нуля, так это еще лучше.

Можно просто посмотреть на мою реакцию на другие статьи от Х5, которые я до этого всегда хвалил и репостил и где приводятся какие то улучшения в области А/Б и показывается почему и как это работает

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

Поэтому мы пишем одинаковые вещи про них

Вот с вашей стороны:

В реальности мы никогда не знаем, какие данные нам пришли. Соответственно, мы никогда не можем точно утверждать, есть гетероскедастичность или нет.

Вот с моей стороны то-же самое

Ну во первых откуда мы знаем что они теоретически одинаковые?

Вот вы пишите

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

Вот здесь я намекаю что точечно она всегда будет разной

 Возможно дисперсия может быть различной стат значимо

То есть мы точно про разное? Или про одно то же?

Я нигде не утверждал что гетероскедастичность это краеугольный камень на котором все зиждется и если мы не сойдемся в этом вопросе - общаться дальше бессмысленно. Если хочется воспользоваться этим, как поводом уйти от ответов на другие вопросы (два самых важных - 20% стат значимых тестов по дефолту, потому что это целесообразно для бизнеса и нет никакого конфликта интересов и отсутствие возможности сравнить методы - хотя уж после раскрытия правды про 20% - казалось бы, что терять, почему не показать какие то бенчмарки, неужели метод работает только на данных Х5? И при этом с FP в 20%), я не могу этому препятствовать. Хотя впрочем мы их уже и закрыли, то есть даже и уходить от них не надо.

Но использование этого термина в тексте - это классический пример Fluff - то есть усложнение ради усложнения

Да, формально его можно использовать, но мне кажется это первый раз, где я вижу такое усложнение ради усложения в прикладной статье про А/Б

Ведь можно было просто написать:

Так как стат значимое отличие в А/Б тесте по умолчанию ведет к разнице дисперсий между группами (распределение группы А отлично от распределения Группы Б), мы вводим поправки на этот факт

Но вместо этого напишем.

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

Возможно следующим шагом стоит пойти в scipy и поменять в функции т теста equal_var=True на homoscedasticity=True

А то чего они не используют правильные термины и путают людей

https://github.com/scipy/scipy/blob/da64f8ca0ef2353b59994e7e37ecee4e67a9b1d3/scipy/stats/_stats_py.py#L5958

Можно даже придраться по существу, почему могут?

Я только что прогнал 10 тысяч тестов, где брал распределение (20к точек), делил на две группы случайно и дисперсия нигде не совпала! Везде была различная! Возможно дисперсия может быть различной стат значимо? Точечно то она различная всегда

Но это действительно с моей стороны уже придирка по стилю, удачно вышло что ей можно воспользоваться как поводом уйти из дискусси.

 Основной поинт предыдущего комментария был в том, что определение гетероскедастичности, даваемое с нашей стороны, корректно, и этот поинт не был опровергнут.

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

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

Бизнес же никак не заинтересован в том чтобы повышать процент "успешных" АБ тестов

Просто совпало, что как минимум 20% теперь будут успешными (на будущее - их еще можно делать односторонними) - действительно, безосновательное утверждение, конфликта интересов тут нет

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

Ну во первых откуда мы знаем что они теоретически одинаковые? Я же не сказал случайно разбиение, а цитата "берем переменную, бьем на две группы - они никогда не выдадут одинаковую цифру - доказали"

Теперь допустим что переменная случайна и теоретически все одинаково, но ведь из вашей же цитаты

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

Просто поставим 80% до всяких манипуляций - задача решена!

Это если вы конечно делаете стат тесты на гетероскедастичность

А точнее на разницу в дисперсиях между двумя группами

Безусловно, хоть 100% можно устанавливать ошибок первого рода

Просто после установки порога в 20% все что вы сделали не имеет смысла и можно закрывать и забывать, а жаль, до этого было интересно. С другой стороны это по крайней мере честно

Принадлежность к пилотной группе (D) также является признаком модели, принимающим значения соответственно 0 и 1. В случае даже простой регрессии на константу и D достаточно легко показать, что различие в дисперсии целевой переменной между контрольной и пилотными группами влечет за собой гетероскедастичность.

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

То есть в статье авторы явно указывают, что результаты относятся исключительно к Propensity Score Matching (который мы только упоминаем), но не относятся к Propensity Score Weighting (который мы используем, в литературе его также называют Inverse Probability Weighting). Хоть оба подхода используют Propensity Score, они все-таки значительно отличаются в реализации.

Да, действительно вы пишите что затем выбрали Propensity Score Weighting, PSW.

Интересно все-же посмотреть и сравнить с матчингом, но вижу что не получится

Про корректную спецификацию модели и doubly robust в целом также можно почитать по ссылке на описание IPW выше - так, для линейной регрессии корректная спецификация прежде всего означает, что математическое ожидание ее остатков равно нулю и ковариация между включенными в регрессию переменными и остатками также равна нулю (то есть факторы, влияющие на Y и коррелирующие с переменными X и D включены в модель)

Спасибо, всегда считал что это называется model assumptions и что ни корректны

Соответственно, мы ограничиваем вероятность ошибки I рода на уровне 20%, иначе говоря, мы допускаем возможность получить ложноположительный результат в одном из пяти случаев. В литературе чаще встречается ограничение на уровне 5%, но в силу специфики данных и характера бизнес-гипотез мы используем менее строгий порог. Далее мы ещё подробнее рассмотрим процесс оценки вероятностей ошибок I и II рода.

После этого стало грустно и почти бессмысленно читать дальше, я расстроен

По тексту есть следующее утверждение

Это позволяло получить частичную сопоставимость групп, но не позволяло учесть качество сопоставимости каждого магазина при оценке эффекта

Я не увидел никаких доказательство что этот метод лучше, даже скорее наоборот, чуть ниже я привел примеры, что как раз propensity score не стоит использовать для этих задач

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

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

В дополнение к этой цитате

 В прошлой статье проблема смещения частично решалась с помощью мэтчинга, о чем мы и упомянули в начале статьи.

Ты есть вы утверждаете что Cuped ( и его вариации) эту проблему никак не решает, ее решает только матчинг? Но ведь cuped это по факту регрессия на одну переменную, и так как чаще всего этой переменной является значение метрики, кажется очевидным что либо она влияет и на Y и на D (либо ничего не влияет на D)

В таком случае получается не только с помощью матчинга?

Вы пишите

  1. На основе полученных ранее фичей строим модель оценки вероятности попадания магазина в ПГ или КГ – propensity score. С помощью результатов работы этой модели можно будет побороть возможную несопоставимость групп.

  2. Производим процедуру тримминга propensity score для лучшего сопоставления ПГ и КГ.

  3. Производим оценку эффекта с помощью модели на основе линейной регрессии, используя propensity score для перевзвешивания объектов, а также все полученные ранее фичи для повышения чувствительности. 

Насколько вы уверены что это корректно? Есть обратное мнение с некоторыми доказательствами

Gary King, "Why Propensity Scores Should Not Be Used for Matching"

https://gking.harvard.edu/publications/why-Propensity-Scores-Should-Not-Be-Used-Formatching

https://youtu.be/rBv39pK1iEs?si=BxN8DHTuTKO2P1BA


Я не пытаюсь воззвать к авторитету и сказать что профессору из Гарварда виднее, но хочется увидеться экспериментальные сравнения и обоснование почему так лучше, чем матчинг

Вы пишите

Построенная таким образом итоговая модель оценки эффекта является композицией нескольких моделей и обладает свойством Doubly Robust: оценка эффекта является корректной, если хотя бы одна из составляющих её моделей корректно специфицирована: модель оценки propensity score или модель линейной регрессии. Иначе говоря, имея корректную модель оценки propensity score, мы будем корректно оценивать эффект в нашем эксперименте, даже если вторая модель выдаёт случайный шум. И наоборот, имея корректную модель линейной регрессии, мы будем корректно оценивать эффект в нашем эксперименте, даже если модель оценки propensity score неверна.

Какими свойствами должна обладать корректно специфицированная модель? Я не понимаю что это означает

В целом все это смутно напоминает Double Machine Learning - который оставляет больше вопросов, чем дает ответов


Вы пишите

Поскольку дисперсии у ПГ и КГ могут быть различными, что называется гетероскедастичностью

Насколько я знаю Гетероскедастичность означает что дисперсия меняется в диапазоне признаков, а не является примерно одинаковой везде, в рамках одной группы наблюдений

То что дисперсии у ПГ и КГ будут разными это не вероятность, а факт, они всегда будут разными, немного разными или сильно разными, но это не Гетероскедастичность

При этом на одной из картинок действительно есть Гетероскедастичность

Спасибо за статью

Вы пишите:

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

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

Но разве это уже не было решено в предыдущей статье, цитата оттужа

Мы уже упомянули, что неоднородность данных – один из самых злейших врагов, с которым мы боремся. Неоднородности проистекают из разных первопричин:

  • неоднородность по магазинам – у каждого магазина свое среднее значение по метрике (у московских магазинов РТО и трафик значительно больше, чем у деревенских)

  • неоднородность по дням недели – в разные дни недели разное распределение трафика и разный средний чек: трафик во вторник не похож на трафик в пятницу

  • неоднородность по погоде – в разные погодные условия люди ходят в магазины по-разному

  • неоднородность по времени года – трафик в зимние месяцы отличается от трафика летом – это надо учитывать, если пилот длится несколько недель.

Неоднородность увеличивает дисперсию, которая, как упоминалось выше, при оценке РТО магазинов и без того принимает огромные значения. Размер улавливаемого эффекта напрямую зависит от дисперсии. Например, уменьшение дисперсии в четыре раза позволяет детектировать в два раза меньший эффект.

Допустим, у нас был пилот в двух магазинах в течение трех дней (да-да, это противоречит всем расписанным формулам про размер эффекта, но это пример). Средние РТО в магазинах соответственно 200 тысяч и 500 тысяч, при этом дисперсия в обеих группах 10000, а по всем наблюдениям – 35000

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

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

Ты получил оценку D, то есть превосходит ожидания, за количество работы, превосходящее необходимое, судя по всему если бы тв работал в стандартном графике, то получил бы оценку соответствует ожиданиям — кажется это довольно честно

Даже твои RSU полученные не с начальным грантом, которого не было, а на ревью, уже начали превращаться в деньги, каждое следующее полугодие увеличивало бы эту сумму вдвое, то есть даже в твоем случае это уже не совсем пустышка. Видимо вместо начального гранта Яндекса инвестировал 800 тысяч (исходя из твоего комментария про повышение зарплаты делаю вывод что твоя зарплата была около 200к/в месяц), которые были потрачены на твой переезд, проживание, поиск жилья и первые месяца съема

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

Ты пишешь что доход за год никак не изменился. Но ведь зарплату тебе увеличили на 3-6-9 месяцев раньше, чем снизили лимит на бейджик? Повышенную премию по результатам ревью ты тоже не учитываешь в общий доход?
Все-таки непонятно, уже через год ты получаешь от выданных 25% RSU, не будем брать в расчет что сейчас клиф убрали, но ты уже апреле мог получить деньги с грантов за зимнее ревью и 25% от гранта выданного при приеме(если он был), вряд-ли полученные деньги можно назвать пустышкой

Про заниженные всем оценки и твои D тоже непонятно — значит тебе по какой-то причине не занизили? Зарплата у тебя по итогам ревью не менялась в сторону увеличения и повышенная премия не выдавалась?
Привет

Ты пишешь что всем понизили оценки, но ведь у тебя было три D — значит тебе не понизили, поставили высокую?

Раз ты получал D — то размер гранта увеличивался кратно и автоматически выростала заплата, на заметный процент, но ты пишешь что зарплата не изменилась
Основной тезис сообщения — рефрешер общедоступен, его получение не требует титанических усилий

Я привел те цифры, которые существует на определенных уровнях в определенной компании, про частоту встречаемости таких левелов написано было в самом тексте и повторять это я не вижу смысла, но в тоже время до 5 уровня ТС приведен, а дальше нет, с этой точки зрения мое сообщение дает дополнительную информацию и поправляет один факт из статьи
1

Information

Rating
Does not participate
Registered
Activity