← Назад к вопросам
Какие ключевые метрики выделишь для Telegram?
2.0 Middle🔥 131 комментариев
#Аналитика мобильных приложений#Метрики продукта
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Ключевые метрики для Telegram-приложения
Для успешного управления Telegram-приложением необходимо отслеживать набор метрик, которые охватывают весь user journey: от первого запуска до доходов и удержания. Расскажу о системе метрик, которую я использую для аналитики и оптимизации.
Уровень 1: Метрики Привлечения (Acquisition)
Основные метрики источников трафика:
SELECT
source,
COUNT(DISTINCT user_id) as new_users,
COUNT(DISTINCT CASE WHEN installed_app = true THEN user_id END) as installs,
COUNT(DISTINCT CASE WHEN installed_app = true THEN user_id END) * 100.0 / COUNT(DISTINCT user_id) as install_rate,
SUM(CASE WHEN cost > 0 THEN cost ELSE 0 END) as spend,
SUM(CASE WHEN cost > 0 THEN cost ELSE 0 END) / COUNT(DISTINCT CASE WHEN installed_app = true THEN user_id END) as cpi,
DATE(first_seen) as date
FROM user_acquisition
WHERE DATE(first_seen) = CURRENT_DATE - INTERVAL '1 day'
GROUP BY source, DATE(first_seen)
ORDER BY new_users DESC;
- CPI (Cost Per Install) — стоимость одной установки (для платных каналов)
- Organic vs Paid Ratio — доля органического трафика
- Source Attribution — 7-day и 30-day атрибуция
- Paid CAC — стоимость привлечения платящего пользователя
Уровень 2: Метрики Активации (Activation)
User Onboarding воронка:
WITH onboarding_funnel AS (
SELECT
COUNT(DISTINCT user_id) as step1_launches,
COUNT(DISTINCT CASE WHEN completed_tutorial = true THEN user_id END) as step2_tutorial,
COUNT(DISTINCT CASE WHEN created_first_list = true THEN user_id END) as step3_first_action,
COUNT(DISTINCT CASE WHEN invited_friend = true THEN user_id END) as step4_social,
COUNT(DISTINCT CASE WHEN made_first_purchase = true THEN user_id END) as step5_purchase
FROM users
WHERE created_at >= CURRENT_DATE - INTERVAL '30 days'
)
SELECT
step1_launches,
step2_tutorial,
ROUND(100.0 * step2_tutorial / step1_launches, 1) as tutorial_completion_rate,
step3_first_action,
ROUND(100.0 * step3_first_action / step1_launches, 1) as action_rate,
step4_social,
step5_purchase
FROM onboarding_funnel;
Ключевые показатели активации:
- D1 Activation Rate — % пользователей, вернувшихся на день 2
- Tutorial Completion Rate — завершили ли обучение
- First Action Rate — сделали ли первое действие (не покидали пусто приложение)
- Feature Discovery Rate — сколько фич открыли в первую неделю
Уровень 3: Метрики Удержания (Retention)
Cohort Retention анализ:
WITH cohorts AS (
SELECT
DATE(created_at) as cohort_date,
user_id,
DATE(last_activity_at) as last_activity_date
FROM users
WHERE created_at >= '2024-01-01'
)
SELECT
cohort_date,
COUNT(DISTINCT user_id) as cohort_size,
COUNT(DISTINCT CASE WHEN DATE_PART('day', last_activity_date::date - cohort_date::date) <= 1 THEN user_id END) as day1,
COUNT(DISTINCT CASE WHEN DATE_PART('day', last_activity_date::date - cohort_date::date) <= 7 THEN user_id END) as day7,
COUNT(DISTINCT CASE WHEN DATE_PART('day', last_activity_date::date - cohort_date::date) <= 30 THEN user_id END) as day30,
COUNT(DISTINCT CASE WHEN DATE_PART('day', last_activity_date::date - cohort_date::date) <= 90 THEN user_id END) as day90,
ROUND(100.0 * COUNT(DISTINCT CASE WHEN DATE_PART('day', last_activity_date::date - cohort_date::date) <= 30 THEN user_id END) / COUNT(DISTINCT user_id), 1) as d30_retention_rate
FROM cohorts
GROUP BY cohort_date
ORDER BY cohort_date DESC;
Метрики удержания:
- D1, D7, D30, D90 Retention — процент активных пользователей после N дней
- Churn Rate — доля потерянных пользователей в неделю
- Core Retention Cohort — самая стабильная часть юзбейза (последние 30%)
- Sticky Factor — среднее количество дней активности в месяц / количество дней в месяце
Уровень 4: Метрики Монетизации (Monetization)
Revenue анализ:
SELECT
DATE(purchase_date) as date,
COUNT(DISTINCT user_id) as paying_users,
COUNT(DISTINCT CASE WHEN is_subscription = true THEN user_id END) as subscription_users,
COUNT(DISTINCT purchase_id) as transactions,
SUM(revenue) as total_revenue,
AVG(revenue) as average_order_value,
SUM(revenue) / COUNT(DISTINCT user_id) as arpu,
COUNT(DISTINCT user_id) * 100.0 / LAG(COUNT(DISTINCT user_id)) OVER (ORDER BY DATE(purchase_date)) as payconv_trend
FROM purchases
WHERE purchase_date >= CURRENT_DATE - INTERVAL '90 days'
GROUP BY DATE(purchase_date)
ORDER BY date DESC;
Ключевые метрики доходов:
- ARPU (Average Revenue Per User) — средний доход на пользователя (все + free)
- ARPPU (Average Revenue Per Paying User) — доход только на платящих
- Conversion to Paid — % пользователей, совершивших хотя бы одну покупку
- LTV (Lifetime Value) — полная стоимость пользователя за все время
- Payback Period — за сколько дней окупается CAC
- Subscription Churn — месячный churn подписчиков
- Product Mix — распределение доходов по типам покупок
Уровень 5: Метрики Вовлечения (Engagement)
SELECT
DATE(created_at) as date,
COUNT(DISTINCT user_id) as dau,
COUNT(DISTINCT CASE WHEN DATE_PART('day', AGE(NOW(), created_at)) <= 7 THEN user_id END) as wau,
COUNT(DISTINCT CASE WHEN DATE_PART('day', AGE(NOW(), created_at)) <= 30 THEN user_id END) as mau,
COUNT(DISTINCT CASE WHEN event_type = 'message_sent' THEN user_id END) as messaging_users,
COUNT(DISTINCT CASE WHEN event_type = 'call_made' THEN user_id END) as calling_users,
AVG(session_duration_seconds) as avg_session_duration,
SUM(session_duration_seconds) / COUNT(DISTINCT user_id) as engagement_time_per_user
FROM events
WHERE created_at >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY DATE(created_at)
ORDER BY date DESC;
- DAU/WAU/MAU — ежедневно/еженедельно/ежемесячно активные пользователи
- DAU/MAU Ratio — коэффициент активности (хороший показатель = 20-30%)
- Session Length — среднее время одной сессии
- Sessions Per DAU — количество сессий на активного пользователя в день
- Feature Usage — какие фичи используются чаще
- User Segmentation — Core (ежедневные), Regular (еженедельные), Casual (редкие)
Уровень 6: Метрики Роста и Вирального Коэффициента
# Viral Coefficient Calculation
def calculate_viral_coefficient(invites_sent, conversion_rate):
"""
k = (invites_per_user) * (conversion_rate)
k > 1: экспоненциальный рост
k = 1: линейный рост
k < 1: убыль
"""
return invites_sent * conversion_rate
# Пример: каждый пользователь отправляет 5 инвайтов, конверсия 10%
viral_k = calculate_viral_coefficient(invites_sent=5, conversion_rate=0.1)
print(f"Viral Coefficient: {viral_k}") # 0.5 - не достаточно для вирального роста
- Viral Coefficient — количество новых пользователей от одного существующего
- Network Effects Score — добавляет ли новый пользователь ценность для существующих
- Referral Conversion Rate — какой % приглашенных становятся активными
- NPS (Net Promoter Score) — готовность рекомендовать приложение (survey)
Дашборд для менеджмента (Executive Summary)
| Метрика | Целевое значение | Текущее | Тренд |
|---|---|---|---|
| DAU | 100K | 85K | ↗ +5% |
| D7 Retention | 40% | 38% | → |
| ARPU | $2.5 | $2.1 | ↘ -10% |
| Conversion to Paid | 8% | 6.5% | ↙ |
| CAC Payback | 30 дн | 45 дн | ↙ |
| LTV/CAC Ratio | 3:1 | 2.3:1 | ↙ |
Как я использую эти метрики
Еженедельный анализ:
- Проверяю retention cohorts (нет ли регрессии)
- Смотрю на DAU тренд и причины изменений
- Анализирую новые фичи по engagement
Ежемесячный анализ:
- Когортный анализ (какие когорты самые ценные)
- Revenue breakdown по источникам и типам
- Чёрн анализ (почему уходят пользователи)
Квартальный анализ:
- Долгосрочные тренды LTV и CAC
- Виральность и network effects
- Сегментация юзбейза
Эта система метрик позволяет отслеживать здоровье приложения на всех этапах user journey и принимать обоснованные решения о приоритизации фич и маркетинг-инвестициях.