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
348 - Telegram Web
Telegram Web
​​#analytics

Сегодня речь про один из достаточно классических фреймворков метрик продукта. А именно, про "пиратские метрики". Названы они так, потому что из первых букв названий метрик получается "AARRR" (ну и в популярной культуре как-то закрепилось, что пираты издают такие звуки). Предложен данный фреймворк был в 2007 году Дэйвом Макклюром.

Что же входит в пиратские метрики?

Acquisition – привлечение (как и сколько пользователей мы привлекаем в продукт)
Activation – активация (насколько хорошо привлеченные лиды превращаются в реальных пользователей)
Retention – возвращаемость (как часто и какая доля пользователей возвращается к использованию продукта)
Refferal – готовность рекомендовать (насколько наши пользователи готовы рекомендовать наши услуги)
Revenue – доход (тут все понятно, это то, сколько пиастров приносит наш продукт)

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

Почему этот фреймворк популярен?

Тут все просто. Легко запомнить, легко понять, легко следить. Достаточно простой набор показателей, но он позволяет неплохо работать с продуктом, строить гипотезы и понимать, что и где у нас просаживается. Как точка старта для настройки аналитики в продукте - отличный вариант.
8
​​#разное

У меня отпуск, а потому опять пост про кино.

На днях ходил на "Оппенгеймера" (который прокатывается у нас под кодовым названием "Дубак"). Фильм мне понравился. Интересно сделан, хорошие актеры, нетривиальная тема. И уже породил достаточно мемов (есть повод поглядеть на их первоисточник).

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

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

Смотреть ли этот фильм?

Пожалуй, стоит посмотреть.
А вот в кино, или дома - вопрос открытый (не скажу, что там есть много чего интересного для большого экрана).
13👍4
​​#interpretable_ml

Partial dependence plot (PDP) - это инструмент для визуализации влияния одной или нескольких переменных на прогнозируемую переменную в модели машинного обучения. PDP показывает, как изменяется ожидание прогноза при изменении значения одного или нескольких признаков. Интуитивно мы можем интерпретировать частичную зависимость как ожидаемый целевой отклик в зависимости от интересующих входных признаков. PDP может помочь понять, как модель учитывает различные факторы и какие из них являются наиболее важными для прогнозирования. При этом, обычно в расчет берутся одна-две переменные, иначе читать график PDP будет несколько затруднительно.

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

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

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

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

Пару вариантов библиотек для построения PDP:
1. Библиотека scikit-learn, которая предоставляет класс PartialDependenceDisplay и функцию from_estimator для визуализации частичной зависимости для различных моделей машинного обучения. Документация по методам находится на этой странице.
2. Библиотека PDPbox, которая специализируется на построении pdp и ice (individual conditional expectation) графиков для разных типов переменных и моделей. Документацию и примеры использования этого инструмента можно найти на этой странице.
👍6
#statistics

Ловушка фиктивных переменных.

Давайте вспомним, что такое фиктивная переменная (dummy variable)? Вещь простая, но очень надежная. Предположим, у нас есть персонажи из анекдота - русский, немец и американец. Как нам закодировать их, если у нас есть некоторые табличные данные? Есть разные варианты, конечно. Но самый простой - это объявить 1 для наличия категориального признака и 0 для его отсутствия.

Но тут нас и поджидает ловушка джокера фиктивных переменных. Если мы закодируем каждый из признаков 1 или 0 (то есть, создадим 3 столбца), то получим чистую мультиколлинеарность. А как мы знаем, иметь ее в данных - это дело нехорошее.

Посмотрим на примере. Предположим, у нас есть немножечко данных такого вида:
alcogol | nation
0.5 | русский
0.3 | немец
0.1 | американец
0.7 | русский
0.1 | немец
0.2 | американец

Если закодируем переменную nation тремя столбцами, то получим такой вид:
1 | 0 | 0
0 | 1 | 0
0 | 0 | 1
1 | 0 | 0
0 | 1 | 0
0 | 0 | 1

А это значит, что у нас сумма этих столбцов всегда будет равна единице. Упс, получаем чистую мультиколлинеарность.
Потому что, если мы будем именовать значения в столбцах за Ai, Bi, Ci, то легко выразим, например, Ci в виде: Ci = 1 - Ai - Bi.

И что же делать?
Все просто - вместо k столбцов под каждую категорию, мы сделаем k-1 столбцов. Проблема решена.
Например, в нашем примере получим, что 0 и 0 для русского и немца означают американца (а все оттого, что у нас всего 3 категории, так что не являясь немцем или русским, человеку остается только быть американцем).

В принципе, это не особо большая проблема для всех сколько-нибудь адекватных статистических пакетов. Но если вы решите самостоятельно делать перевод категориальных значений в фиктивные переменные, помните о такой вот загвоздке.
👍16👎4
​​#books

Сегодня немного про художественную литературу. Недавно прочитал “Вьюрки” Дарьи Бобылевой. Это роман в рассказах (да, вот такая необычная форма). Впрочем, как по мне - многие рассказы скорее являются главами (сложно их воспринимать отдельными произведениями, слишком много чего завязано на предыдущие события и персонажей).

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

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

Еще интересным показалось использование фольклорных персонажей, характерных для славянской мифологии. Там есть и Полудница и Леший, и многие-многие другие. И как-то они прям хорошо встраиваются в жизнь обычного садового товарищества. Видимо, память веков в крови проявляется ;) ("не, ну а что тут такого (ver. 2)?")

P.S. На одной из обложек написано "самая страшная книга". Это преувеличение. Больше похоже на мистику или триллер, чем на хоррор, от которого в жилах стынет кровь.
9👍1
Forwarded from XOR
This media is not supported in your browser
VIEW IN TELEGRAM
SQLFlow - отличный инструмент для визуализации SQL-запросов. Легкий и простой интрумент для визуализация связей и структур БД, поддерживающий более 20 разных БД.

Демо – https://sqlflow.gudusoft.com/
Github – https://github.com/sqlparser/sqlflow_public/blob/master/install_sqlflow.md

@xor_journal
👍11❤‍🔥5
Про овощи

Если написать в текстовом редакторе слово «овощь», он подчеркнёт его красным и исправит на привычный нам вариант - «овощ». Но вы удивитесь, что слово «овощь» тоже существует.

Овощь - это собирательное существительное. Как, например, молодёжь/мебель. Даже Некрасов писал: «Вся овощь огородная поспела». Понимаете, да? Это как бы общее название для всех овощей в огороде. В единичном же экземпляре каждый овощ будет овощем без мягкого знака.

Поэтому оба слова существуют. Просто одно либо не используется совсем, либо используется неправильно. Будьте грамотными, а не редисками с грядки.
🔥11🤯11
#video

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

А быличка - это жанр устного народного творчества: рассказ «очевидца» о встрече с нечистой силой.
🔥5
Что я делал вчера весь вечер?

Правильно, генерировал в dalle-3 wojak'ов. Вот подборка лучшего (что-то из этого можно прям сразу на стенку или на футболку печатать).
🔥4👍3😁1🥴1
#statistics

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

Почитайте, там много интересного и полезного написано. Достаточно немало математики, много про наши внутренние процессы и проблемы (связанные с тем, что пилоты проходят не на сайте, а в безжалостном физическом мире ;)).
👍13🔥63
​​В последнее время что-то стал занят. Потому пока посты могут быть со случайной периодичностью, увы.

Всем добра!
😢87👍1
2025/07/09 15:05:33
Back to Top
HTML Embed Code: