Table
Search
Calculation Ref
CAC
LTV
Total LTV
LTV for 1 month plan
Monthly Plan Total LTV
LTV_M1_Churn
LTV_afterM1
LTV_M1_and_after
LTV for 12 month plan
Yearly Plan Total LTV
AMRPC
* AMRPC for new customers
SET @target_month = '2023-06-01';
SELECT AVG(
CASE
WHEN lang = 'en' THEN ROUND(amount_remaining*1200/ROUND(DATEDIFF(end_date, start_date)/30))
WHEN payment_key LIKE '%premium_12%' AND lang = 'ko' THEN 17491
ELSE ROUND(amount_remaining/ROUND(DATEDIFF(end_date, start_date)/30))
END
)
FROM payment
JOIN slid_user ON payment.user_id = slid_user.id
WHERE amount_remaining > 0
AND (lang = 'ko' OR lang = 'en')
AND start_date > @target_month
AND end_date > DATE_ADD(@target_month, INTERVAL 1 MONTH)
AND is_pending != 1
AND payment_key NOT LIKE '%daypass%'
AND payment_key NOT LIKE '%indian%'
AND slid_user.created_time > @target_month;
SQL
복사
Monthly
SET @target_month = '2023-06-01';
SELECT AVG(amount_remaining)
FROM payment
WHERE payment_gateway = 'payple'
AND payment_key NOT LIKE '%recurring%'
AND amount_remaining > 0
AND amount_remaining != 3900
AND amount_remaining != 9900
AND start_date >= @target_month
AND start_date < DATE_ADD(@target_month, INTERVAL 1 MONTH)
AND DATEDIFF(end_date, start_date) < 32
AND is_pending != 1
SQL
복사
Yearly
SET @target_month = '2023-06-01';
SELECT AVG(
CASE
WHEN payment_key LIKE '%premium_12%' AND lang = 'ko' THEN 209900
ELSE amount_remaining
END
)
FROM payment
WHERE payment_gateway = 'payple'
AND payment_key NOT LIKE '%recurring%'
AND amount_remaining > 0
AND amount_remaining != 3900
AND amount_remaining != 9900
AND start_date >= @target_month
AND start_date < DATE_ADD(@target_month, INTERVAL 1 MONTH)
AND DATEDIFF(end_date, start_date) > 364
AND is_pending != 1
SQL
복사
1month vs 12month ratio
SET @target_month = '2023-06-01';
SELECT
count(*),
SUM(CASE WHEN DATEDIFF(end_date, start_date) < 32 THEN 1 ELSE 0 END) AS count_1_month,
SUM(CASE WHEN DATEDIFF(end_date, start_date) >= 365 THEN 1 ELSE 0 END) AS count_12_month,
SUM(CASE WHEN DATEDIFF(end_date, start_date) < 32 THEN 1 ELSE 0 END) / COUNT(*) AS portion_1_month,
SUM(CASE WHEN DATEDIFF(end_date, start_date) >= 365 THEN 1 ELSE 0 END) / COUNT(*) AS portion_12_month
FROM payment
WHERE payment_key NOT LIKE '%recurring%'
AND amount_remaining > 0
AND start_date > @target_month
ANd start_date < DATE_ADD(@target_month, INTERVAL 1 MONTH)
AND is_pending != 1
AND payment_key NOT LIKE '%daypass%'
AND payment_key NOT LIKE '%indian%'
AND payment_key LIKE '%payple%'
AND user_id IN (
SELECT id FROM slid_user
WHERE created_time >= @target_month
AND created_time < DATE_ADD(@target_month, INTERVAL 1 MONTH)
AND (locale = 'ko' or country = 'South Korea')
);
SQL
복사