Как выявить сегменты пользователей с максимальным LTV

«Как выявить сегменты пользователей с максимальным LTV» — вопрос из категории Аналитика и метрики, который задают на 33% собеседований Data Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Чтобы найти сегменты с самым высоким Lifetime Value (LTV), я строю анализ по следующей схеме:

1. Определяю метрику LTV. Чаще всего я использую исторический подход для ретроспективного анализа:

-- Пример SQL-запроса для расчета LTV по когортам
SELECT
    user_segment,
    DATE_TRUNC('month', first_purchase) AS cohort_month,
    COUNT(DISTINCT user_id) AS cohort_size,
    SUM(total_revenue) / COUNT(DISTINCT user_id) AS avg_ltv
FROM (
    SELECT
        user_id,
        MIN(purchase_date) AS first_purchase,
        SUM(order_amount) AS total_revenue,
        -- Определение сегмента (например, канал привлечения)
        acquisition_channel AS user_segment
    FROM purchases
    GROUP BY user_id, acquisition_channel
) user_data
GROUP BY user_segment, DATE_TRUNC('month', first_purchase)
ORDER BY avg_ltv DESC;

2. Сегментирую пользователей по ключевым признакам. Я анализирую LTV в разрезе:

  • Канал привлечения: Organic, Paid Ads, Referral.
  • Демография: География, возраст, устройство.
  • Поведение: Первая покупка, частота взаимодействий, категория интересов.

3. Визуализирую и интерпретирую данные. Я строю дашборды, например, в Tableau или через matplotlib:

import pandas as pd
import matplotlib.pyplot as plt

# Предположим, df содержит результаты запроса выше
top_segments = df.nlargest(5, 'avg_ltv')
plt.figure(figsize=(10,6))
plt.barh(top_segments['user_segment'], top_segments['avg_ltv'])
plt.xlabel('Average LTV')
plt.title('Top User Segments by LTV')
plt.tight_layout()
plt.show()

4. Проверяю статистическую значимость. Чтобы убедиться, что разница между сегментами не случайна, я применяю A/B-тесты или проверку статистических гипотез (t-test) для сравнения средних LTV разных групп.

Итог: Такой анализ позволяет целенаправленно перераспределить маркетинговый бюджет на самые ценные каналы и адаптировать продукт под нужды высокодоходных сегментов.