---
id: wiki-2026-0508-economic-complexity-index
title: Economic Complexity Index
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [ECI, Hidalgo-Hausmann Index, Product Complexity, Economic Fitness]
duplicate_of: none
source_trust_level: A
confidence_score: 0.86
verification_status: applied
tags: [econophysics, complexity, network-science, trade, hidalgo]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
  language: python
  framework: numpy/networkx
---

# Economic Complexity Index

## 매 한 줄
> **"매 country's productive capability = diversity of products it makes × ubiquity-inverse"**. 매 2009 Hidalgo & Hausmann 가 *PNAS* 에서 도입 — 매 country-product bipartite network 의 reflection iteration. 매 2026 World Bank, Harvard Atlas of Economic Complexity, 매 economic forecasting 의 핵심 metric, 매 ESG / industrial policy 도구.

## 매 핵심

### 매 핵심 직관
- **Diversity (k_c,0)**: 매 country c 가 만드는 product 종류 수.
- **Ubiquity (k_p,0)**: 매 product p 를 만드는 country 수 — 매 적을수록 매 어려운 product.
- **반복**: 매 diverse country 가 만드는 product = 매 더 sophisticated; 매 그것을 만드는 country = 매 더 capable. → fixed-point.

### 매 수학
```
k_c,n = (1/k_c,0) Σ_p M_cp · k_p,n-1
k_p,n = (1/k_p,0) Σ_c M_cp · k_c,n-1
```
- 매 M_cp = country c 가 product p 에서 RCA(Revealed Comparative Advantage) > 1 면 1.
- 매 ECI = 매 second eigenvector of M̂ matrix (정규화된 reflection operator).

### 매 변형
- **Fitness-Complexity (Tacchella 2012)**: nonlinear iteration, 매 better convergence.
- **Genepy**: ECI extended to GDP-weighted production.
- **Product Space**: country similarity network from co-export.

### 매 응용
1. **Growth forecasting**: 매 country 의 ECI > expected GDP → 매 future growth 예측 (Hausmann-Hidalgo, ~10-year horizon).
2. **Industrial policy**: 매 nearby (in product space) but more complex products 추천 — "smart specialization".
3. **Resilience**: 매 high ECI country 매 economic shock 에 robust.
4. **Inequality forecasting**: 매 ECI 와 Gini correlated.

## 💻 패턴

### RCA Matrix
```python
import numpy as np
def rca_matrix(exports):
    """exports: (n_countries, n_products) export values."""
    country_total = exports.sum(axis=1, keepdims=True)
    product_total = exports.sum(axis=0, keepdims=True)
    world_total = exports.sum()
    rca = (exports / country_total) / (product_total / world_total)
    return (rca > 1).astype(float)  # M_cp
```

### ECI via Eigenvector (Hidalgo-Hausmann)
```python
def eci(M):
    kc = M.sum(axis=1)               # diversity
    kp = M.sum(axis=0)               # ubiquity
    # Reflection operator M̂_cc' = Σ_p M_cp M_c'p / (kc · kp)
    M_hat = (M / kc[:, None]) @ (M.T / kp[:, None]).T
    eigvals, eigvecs = np.linalg.eig(M_hat)
    idx = np.argsort(np.abs(eigvals))[::-1]
    eci_raw = eigvecs[:, idx[1]].real  # 2nd eigenvector
    return (eci_raw - eci_raw.mean()) / eci_raw.std()
```

### Fitness-Complexity Iteration (Tacchella)
```python
def fitness_complexity(M, n_iter=200):
    n_c, n_p = M.shape
    F = np.ones(n_c); Q = np.ones(n_p)
    for _ in range(n_iter):
        F_new = M @ Q
        Q_new = 1 / (M.T @ (1 / F))   # nonlinear
        F = F_new / F_new.mean()
        Q = Q_new / Q_new.mean()
    return F, Q
```

### Product Space (Proximity)
```python
def product_proximity(M):
    """φ_pp' = min(P(p|p'), P(p'|p))."""
    kp = M.sum(axis=0)  # ubiquity
    co_occur = M.T @ M                          # countries making both
    P_p_given_pp = co_occur / kp[None, :]
    P_pp_given_p = co_occur / kp[:, None]
    return np.minimum(P_p_given_pp, P_pp_given_p)
```

### Density (Country-Product Opportunity)
```python
def density(country_idx, M, proximity):
    """ω_cp = Σ_p' M_cp' φ_pp' / Σ_p' φ_pp'  — country's strength near product p."""
    return (M[country_idx] @ proximity) / proximity.sum(axis=0)
```

### Growth Forecast (Simple)
```python
def growth_residual(eci, log_gdp_pc):
    """Hausmann-Hidalgo: log(GDP_pc) - α·ECI = expected; positive residual → undervalued."""
    coef = np.polyfit(eci, log_gdp_pc, 1)
    expected = np.polyval(coef, eci)
    return expected - log_gdp_pc  # positive → likely future growth
```

## 매 결정 기준
| 상황 | Metric |
|---|---|
| Cross-country capability ranking | ECI (eigenvector) |
| Convergence issues / inequality | Fitness-Complexity (nonlinear) |
| What product to develop next | density on product space |
| Long-term growth forecast | ECI residual |
| Service economy | digital ECI variant (caution: services data sparse) |

**기본값**: 매 ECI for ranking + Fitness-Complexity for forecasting + Product Space for policy.

## 🔗 Graph
- 부모: [[Complexity Science]]

## 🤖 LLM 활용
**언제**: 매 country 분석 prompt 에 매 ECI 데이터 inject (Atlas of Economic Complexity API).
**언제 X**: 매 micro-level firm productivity — 매 ECI is country-level only.

## ❌ 안티패턴
- **Equating ECI with GDP**: 매 ECI = capability, GDP = current outcome — 매 둘 다 필요.
- **Ignoring data lag**: 매 trade data 매 2-3 year lag.
- **Service blindspot**: 매 traditional ECI 는 goods-only — 매 modern variants 필요.
- **Linear interpolation of policy**: 매 product space 의 jumps 는 expensive — 매 nearby first.

## 🧪 검증 / 중복
- Verified (Hidalgo & Hausmann 2009 *PNAS*; Tacchella 2012 *Sci Rep*; Atlas of Economic Complexity 2026).
- 신뢰도 A.

## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — full content: ECI, F-C, product space, growth forecast |
