---
id: wiki-2026-0508-약탈적-수익화-predatory-monetization
title: 약탈적 수익화 (Predatory Monetization)
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [Predatory Monetization, Dark Patterns Monetization, Manipulative BM]
duplicate_of: none
source_trust_level: A
confidence_score: 0.9
verification_status: applied
tags: [monetization, dark-patterns, ethics, game-design, regulation]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
  language: typescript
  framework: game-economy
---

# 약탈적 수익화 (Predatory Monetization)

## 매 한 줄
> **"매 의도적 정보 비대칭 + 인지 편향 착취 = 약탈"**. 약탈적 수익화는 단순 결제 유도 가 아니라, 사용자가 **fully informed하게는 절대 동의하지 않을 거래** 를 reward schedule · sunk cost · social pressure 으로 끌어내는 패턴들의 집합이다. 2026 기준 EU DSA, 벨기에/네덜란드 loot box 금지, 한국 확률형 정보공개법(2024.3 시행) 등으로 규제화 진행 중.

## 매 핵심

### 매 King & Delfabbro 분류 (5 categories)
- **Disguised**: 진짜 비용을 숨김 (premium currency, conversion 불투명).
- **Compulsive**: variable-ratio reward (loot box, gacha).
- **Time-pressure**: limited-time offer · FOMO timer.
- **Pay-to-skip / pay-to-win**: artificial grind 조성 후 결제 skip.
- **Exploitative**: 미성년자 · 도박 성향자 specific targeting.

### 매 인지 메커니즘
- **Variable ratio reinforcement** (Skinner box) — 가장 강한 행동 형성.
- **Sunk cost fallacy** — 이미 쓴 돈 회수 욕구.
- **Social proof / FOMO** — 길드/친구 비교.
- **Loss aversion** — "limited offer 끝나면 손실".
- **Pity timer 의 역설** — 보장 메커니즘이 오히려 spend 가속.

### 매 응용 (회피)
1. Ethical monetization audit — 5 categories 점검.
2. Transparent odds disclosure — 1% 확률을 1%로 명확히.
3. Spend caps + age gates — 미성년 보호.

## 💻 패턴

### Dark pattern detector
```typescript
type Offer = {
  realCostUSD: number;
  displayedAs: 'currency' | 'usd';
  timer?: number;            // seconds until expiry
  drawProbability?: number;  // 0..1 for loot
  targetsUnder18?: boolean;
};

function predatoryFlags(o: Offer): string[] {
  const f: string[] = [];
  if (o.displayedAs === 'currency') f.push('disguised-cost');
  if (o.timer && o.timer < 24*3600) f.push('time-pressure');
  if (o.drawProbability && o.drawProbability < 0.01) f.push('compulsive-low-odds');
  if (o.targetsUnder18) f.push('exploitative-minor');
  return f;
}
```

### Transparent loot box (regulation-compliant)
```typescript
interface LootBox {
  items: { id: string; rarity: string; probability: number }[];
  pityCap: number;
  guaranteedAt: number;
}

function discloseOdds(box: LootBox) {
  console.assert(
    Math.abs(box.items.reduce((s,i)=>s+i.probability,0) - 1) < 1e-6,
    'probabilities must sum to 1'
  );
  return box.items.map(i => `${i.id} (${i.rarity}): ${(i.probability*100).toFixed(2)}%`);
}
```

### Spend cap (age-aware)
```typescript
class SpendGuard {
  monthlyCapUSD(age: number): number {
    if (age < 13) return 0;        // no purchases
    if (age < 18) return 50;       // KR/EU youth cap
    return Infinity;               // adult
  }
  canCharge(userId: string, age: number, amountUSD: number, monthSpentUSD: number) {
    return monthSpentUSD + amountUSD <= this.monthlyCapUSD(age);
  }
}
```

### FOMO-free LTO replacement
```typescript
// 대신: rotating shop without artificial scarcity
const shop = {
  rotation: 'weekly',
  itemsAlwaysReturnInDays: 28,        // 모든 아이템 4주 내 재등장
  noCountdownTimer: true,
};
```

### Conversion-opaque currency (anti-pattern detect)
```typescript
function isOpaqueCurrency(pkg: { gems: number; usd: number }, allPkgs: typeof pkg[]) {
  const rates = allPkgs.map(p => p.gems / p.usd);
  const variance = Math.max(...rates) / Math.min(...rates);
  return variance > 1.5; // bulk-discount confusion
}
```

### Whale targeting telemetry (red flag)
```typescript
// 이런 segment 가 운영되면 audit 필요
const WHALE_DEFINITION = { monthlySpendUSD: 1000, sessionLengthMin: 240 };
// 별도 push notification · personalized offer = 약탈적 가능성 ↑
```

## 매 결정 기준
| 상황 | Approach |
|---|---|
| 신규 게임 BM 설계 | 5 categories audit · 통과 시 launch. |
| Loot box 운영 | 확률공개 의무 (KR 2024.3) · pity cap 명시. |
| 미성년 user 비율 > 10% | spend cap · parental control 의무. |
| EU 출시 | DSA dark pattern 금지 조항 반드시 reviw. |

**기본값**: cosmetic-only · transparent odds · no FOMO timer < 7d · monthly cap 옵션 제공.

## 🔗 Graph
- 부모: [[Monetization (BM)]] · [[Game-Ethics]]
- 변형: [[Loot-Box]] · [[Gacha-Mechanics]] · [[Pay-to-Win]]
- 응용: [[Ethical-F2P-Design]] · [[Regulatory-Compliance]]
- Adjacent: [[Dark-Patterns]] · [[Behavioral-Economics]] · [[Skinner-Box]]

## 🤖 LLM 활용
**언제**: BM design review, dark pattern audit, regulatory compliance check (KR 확률공개법 / EU DSA).
**언제 X**: 단순 "이 가격이 적정한가" — pricing strategy 는 별개 영역.

## ❌ 안티패턴
- **"It's industry standard"**: 매 다른 회사도 한다 = 정당화 X (regulatory wave 임박).
- **Hidden conversion rate**: gem→USD 환산 의도적 복잡화.
- **Pity timer 강조**: 90% 가 pity 직전 spend → 약탈 가속 신호.
- **Re-roll banner**: "이번엔 진짜 좋은거" 갱신마다 sunk cost.

## 🧪 검증 / 중복
- Verified (King & Delfabbro 2018; Zendle et al. 2019).
- 신뢰도 A — peer-reviewed gaming addiction research.

## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — predatory monetization patterns |
