---
id: wiki-2026-0508-부분-유료화-free-to-play
title: 부분 유료화 (Free-to-Play)
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [Free-to-Play, F2P, Freemium, 부분유료화, 프리투플레이]
duplicate_of: none
source_trust_level: A
confidence_score: 0.9
verification_status: applied
tags: [game-design, monetization, business-model, economy]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
  language: language-agnostic
  framework: monetization
---

# 부분 유료화 (Free-to-Play)

## 매 한 줄
> **"매 무료 entry, 매 in-game purchase 의 통한 monetize."**. 2010s mobile gaming 의 explosion 의 driver — 매 Candy Crush, Clash of Clans, Genshin Impact, Fortnite 의 backbone. 2026 의 매 cosmetics-only (Fortnite, Valorant) 와 매 progression-gated (gacha) 의 split — 매 EU/KR regulation (gambling disclosure, 매 odds publication) 의 매 design 의 reshape.

## 매 핵심

### 매 monetization 의 종류
- **Cosmetic**: 매 skin · emote · nameplate — 매 power 의 X.
- **Battle pass**: 매 seasonal progression — 매 paid + free track.
- **Gacha / loot box**: 매 randomized reward — 매 rarity tier.
- **Energy / wait gate**: 매 stamina · timer — 매 pay-to-skip.
- **Pay-to-win (P2W)**: 매 power 의 직접 sell — 매 controversial.
- **Subscription**: 매 monthly perk (Apple Arcade, Game Pass — F2P 의 hybrid).

### 매 metric
- **ARPU**: average revenue per user.
- **ARPPU**: average revenue per paying user.
- **Conversion rate**: 매 free → paying %.
- **Whale concentration**: 매 top 1% 의 50%+ revenue 의 contribute (typical).
- **D1/D7/D30 retention**: 매 monetization 의 prerequisite.

### 매 응용
1. 매 economy design — 매 sink/source balance 의 inflation 의 prevent.
2. 매 A/B test — 매 price point · 매 offer cadence.
3. 매 ethical disclosure — 매 gacha odds publication (KR · CN law).

## 💻 패턴

### Pricing tier (server config)
```yaml
products:
  - id: gem_pack_small
    price_usd: 4.99
    gems: 500
    bonus: 0
  - id: gem_pack_medium
    price_usd: 19.99
    gems: 2200       # 매 10% bonus
    bonus: 200
    badge: "best_value"
  - id: gem_pack_large
    price_usd: 99.99
    gems: 13000      # 매 30% bonus, whale tier
    bonus: 3000
```

### Gacha pull with pity
```python
import random

def pull(banner, pity_counter):
    rates = banner.rates  # {"5★": 0.006, "4★": 0.051, "3★": 0.943}
    if pity_counter >= banner.hard_pity:  # 매 90 pulls 의 5★ guarantee
        return banner.featured_5star, 0
    r = random.random()
    if r < rates["5★"]: return random_5star(), 0
    if r < rates["5★"] + rates["4★"]: return random_4star(), pity_counter + 1
    return random_3star(), pity_counter + 1
```

### Battle pass progression
```typescript
interface BattlePass {
  season: number;
  currentXP: number;
  tiers: Tier[];          // 매 100 tiers
  ownsPaid: boolean;
}

function unlockedRewards(bp: BattlePass): Reward[] {
  const tier = Math.floor(bp.currentXP / 1000);
  return bp.tiers.slice(0, tier).flatMap(t =>
    bp.ownsPaid ? [t.free, t.paid] : [t.free]
  );
}
```

### Energy/stamina regen
```typescript
function currentStamina(user: User, now: Date): number {
  const elapsed = (now.getTime() - user.lastStaminaUpdate.getTime()) / 1000;
  const regen = Math.floor(elapsed / 360); // 매 6 min/point
  return Math.min(user.stamina + regen, user.maxStamina);
}
// pay 의 instant refill: refill_cost = 50 gems
```

### Whale-friendly bundle
```yaml
bundle_starter:
  one_time_only: true
  price_usd: 0.99
  contents:
    - hero_card_5star: 1
    - gems: 1000
  rationale: "low-friction first purchase — 매 conversion driver"
```

### Disclosure (KR/CN law compliance)
```json
{
  "banner": "limited_5star_featured",
  "rates_disclosed": {
    "5★_featured": 0.0030,
    "5★_other": 0.0030,
    "4★_any": 0.0510,
    "3★_any": 0.9430
  },
  "pity_disclosed": { "soft_pity_at": 75, "hard_pity_at": 90 }
}
```

### Live ops calendar (offers)
```yaml
events:
  - id: "weekend_sale"
    cadence: "Fri 18:00 → Sun 23:59 KST"
    discount: 0.20
  - id: "comeback_offer"
    trigger: "user.daysSinceLastSession >= 7"
    contents: [gems: 500, hero_token: 1]
```

## 매 결정 기준
| 상황 | Approach |
|---|---|
| 매 competitive PvP | Cosmetic-only — 매 P2W 의 player exodus 의 cause |
| 매 RPG/gacha audience | Banner + pity + battle pass |
| 매 casual puzzle | Energy gate + remove-ad IAP |
| 매 EU/KR market | Disclosure 의 mandatory · 매 gambling-like 의 minor restriction |
| 매 retention < D7 | 매 monetize 의 premature — 매 retention 의 fix first |

**기본값**: 매 cosmetic + battle pass — 매 controversy 의 minimize, 매 long-term retention 의 protect.

## 🔗 Graph
- 부모: [[Game_Monetization]]
- 변형: [[Freemium]]
- 응용: [[Gacha]] · [[Loot_Box]] · [[LiveOps]]
- Adjacent: [[Game_Economy]] · [[Player_Retention]]

## 🤖 LLM 활용
**언제**: 매 economy simulation — 매 sink/source balance 의 model, 매 offer copy 의 generate.
**언제 X**: 매 ethical decision — 매 manipulative dark pattern 의 design 의 X.

## ❌ 안티패턴
- **Pay-to-win in PvP**: 매 competitive integrity 의 destroy → 매 churn.
- **Hidden gacha rates**: 매 KR/CN illegal · 매 trust 의 destroy.
- **Inflation**: 매 currency source > sink — 매 economy 의 break.
- **Monetize early**: 매 D1 popup 의 IAP — 매 retention 의 tank.
- **Whale-only design**: 매 top 1% 의 only 의 fun — 매 base 의 hollow out.

## 🧪 검증 / 중복
- Verified (Schell *Art of Game Design*; KR Game Industry Promotion Act 2024 amend; Sensor Tower 2026 mobile report).
- 신뢰도 A.

## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — monetization types, gacha mechanics, regulation |
