Я использую следующую формулу:
LTV = AOV * Частота покупок * Средняя продолжительность жизни
где:
- AOV = Доход/Общее количество заказов
- PF = Общее количество заказов/Общее количество клиентов
- AL = 1/(коэффициент оттока) или 1/(1-коэффициент удержания)
Сначала я пробовал использовать когортный анализ, однако этот подход отслеживает всех пользователей на основе firstSessionDate, а не только клиентов (людей, совершивших покупки). .
Затем я попробовал альтернативный подход:
Код: Выделить всё
private double calculateCustomerRetentionRate(LocalDate startDate, LocalDate endDate, BetaAnalyticsDataClient analyticsData) {
LocalDate initialPeriodStart = startDate.minusDays(400); // Arbitrary, ideally as far back as possible
LocalDate initialPeriodEnd = startDate.minusDays(1);
RunReportRequest initialUniqueCustomersRequest = RunReportRequest.newBuilder()
.setProperty(propertyId)
.addMetrics(Metric.newBuilder().setName("firstTimePurchasers"))
.addDateRanges(DateRange.newBuilder().setStartDate(initialPeriodStart.format(formatter)).setEndDate(initialPeriodEnd.format(formatter)).build())
.build();
RunReportResponse initialResponse = analyticsData.runReport(initialUniqueCustomersRequest);
double initialUniqueCustomers = Double.parseDouble(initialResponse.getRows(0).getMetricValues(0).getValue());
RunReportRequest retainedCustomersRequest = RunReportRequest.newBuilder()
.setProperty(propertyId)
.addMetrics(Metric.newBuilder().setName("totalPurchasers"))
.addMetrics(Metric.newBuilder().setName("firstTimePurchasers"))
.addDateRanges(DateRange.newBuilder().setStartDate(startDate.format(formatter)).setEndDate(endDate.format(formatter)).build())
.build();
RunReportResponse retainedResponse = analyticsData.runReport(retainedCustomersRequest);
double totalPurchasers = Double.parseDouble(retainedResponse.getRows(0).getMetricValues(0).getValue());
double firstTimePurchasers = Double.parseDouble(retainedResponse.getRows(0).getMetricValues(1).getValue());
double returningPurchasers = totalPurchasers - firstTimePurchasers;
double retentionRate = returningPurchasers / initialUniqueCustomers;
return retentionRate;
}
За целевой период (например, за последние 365 дней) получите значения TotalPurchasers и FirstTimePurchasers.
Вычислить. коэффициент удержания как: (totalPurchasers – firstTimePurchasers)/historical_firstTimePurchasers
API предоставляет следующие потенциально релевантные показатели:
- transactionsPerPurchaser
- averagePurchaseRevenuePerPayingUser (ARPPU)
- средний доход от покупки на пользователя
- средний доход на пользователя (ARPU)
Вопросы:
- Есть ли лучший способ расчета удержания клиентов? /коэффициент оттока с использованием API данных GA4?
- Существуют ли альтернативные подходы к расчету LTV с использованием доступных показателей?
- Есть ли что-то фундаментальное? не знаете, как GA4 отслеживает поведение клиентов?
Подробнее здесь: https://stackoverflow.com/questions/793 ... api-on-ga4