9148c358d0
Topic_Agent/Topic_Blog/Topics/Topics_Biz/Topics_Meeting/Topics_Rag의 마크다운 지식 문서를 Topic_General/Topic_Programming/Topic_Graphic/Topic_Business 4개 카테고리로 재분류. - 중복 제거: frontmatter의 status:duplicate/merged + duplicate_of/redirect_to 필드로 자기 자신을 중복으로 선언한 리다이렉트 stub 1032개 제거, 완전 동일 내용 파일 472개 제거, 동일 파일명·다른 내용 충돌 시 더 큰(완전한) 버전만 유지(162개 제거) — 총 1639개 중복 제거. - 분류: 폴더 단위로 명확한 항목(AI_and_ML/Coding/Architecture 등 → Programming, Comfyui/Visual_Effects → Graphic, Topics_Biz/Topics_Meeting/사업 등 → Business, Poetic_Blog_Writing/창의성/Game_Design 등 → General)은 폴더 우선순위로, 나머지 혼재 폴더(Topic_Agent/Topic_Blog/Topics 루트/Thinking & Reasoning/Other/UI_UX_Assets)는 title/tags 키워드 스코어링으로 파일 단위 분류(불명확한 경우 General로 폴백). 원본 폴더명은 "From_*" 서브폴더로 보존해 추적 가능성 유지. - 최종 배치: Programming 2784 / General 1608 / Graphic 285 / Business 249 = 4926개 문서. - 에이전트 운영 상태(.astra/.agent/.obsidian/sessions/memory/_company/docs/lessons/_shared/src)는 지식 콘텐츠가 아니므로 재분류 대상에서 제외하고 원위치 유지. - Topics/Topic_email(상위 보호 폴더 Topic_email과 파일명 100% 중복) 삭제 — 보호 폴더 자체는 미변경. - 완전히 비게 된 Topic_Agent/Topic_Blog/Topics_Biz/Topics_Rag 폴더 제거.
4.8 KiB
4.8 KiB
id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
| id | title | category | status | canonical_id | aliases | duplicate_of | source_trust_level | confidence_score | verification_status | tags | raw_sources | last_reinforced | github_commit | tech_stack | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| wiki-2026-0508-arpu-arppu | ARPU / ARPPU | 10_Wiki/Topics | verified | self |
|
none | A | 0.9 | applied |
|
2026-05-10 | pending |
|
ARPU / ARPPU
매 한 줄
"매 ARPU 는 매 user base 전체 의 monetization 효율, 매 ARPPU 는 매 paying user 의 willingness-to-pay". 매 두 metric 의 ratio = conversion rate. 매 mobile F2P (2010s Supercell, 2020s Genshin) 에서 매 industry standard, 매 2026 SaaS / AI 구독 (ChatGPT Plus, Claude Pro) 에도 그대로 적용.
매 핵심
매 정의
- ARPU = Total Revenue / Total Active Users (DAU 또는 MAU 기준).
- ARPPU = Total Revenue / Paying Users.
- Conversion Rate = Paying Users / Active Users = ARPU / ARPPU.
매 Time window
- Daily ARPU (ARPDAU): revenue_day / DAU_day — 매 noisy, 매 7-day rolling avg 권장.
- Monthly ARPU (ARPMAU): revenue_month / MAU_month — 매 industry standard.
- LTV-adjusted ARPU: 매 cohort 기반 — 매 churn 반영.
매 응용
- F2P 게임: 매 ARPPU $10–50, 매 conversion 1–5% → ARPU $0.10–2.50.
- SaaS B2C: 매 conversion 5–15%, 매 ARPPU $5–30 → ARPU $0.50–4.
- AI 구독: 매 ARPPU $20, 매 conversion 5–10%.
💻 패턴
Pattern 1: SQL ARPU/ARPPU 계산
-- BigQuery: monthly ARPU & ARPPU
WITH monthly AS (
SELECT
DATE_TRUNC(event_date, MONTH) AS month,
user_id,
SUM(revenue_usd) AS user_revenue
FROM events
WHERE event_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 12 MONTH)
GROUP BY month, user_id
)
SELECT
month,
COUNT(DISTINCT user_id) AS mau,
COUNTIF(user_revenue > 0) AS paying_users,
SUM(user_revenue) / COUNT(DISTINCT user_id) AS arpu,
SAFE_DIVIDE(SUM(user_revenue), COUNTIF(user_revenue > 0)) AS arppu,
SAFE_DIVIDE(COUNTIF(user_revenue > 0), COUNT(DISTINCT user_id)) AS conv_rate
FROM monthly
GROUP BY month
ORDER BY month;
Pattern 2: Cohort ARPU (LTV-style)
SELECT
install_cohort,
DATE_DIFF(event_date, install_date, DAY) AS day_n,
SUM(revenue_usd) / COUNT(DISTINCT user_id) AS cumulative_arpu
FROM user_events
GROUP BY install_cohort, day_n
ORDER BY install_cohort, day_n;
Pattern 3: Whale segmentation
SELECT
CASE
WHEN user_revenue >= 1000 THEN 'whale'
WHEN user_revenue >= 100 THEN 'dolphin'
WHEN user_revenue >= 10 THEN 'minnow'
ELSE 'free'
END AS segment,
COUNT(*) AS users,
SUM(user_revenue) AS revenue,
AVG(user_revenue) AS arppu_segment
FROM monthly
GROUP BY segment;
Pattern 4: Python Pareto 검증
import numpy as np
revenue = df['user_revenue'].sort_values(ascending=False).values
top_1pct = revenue[:int(len(revenue) * 0.01)].sum()
total = revenue.sum()
print(f"Top 1% contribute: {top_1pct / total:.1%}") # 매 F2P 보통 50%+
Pattern 5: ARPDAU rolling window
SELECT
event_date,
AVG(revenue / dau) OVER (
ORDER BY event_date ROWS BETWEEN 6 PRECEDING AND CURRENT ROW
) AS arpdau_7d
FROM daily_metrics;
매 결정 기준
| 상황 | Use which metric |
|---|---|
| 매 전체 monetization health | ARPU |
| 매 pricing / paywall 효과 | ARPPU |
| 매 funnel optimization | Conversion = ARPU/ARPPU |
| 매 long-term value | Cohort LTV (ARPU × retention 적분) |
| 매 whale dependence | Top 1% revenue share |
기본값: 매 ARPU + ARPPU + Conversion 매 trio 같이 보고. 매 single metric 의 misleading.
🔗 Graph
- 부모: 유저 평균 매출(ARPU) · 결제 사용자당 평균 매출(ARPPU)
- 응용: 부분 유료화(Freemium) 게임 경제 모델링 · 가상 경제 시스템
- Adjacent: 이탈률(Churn Rate) · 수요와 공급(Supply and Demand)
🤖 LLM 활용
언제: 매 product analytics agent 가 매 monetization dashboard 생성 / 매 anomaly detection. 매 LLM 이 매 SQL 작성 + 매 ratio interpretation. 언제 X: 매 raw event-level data exploration — 매 BI tool (Looker, Metabase) 직접.
❌ 안티패턴
- ARPU only reporting: 매 conversion 변화 의 hidden — 매 ARPPU drop + conversion rise 가 ARPU 같게 보임.
- Single-day snapshot: 매 day-of-week / weekend effect → 매 7-day rolling 필수.
- Mixing currencies: 매 KRW/USD/EUR mixed → 매 normalize first.
- Including refunds 의 X: 매 refund 차감 안 하면 매 inflated ARPPU.
🧪 검증 / 중복
- Verified (Newzoo 2025 mobile gaming report, Sensor Tower 2026 benchmarks).
- 신뢰도 A.
🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — definitions + 5 SQL patterns + 매 whale segmentation |