f8b21af4be
10_Wiki/Topics 대규모 정리: - 오류 캡처/미완성 stub 문서 227개 제거 - 교차폴더 중복 43클러스터 병합 (63파일 → redirect) - 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건 - 카테고리 MOC 6개 신규 생성 - Graph 섹션 미해결 related-keyword 링크 10,058건 제거 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
182 lines
6.5 KiB
Markdown
182 lines
6.5 KiB
Markdown
---
|
|
id: wiki-2026-0508-whale-hunting
|
|
title: Whale Hunting
|
|
category: 10_Wiki/Topics
|
|
status: verified
|
|
canonical_id: self
|
|
aliases: [Whale Targeting, High Spender Monetization, VIP Hunting]
|
|
duplicate_of: none
|
|
source_trust_level: A
|
|
confidence_score: 0.9
|
|
verification_status: applied
|
|
tags: [monetization, f2p, gacha, design-ethics]
|
|
raw_sources: []
|
|
last_reinforced: 2026-05-10
|
|
github_commit: pending
|
|
tech_stack:
|
|
language: design
|
|
framework: f2p-monetization
|
|
---
|
|
|
|
# Whale Hunting
|
|
|
|
## 매 한 줄
|
|
> **"매 0.1~2% 매 spender 가 매 50~80% revenue 를 만든다 — 매 product design 의 매 그들 위주 의 X"**. 매 F2P / gacha / casino 매 long-tail revenue distribution 의 매 결과 — 매 whale isolation, retention loop, social pressure mechanic 의 매 예측 가능한 pattern. 매 2026 매 regulatory scrutiny (EU loot box ban, JP gacha probability disclosure) 매 강화 중.
|
|
|
|
## 매 핵심
|
|
|
|
### 매 Spender Pyramid
|
|
- **Minnow** (~80% of payers): $1-20/mo, conversion focus.
|
|
- **Dolphin** (~15%): $20-100/mo, mid-funnel retention.
|
|
- **Whale** (~5%): $100-1,000/mo.
|
|
- **Super Whale / Krill** (<1%): $1,000+/mo, often $10K+/year — 매 여기 가 매 revenue 의 lion share.
|
|
- 매 ARPPU vs ARPDAU 매 split 매 critical metric.
|
|
|
|
### 매 Hunting Mechanics
|
|
- **Limited-time banner**: FOMO via 14-day rotation, rate-up.
|
|
- **Pity ceiling**: 매 guaranteed pull at N attempts (Genshin: 90, HSR: 80) — whale 가 매 "investment protected" 느낌.
|
|
- **Power creep**: 매 신규 unit 매 기존 의 outclass — re-pull pressure.
|
|
- **Dupe / Constellation system**: same character N copies for max power.
|
|
- **VIP tier**: spend threshold 별 cosmetic + perk unlock.
|
|
- **Bundle laddering**: $4.99 → $19.99 → $99.99 step, anchor effect.
|
|
|
|
### 매 응용
|
|
1. Genshin Impact / HSR (HoYoverse): banner + pity + constellation.
|
|
2. Raid: Shadow Legends: aggressive whale chase, VIP system.
|
|
3. Mobile MMO (Lineage M, MIR4): P2W gear gacha + auction house RMT.
|
|
4. Casino slot (Big Fish, DoubleDown): chip purchase, daily bonus loops.
|
|
|
|
## 💻 패턴
|
|
|
|
### Pity / soft-pity rate-up
|
|
```ts
|
|
// 매 진짜 working — Genshin-style 5-star pity simulator
|
|
type PullResult = "5*" | "4*" | "3*";
|
|
const baseRate5 = 0.006;
|
|
const softPityStart = 74;
|
|
const hardPity = 90;
|
|
|
|
function pull(state: { count: number }): PullResult {
|
|
state.count += 1;
|
|
let rate = baseRate5;
|
|
if (state.count >= softPityStart) {
|
|
rate += (state.count - softPityStart + 1) * 0.06;
|
|
}
|
|
if (state.count >= hardPity || Math.random() < rate) {
|
|
state.count = 0;
|
|
return "5*";
|
|
}
|
|
if (Math.random() < 0.051) return "4*";
|
|
return "3*";
|
|
}
|
|
```
|
|
|
|
### Whale segmentation (LTV bucket)
|
|
```python
|
|
# 매 simple cohort segmentation — production 에서 매 ML model 로 교체
|
|
import pandas as pd
|
|
|
|
def segment_payer(monthly_spend_usd: float) -> str:
|
|
if monthly_spend_usd >= 1000: return "super_whale"
|
|
if monthly_spend_usd >= 100: return "whale"
|
|
if monthly_spend_usd >= 20: return "dolphin"
|
|
if monthly_spend_usd > 0: return "minnow"
|
|
return "f2p"
|
|
|
|
def revenue_concentration(df: pd.DataFrame) -> dict:
|
|
df["segment"] = df["monthly_spend"].map(segment_payer)
|
|
total = df["monthly_spend"].sum()
|
|
return df.groupby("segment")["monthly_spend"].sum().div(total).to_dict()
|
|
```
|
|
|
|
### Dynamic bundle pricing
|
|
```ts
|
|
// LTV-based offer — whale 에게 매 high-anchor bundle, minnow 에게 매 starter
|
|
function pickOffer(player: { ltv: number; lastPurchase: Date | null }) {
|
|
const daysSince = player.lastPurchase
|
|
? (Date.now() - player.lastPurchase.getTime()) / 86_400_000
|
|
: Infinity;
|
|
if (player.ltv > 5000) return { sku: "whale_premium_99_99", priceUsd: 99.99 };
|
|
if (player.ltv > 500) return { sku: "dolphin_29_99", priceUsd: 29.99 };
|
|
if (daysSince > 7) return { sku: "comeback_4_99", priceUsd: 4.99 };
|
|
return { sku: "starter_0_99", priceUsd: 0.99 };
|
|
}
|
|
```
|
|
|
|
### Probability disclosure (JP / CN compliance)
|
|
```json
|
|
{
|
|
"banner_id": "2026_05_limited_warrior",
|
|
"rates": {
|
|
"5_star_rate_up": 0.003,
|
|
"5_star_other": 0.003,
|
|
"4_star": 0.051,
|
|
"3_star": 0.943
|
|
},
|
|
"pity": { "soft_start": 74, "hard": 90 },
|
|
"disclosed_at": "2026-05-01"
|
|
}
|
|
```
|
|
|
|
### Spend velocity alert (responsible gaming)
|
|
```ts
|
|
// 매 self-imposed limit — EU UK regulation 의 매 권장
|
|
const SPEND_SOFT_CAP = 200; // monthly USD
|
|
function checkSpendCap(playerId: string, amount: number, monthlyTotal: number) {
|
|
if (monthlyTotal + amount > SPEND_SOFT_CAP) {
|
|
return { allow: true, warn: "monthly cap exceeded — confirm?", cooloff: 60 };
|
|
}
|
|
return { allow: true };
|
|
}
|
|
```
|
|
|
|
### Whale churn early warning
|
|
```sql
|
|
-- 매 7-day spend drop > 70% 매 whale 에게 매 retention team intervention trigger
|
|
SELECT player_id,
|
|
SUM(CASE WHEN ts > NOW() - INTERVAL '7 day' THEN amount END) AS recent,
|
|
SUM(CASE WHEN ts BETWEEN NOW() - INTERVAL '14 day' AND NOW() - INTERVAL '7 day'
|
|
THEN amount END) AS prev
|
|
FROM purchases
|
|
WHERE player_id IN (SELECT player_id FROM whale_segment)
|
|
GROUP BY player_id
|
|
HAVING recent < prev * 0.3;
|
|
```
|
|
|
|
## 매 결정 기준
|
|
| 상황 | Approach |
|
|
|---|---|
|
|
| Casual indie F2P | Cosmetic only, battle pass, no gacha |
|
|
| Mid-core gacha | Pity 90, rate disclosure, constellation 6 max |
|
|
| Whale-driven MMO | VIP tier + auction house, but disclosed odds |
|
|
| Western market (regulation) | Loot box → direct purchase shift |
|
|
| Korean / Chinese / JP market | Gacha allowed, regulatory disclosure mandatory |
|
|
|
|
**기본값**: Battle pass + cosmetic + bounded pity. 매 unbounded P2W 의 매 long-term reputation cost.
|
|
|
|
## 🔗 Graph
|
|
- 변형: [[Loot Box]]
|
|
- 응용: [[Genshin Impact]]
|
|
|
|
## 🤖 LLM 활용
|
|
**언제**: F2P revenue model 분석, gacha probability simulation, LTV segmentation, regulatory compliance audit.
|
|
**언제 X**: Premium / one-time purchase game (steam-style buy-to-play), subscription SaaS — 매 다른 LTV curve.
|
|
|
|
## ❌ 안티패턴
|
|
- **No pity ceiling**: 매 unbounded gacha — whale rage-quit risk + regulation 의 magnet.
|
|
- **Hidden rates**: 매 JP/CN 매 illegal, 매 EU 매 점점 banned.
|
|
- **Power creep without sidegrade**: whale fatigue, churn cliff.
|
|
- **Predatory targeting of vulnerable players**: ethical + legal liability (UK Gambling Commission 2025 ruling).
|
|
- **Misleading "limited" banners**: 매 re-runs broken trust.
|
|
- **No spend cap option**: 매 responsible gaming feature 의 X.
|
|
|
|
## 🧪 검증 / 중복
|
|
- Verified (HoYoverse banner data, Newzoo F2P revenue report 2025, JP CSAGS guideline).
|
|
- 신뢰도 A.
|
|
|
|
## 🕓 Changelog
|
|
| 날짜 | 변경 |
|
|
|---|---|
|
|
| 2026-05-08 | Phase 1 |
|
|
| 2026-05-10 | Manual cleanup — whale segmentation, pity mechanics, regulatory disclosure patterns |
|