Найти в Дзене
Выгрузка Я.Метрики через Yandex Cloud Functions в Я.Диск
Вместо еженедельных ручных выгрузок из Яндекс.Метрики гораздо надёжнее настроить бесплатный сервер-пайплайн, который будет регулярно забирать статистику и складывать её в хранилище (Я.Диск) один раз в неделю по понедельникам за прошлую неделю. Ниже готовое решение для Yandex Cloud Functions: скрипт выгружает данные по реферальному трафику за прошлую неделю, корректно обрабатывает пагинацию API и устойчив к временным сбоям благодаря встроенному механизму повторных попыток. Готовые CSV-отчёты автоматически сохраняются на Яндекс...
3 дня назад
Python-решение для игры Йога (Peg Solitaire, Brainvita)
Йога (английский солитер, Peg Solitaire или Brainvita) — классическая головоломка. На доске 7×7 с центральным крестом из 33 фишек, необходимо оставить как можно меньше фишек на поле, совершая прыжки через соседние фишки (которые при этом удаляются). В начале игры центральная фишка удаляется, так появляется место для прыжка фишек. Самый результативный вариант, когда после последнего хода остаётся только одна фишка на поле. Алгоритм ниже, за 31 ход достигает этой цели. Всего же вариантов этой игры порядка ~10¹⁶ (квадриллион)...
1 неделю назад
Аналитика Lifetime Value (LTV) в когортном анализе
Lifetime Value (LTV) — это метрика, показывающая общую прибыль, которую компания получает от одного клиента за весь период его взаимодействия с продуктом или услугой. Аналитические подходы к анализу LTV... Самый простой и достоверный метод, но он работает только для «зрелых» когорт, по которым накопилось достаточно исторических данных. LTV = (Общий доход от когорты за весь период) / (Размер когорты) Метод позволяет предсказать LTV пользователя уже на ранних этапах. Формула LTV = ARPA (или ARPU) ×...
3 месяца назад
Сегментный vs Когортный анализ
Вы группируете пользователей по неделям регистрации (Январь, Февраль, Март) и смотрите на их удержание (когорта — месяц). Когорта | Нед.1 | Нед.2 | Нед.3 | Нед.4 Янв. | 100% | 45% | 35% | 30% Фев. | 100% | 50% | 40% | 35% Мар. | 100% | 55% | 45% | 40% Всё отлично! Удержание новых пользователей растёт от когорты к когорте. Например потому что улучшение онбординга, которое мы запустили в конце февраля, сработало — когорта марта показывает лучшие результаты с первой же недели. Дан ответ на вопрос: «Становимся ли мы лучше?» Разделение всех пользователей за март на сегменты по источнику трафика...
3 месяца назад
Сегментный анализ в продуктовой аналитике
Сегментный анализ (сегментация) — это систематический процесс разделения пользователей на однородные группы (сегменты) на основе общих характеристик, которые определяют их потребности, поведение и ценность для продукта. Популярный метод, основанный на истории транзакций. Каждого пользователя оценивают по трём осям: ▫ Recency (R — давность): как давно была последняя активность или покупка. ▫ Frequency (F — частота): как часто пользователь совершает действия за определённый период. ▫ Monetary (M — денежность): сколько денег пользователь принёс (общая сумма или средний чек)...
3 месяца назад
Когортный анализ в продуктовой аналитике
Когортный анализ — это метод анализа данных, при котором пользователи (клиенты) разделяются на группы (когорты), которые объединены общим признаком в определенный промежуток времени. Т.е. изучаются признаки поведения групп с течением времени. Простая аналогия: можно измерить среднюю успеваемость всего класса за год. Но это не покажет всей картины. Гораздо информативнее следить за успехами отдельных «когорт» — например, за учениками, которые поступили в 1-й класс в 2020, 2021 и 2022 годах. Так вы увидите, как каждая группа осваивает программу, и сможете сравнить их между собой...
3 месяца назад
RFM-анализ
💬 RFM-анализ — это метод сегментации клиентской базы, основанный на 3 показателях потребительского поведения. RFM: Recency (давность), Frequency (частота) и Monetary (денежность). RFM-анализ — это один из основных инструментов в арсенале продуктового аналитика. Он позволяет сегментировать пользователей на основе их реального поведения. Для RFM-анализа нужны транзакционные данные. Обычно это таблица, где каждая строка — это одна покупка (или любое другое целевое событие, например, оплата подписки)...
3 месяца назад
Подсветка синтаксиса SQL в Jupyter Notebook
# Импорт нужных библиотек import duckdb import pandas as pd import numpy as np # Для вывода подсвеченного кода SQL from rich.console import Console from rich.syntax import Syntax console = Console() # Создаем в VRAM БД conn = duckdb.connect(database=':memory:') # Функция для запросов в БД def conn_fn(query_str): ····conn.execute(query_str); # Создаем таблицы в базе данных query_str = """create table employees ( id integer primary key, name varchar(50), city varchar(50), department varchar(50), salary...
3 месяца назад
Способы визуализации пропущенных данных
Код python: import matplotlib.pyplot as plt import pandas as pd df = pd.read_excel('src/sales.xlsx') df.info() // Out: 0 id_order 35554 non-null object 1 id_buyer 35554 non-null object 2 id_manager 35554 non-null object 3 id_good 35554 non-null object 4 unit 35554 non-null object 5 date 35554 non-null object 6 quantity 35520 non-null float64 7 amount 32230 non-null float64 8 cost_price 34287 non-null float64 9 costs 26139 non-null float64 import seaborn as sns plt.figure(figsize=(12, 8)) sns.heatmap(df...
4 месяца назад
🔐 Подключение к БД PostgreSQL на Railway hosting
Нашёл халявный хостинг для тренировки по SQL: railway.com Можно создать тестовую БД на 24 часа как в ныне почившем ElephantSQL. Всё интуитивно понятно. После создания БД, например PostgreSQL, можно получить доступы для подключения: в строке: 🔌 postgresql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME} Все эти переменные прописываем в файл .env, который будет лежать вместе с нашим скриптом. В самом .env переменные хранятся в виде: DB_HOST=hopper.proxy.rlwy.net DB_PORT=11948 DB_NAME=railway DB_USER=postgres DB_PASSWORD=ваш_пароль...
4 месяца назад
Сказка про модель из старого сервера (Каша из топора)
Шёл как-то дата-саентист с очередного мита по поводу разработки новой предсказательной модели. Притомился в пути, данные гигабайтные, а вычислительных мощностей катастрофически не хватает. Решил зайти в кабинет отдела IT-закупок, постучал в кабинет. – Уважаемые коллеги, помогите с ресурсами для стратегически важного проекта! Дверь отворила начальница отдела. – Заходи, заходи. – А нет ли у вас, хозяйка, возможности выделить бюджет под новый мощный сервер для обучения моделей? Желательно с парой-тройкой A100...
4 месяца назад