Как посчитать power users в SQL

Закрепи формулу power users в Карьернике
Запомнить надолго — 5 коротких сессий с задачами на эту тему. Бесплатно
Тренировать power users в Telegram

Зачем power users

Power users — это top-decile по активности. Они показывают «как продукт работает на максимум». Если они платят больше — оптимизируйте им. Если они нашли use case, не предусмотренный — это будущее основной массы. Также power users подсказывают, что обещать в маркетинге.

Определения

  • Top decile by sessions: 10% юзеров с наибольшим числом сессий за период.
  • Top decile by revenue: max LTV-юзеры.
  • Active 6+ days/week: stickiness-критерий.
  • Used > N features: широта использования.

Power users в SQL

Top 10% по sessions за last 30 days:

WITH session_count AS (
    SELECT
        user_id,
        COUNT(DISTINCT DATE(event_timestamp)) AS active_days
    FROM events
    WHERE event_timestamp >= CURRENT_DATE - INTERVAL '30 days'
    GROUP BY user_id
),
deciles AS (
    SELECT
        user_id,
        active_days,
        NTILE(10) OVER (ORDER BY active_days DESC) AS decile
    FROM session_count
)
SELECT
    user_id,
    active_days
FROM deciles
WHERE decile = 1
ORDER BY active_days DESC;

NTILE(10) режет на 10 равных групп. Top decile = decile = 1.

Анализ поведения

Чем отличаются power от остальных:

WITH labeled AS (
    SELECT
        user_id,
        active_days,
        CASE WHEN active_days >= (SELECT PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY active_days) FROM session_count) THEN 'power' ELSE 'normal' END AS segment
    FROM session_count
)
SELECT
    segment,
    COUNT(*) AS users,
    AVG(active_days) AS avg_active_days,
    AVG(revenue_total) AS avg_revenue,
    AVG(features_used) AS avg_features
FROM labeled
JOIN user_stats USING (user_id)
GROUP BY segment;

Power обычно: 3-5x revenue, 2-3x features, 4-7x active days.

Закрепи формулу power users в Карьернике
Запомнить надолго — 5 коротких сессий с задачами на эту тему. Бесплатно
Тренировать power users в Telegram

Power user → референс

«Как пройти из normal в power»:

WITH power_signature AS (
    SELECT
        AVG(used_feature_a) AS adoption_a,
        AVG(used_feature_b) AS adoption_b,
        AVG(used_feature_c) AS adoption_c
    FROM user_features
    WHERE user_id IN (SELECT user_id FROM power_users)
),
normal_signature AS (
    SELECT
        AVG(used_feature_a) AS adoption_a,
        AVG(used_feature_b) AS adoption_b,
        AVG(used_feature_c) AS adoption_c
    FROM user_features
    WHERE user_id NOT IN (SELECT user_id FROM power_users)
)
SELECT
    p.adoption_a - n.adoption_a AS gap_a,
    p.adoption_b - n.adoption_b AS gap_b,
    p.adoption_c - n.adoption_c AS gap_c
FROM power_signature p, normal_signature n;

Самый большой gap — рычаг для onboarding non-power юзеров.

Частые ошибки

Ошибка 1. Power по single метрике. Один юзер открывает app каждый день и ничего не делает — это не power. Использовать composite: activity × revenue × features.

Ошибка 2. Top 1% вместо top 10%. 1% — слишком мало для аналитики. Шумит, общее не репрезентативно.

Ошибка 3. Считать на новых юзерах. Power user formation требует времени. Power из cohort с возрастом < 30 days — мало.

Ошибка 4. Игнорировать sample size. В сегменте 50 юзеров top 10% = 5 — слишком мало для statistical inference.

Ошибка 5. Не пересчитывать. Power 6 месяцев назад ≠ power сегодня. Перепроверяйте quarterly.

Связанные темы

FAQ

Top decile или absolute threshold?

Top decile — relative. Threshold (e.g., > 20 sessions) — absolute. Лучше использовать оба.

Power = high revenue?

Не всегда. Free tier active user — power по engagement, не revenue.

Сколько % юзеров — power?

10% — стандарт. 5% для жёстких критериев.

Power как маркетинговый инструмент?

Да — testimonials, case studies, beta-features access.

Power user может churn?

Да. Жизненный цикл power user — отдельная analyt-задача.