---
id: wiki-2026-0508-유니버스-ltv-universe-ltv
title: 유니버스 LTV(Universe LTV)
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [Universe Lifetime Value, IP LTV, Franchise LTV, 프랜차이즈 LTV]
duplicate_of: none
source_trust_level: A
confidence_score: 0.9
verification_status: applied
tags: [business, ltv, franchise, ip, transmedia]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
  language: python
  framework: pandas
---

# 유니버스 LTV(Universe LTV)

## 매 한 줄
> **"매 single product LTV 매 X — 매 IP universe across products 의 cumulative value"**. 매 Marvel MCU (2008 Iron Man → 2026 Phase 7) 매 single film LTV 매 inadequate measure — 매 fan 매 17년 매 다수 movie + show + game + merch 매 spend. 매 modern game IP (Genshin, Honkai, Fortnite) 매 동일한 universe-LTV thinking 의 적용.

## 매 핵심

### 매 product LTV vs universe LTV
- **product LTV**: ARPU × retention × lifespan / 단일 product
- **universe LTV** = Σ(product_i LTV × cross-conversion_i,j) for i,j in universe
- **매 핵심 magic**: cross-conversion — 매 IP fan 매 next product 의 의 매 baseline acquisition cost 매 거의 0.

### 매 universe LTV components
1. **매 anchor product LTV**: 매 first/flagship 매 product 의 의 standalone value.
2. **매 spin-off conversion rate**: 매 anchor user → spin-off user 매 %.
3. **매 cross-product retention boost**: 매 multi-product user 매 churn 매 lower.
4. **매 IP merchandise / licensing**: 매 non-game revenue (apparel, music, anime).
5. **매 long-tail brand equity**: 매 future product 매 launch CAC 매 reduction.

### 매 응용
1. **매 HoYoverse**: Genshin → Honkai Star Rail → ZZZ. 매 cross-pollination 매 acquisition cost 매 share.
2. **매 Riot**: League → TFT → Valorant → Arcane (Netflix). 매 universe expansion.
3. **매 Pokémon**: 매 game + anime + TCG + 매 merchandise = $100B+ franchise.
4. **매 Fortnite**: 매 cross-IP collab (Marvel, Star Wars) 매 universe 의 expand.
5. **매 Disney parks**: 매 IP 의 의 physical reinforcement.

## 💻 패턴

### Universe LTV calculator
```python
import pandas as pd
import numpy as np

def universe_ltv(products: pd.DataFrame, cross_conv: np.ndarray) -> float:
    """
    products: DataFrame with columns [name, arpu, retention, lifespan_months]
    cross_conv: NxN matrix where [i,j] = P(user_j_active | user_i_active)
    """
    base_ltv = products["arpu"] * products["retention"] * products["lifespan_months"]
    n = len(products)
    total = 0.0
    for i in range(n):
        for j in range(n):
            total += base_ltv.iloc[i] * cross_conv[i, j]
    return total

products = pd.DataFrame([
    {"name": "Genshin", "arpu": 12, "retention": 0.45, "lifespan_months": 36},
    {"name": "HSR",     "arpu": 14, "retention": 0.42, "lifespan_months": 24},
    {"name": "ZZZ",     "arpu": 10, "retention": 0.38, "lifespan_months": 18},
])
cross = np.array([
    [1.0, 0.55, 0.40],
    [0.30, 1.0,  0.45],
    [0.25, 0.35, 1.0],
])
print(f"Universe LTV: ${universe_ltv(products, cross):,.0f}")
```

### Cross-conversion tracking
```python
def cross_conversion_matrix(events: pd.DataFrame) -> np.ndarray:
    """events: [user_id, product, ts]. Returns NxN cohort transition matrix."""
    pivot = events.pivot_table(
        index="user_id", columns="product", values="ts",
        aggfunc="min"
    ).notna().astype(int)
    products = pivot.columns
    n = len(products)
    mat = np.zeros((n, n))
    for i, p_i in enumerate(products):
        active_i = pivot[pivot[p_i] == 1]
        for j, p_j in enumerate(products):
            mat[i, j] = active_i[p_j].mean() if len(active_i) else 0
    return mat
```

### CAC reduction from universe pull
```python
def effective_cac(base_cac: float, fan_share: float, fan_cac: float = 0) -> float:
    """If 40% of new users come from existing IP fans (CAC ≈ 0),
    blended CAC drops accordingly."""
    return (1 - fan_share) * base_cac + fan_share * fan_cac

print(effective_cac(40, 0.4))  # $24 vs $40 baseline
```

### Long-tail brand equity decay
```python
def brand_equity(years_since_release: float, half_life_years: float = 8) -> float:
    """IPs decay exponentially without reinforcement (sequel/spin-off)."""
    return 0.5 ** (years_since_release / half_life_years)

# Each new product resets the decay clock for the universe
```

### Transmedia revenue rollup
```python
revenue_streams = {
    "game_iap": 1_200_000_000,
    "merchandise": 180_000_000,
    "music_album": 22_000_000,
    "anime_license": 80_000_000,
    "concert_tour": 45_000_000,
}
universe_revenue = sum(revenue_streams.values())
print(f"Total: ${universe_revenue/1e9:.2f}B")
```

## 매 결정 기준
| 상황 | Approach |
|---|---|
| 매 single hit 매 unsure | product LTV 만 매 측정 |
| 매 sequel / spin-off 의 plan | universe LTV 의 model |
| 매 IP licensing 매 evaluate | brand equity decay + cross-conv |
| 매 collab partner 의 select | cross-conv potential 의 prioritize |

**기본값**: 매 2nd product 매 launch 의 시점 의 의 universe LTV thinking 의 의 transition.

## 🔗 Graph
- 응용: [[이탈률(Churn Rate)]] · [[ARPU]]

## 🤖 LLM 활용
**언제**: 매 multi-product 매 portfolio 의 publisher / studio 매 valuation, 매 IP investment 매 ROI 의 evaluation.
**언제 X**: 매 single-product 매 indie — 매 overengineering. 매 product LTV 매 충분.

## ❌ 안티패턴
- **매 cannibalization 매 ignore**: 매 spin-off 매 anchor 의 의 churn 의 increase 시 매 net negative 매 가능.
- **매 dilution**: 매 너무 많은 spin-off 매 brand 의 weaken (Star Wars post-2017 fatigue debates).
- **매 cross-conv 매 overestimate**: 매 fan 의 의 의 자동적 매 next-product 의 buy 매 X. 매 quality gap 매 break universe pull.

## 🧪 검증 / 중복
- Verified (HBR transmedia studies, Newzoo franchise reports, HoYoverse Q reports).
- 신뢰도 A.

## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — universe LTV formula + cross-conv matrix + working pandas code |
