market-sizing
npx skills add https://github.com/z1993/alphamao_skills --skill market-sizing
Agent 安装分布
Skill 文档
Market Sizing Skill V2
ä¸ä¸çº§å¸åºè§æ¨¡æµç®å·¥å ·ï¼æ¯æ Fermi ä¼°ç®ãMonte Carlo 模æå夿°æ®æºéæã
æ ¸å¿è½å
| è½å | æè¿° |
|---|---|
| Fermi ä¼°ç® | 5 ç§å解模å¼ï¼ç»æåè®¡ç® |
| Monte Carlo | è¾åºç½®ä¿¡åºé´ï¼èéåç¹ä¼°è®¡ |
| æ°æ® API | 6 个å è´¹æ°æ®æº (AkShare, FRED, World Bank ç) |
| ä¸ä¸æ¥å | Markdown + HTML 交äºå¾è¡¨ |
è§¦åæ¡ä»¶
å½ç¨æ·æå°ä»¥ä¸å 容æ¶è§¦åï¼
- ãå¸åºè§æ¨¡ããå¸åºæå¤å¤§ããmarket sizeã
- ãTAMããSAMããSOMã
- ãä¼°ç®å¸åºããå¸åºæµç®ã
- æç¡®çå¸åºå®ä¹è¯·æ±
工使µç¨
Phase 1: ä¿¡æ¯æ¶é (å¿ é¡»å 宿)
å¨å¼å§ä»»ä½è®¡ç®ä¹åï¼å¿ é¡»æ¶é以ä¸ä¿¡æ¯:
## ð¯ Clarifying Questions
1. **å¸åºå®ä¹**
- 产å/æå¡çè¾¹çæ¯ä»ä¹ï¼
- å
å«ä»ä¹ï¼æé¤ä»ä¹ï¼
- æ¯å¦å
å«å®åæå¡/MROï¼
2. **客æ·ç»å**
- ç®æ å®¢æ·æ¯è°ï¼B2B è¿æ¯ B2Cï¼
- ä¼ä¸è§æ¨¡/人å£ç¹å¾è¦æ±ï¼
3. **å°åèå´**
- å
¨ç/åºå/åä¸å½å®¶ï¼
- æ¯å¦å«æ¸¯æ¾³å°ï¼
4. **æ¶é´èå´**
- å½åå¹´ä»½è¿æ¯é¢æµæï¼
- éè¦å 年颿µï¼
5. **æ°æ®å¯å¾æ§**
- ç¨æ·æç°æèµæåï¼
- æ¯å¦æç«åä¿¡æ¯ï¼
åªæå¨æ¶éå®å¿ è¦ä¿¡æ¯åï¼æè½è¿å ¥è®¡ç®é¶æ®µã
Phase 2: æ¹æ³éæ©
æ ¹æ®æ°æ®å¯å¾æ§éæ©æ¹æ³ï¼
graph TD
A[æç´æ¥å¸åºæ°æ®?] -->|æ¯| B[Top-Down æ¹æ³]
A -->|å¦| C{ç®æ 客æ·ç±»å?}
C -->|B2C æ¶è´¹è
| D[人å£åºæ°æ³]
C -->|B2B ä¼ä¸| E[æºæåºæ°æ³]
C -->|æ¿ä»£ç°ææ¹æ¡| F[æ¿ä»£æ³]
C -->|产ä¸é¾ç¯è| G[ä»·å¼é¾æ³]
C -->|æ æ³å½ç±»| H[ä»·å¼åºç¡æ³]
è¯¦ç»æ¹æ³è¯´æè§ fermi_patterns.mdã 妿已ç¥è¡ä¸ç±»å (SaaS/Marketplace/Consumer/B2B/Hardware)ï¼ä¼å åè industry_templates.mdã
Phase 3: æ°æ®è·å
ä½¿ç¨ data_fetcher.py è·åç宿°æ®æ¯æå设ï¼
from scripts.data_fetcher import DataFetcher
df = DataFetcher()
# ä¸å½ GDP
gdp = df.get_china_gdp()
# è¡ä¸æ°æ®
industry = df.search_akshare_functions("汽车")
è¯¦ç» API 说æè§ data_sources.mdã
Phase 4: Fermi 计ç®
ð¨ æ°æ®ä¸åå (强å¶): æ¯ä¸ä¸ªæ°ååªè½æ¯ä»¥ä¸ä¸ç§ä¹ä¸ï¼ä¸å 许å空åºç°ä»»ä½æ°æ®:
ç±»å æ è®° è¦æ± å¼ç¨ ð æ¥èªå¯é æ¥å/å ¬å¼æ°æ®ï¼å¿ é¡»æ æ³¨å ·ä½æ¥æº (æ¥åå+页ç /URL) è®¡ç® ð§® ç±å·²ææ°æ®æ¨å¯¼å¾åºï¼å¿ é¡»ååºå®æ´è®¡ç®å ¬å¼ å设 â ï¸ æ æ³è·åçåç估计ï¼å¿ 须说æä¼°è®¡ä¾æ®å¹¶ç»åºèå´
ä½¿ç¨ fermi_calculator.py æ§è¡ç»æå计ç®ï¼
from scripts.fermi_calculator import FermiCalculator
calc = FermiCalculator()
result = calc.population_based(
base_population=1.4e9,
filters=[
("åå¸äººå£", 0.65),
("20-50å²", 0.45),
("ç®æ ç¨æ·", 0.20),
],
penetration_rate=0.8,
average_spend=100,
frequency=12,
unit="å
"
)
print(result)
Phase 5: Monte Carlo 模æ
ä½¿ç¨ monte_carlo.py éåä¸ç¡®å®æ§ï¼
from scripts.monte_carlo import MonteCarloSimulator, Assumption
sim = MonteCarloSimulator(seed=42)
result = sim.run(
assumptions={
"å¸åºåºæ°(亿)": Assumption(min=20, max=35, most_likely=25),
"ç®æ å æ¯": Assumption(min=0.35, max=0.55, most_likely=0.45),
"å¸å ç": Assumption(min=0.10, max=0.20, most_likely=0.15),
},
formula=lambda **k: k["å¸åºåºæ°(亿)"] * k["ç®æ å æ¯"] * k["å¸å ç"],
n_simulations=10000,
unit="亿å
"
)
print(result)
# è¾åº 90% 置信åºé´åæææ§åæ
Phase 6: çææ¥å
ä½¿ç¨ report_generator.py è¾åºä¸ä¸æ¥åãæ¥åæ ¼å¼éæ©è§ presentation_guide.mdã
from scripts.report_generator import ReportGenerator, MarketSizingData
gen = ReportGenerator()
data = MarketSizingData(
market_name="ä¸å½èªç©ºæ´»å¡å卿º (200-500HP)",
geography="ä¸å½å¤§é",
base_year=2024,
forecast_years=5,
tam=25.5,
sam=11.5,
som=1.7,
unit="亿å
",
cagr=0.08,
monte_carlo_result=result.to_dict(),
)
gen.generate(data, output_dir="./output", formats=["md", "html", "xlsx"])
[!IMPORTANT] Excel å ¬å¼é¾ä¾èµ
assumptionsä¸çkeyåæ®µå½åãå¿ é¡»éµå¾ªä»¥ä¸è§èï¼å¦å Excel å°é级为éæå¼ã
Assumption Key å½åè§è (强å¶)
Excel 弿éè¿ key åèªå¨æ£æµ Fermi å解模å¼å¹¶æå»ºå
¬å¼é¾ã
æ¨¡å¼ 1: æºæåºæ°æ³ (institution_based)
æ¯ä¸ªåæ®µä½¿ç¨ {prefix}_count + {prefix}_adopt + {prefix}_price ä¸ä»¶å¥ï¼
# 段åç¼å¯èªç±å½å (ka/mid/smb/enterprise/startup...)
# 弿èªå¨æ£æµ *_count/*_vol + *_adopt/*_rate + *_price
{"key": "ka_count", "numeric_value": 5000, ...},
{"key": "ka_adopt", "numeric_value": 0.85, ...},
{"key": "ka_price", "numeric_value": 150, ...},
æ¨¡å¼ 2: 人å£åºæ°æ³ (population_based) â 使ç¨åºå® key åï¼
| key | å«ä¹ | ç¤ºä¾ |
|---|---|---|
base_pop |
åºç¡äººå£ (亿人) | 9.3 |
core_pop_pct |
æ ¸å¿äººç¾¤å æ¯ | 0.45 |
pene_rate |
æ¸éç | 0.65 |
freq |
æ¶è´¹é¢æ¬¡ | 45 |
price |
åä»· (å ) | 5.5 |
æ¨¡å¼ 3: æ¿ä»£æ³ (substitution_based):
| key | å«ä¹ |
|---|---|
existing_market |
ç°æå¸åºè§æ¨¡ |
substitution_rate |
æ¿ä»£ç |
price_premium |
ä»·æ ¼ç³»æ° (å¯é, é»è®¤ 1.0) |
æ¨¡å¼ 4: ä»·å¼é¾æ³ (value_chain_based):
| key | å«ä¹ |
|---|---|
end_market |
ç»ç«¯å¸åºè§æ¨¡ |
value_share |
ç¯èä»·å¼å æ¯ |
æ¨¡å¼ 5: ä»·å¼åºç¡æ³ (value_based):
| key | å«ä¹ |
|---|---|
target_count |
ç®æ å®¢æ·æ° |
prob_freq |
é®é¢é¢ç (å¯é) |
prob_cost |
忬¡é®é¢ææ¬ |
wtp_ratio |
æ¿ä»æ¯ä¾ |
éç¨ key (æææ¨¡å¼é½éè¦):
| key | å«ä¹ | Excel ç¨é |
|---|---|---|
sam_ratio |
SAM/TAM æ¯ä¾ | SAM = TAM à sam_ratio |
som_share |
ç®æ å¸å ç | SOM = SAM à som_share |
cagr |
å¤åå¢é¿ç | Growth Forecast å ¬å¼ |
numeric_value è§å: ç¾åæ¯/æ¯çå¡«å°æ° (0.85=85%)ï¼éé¢åä½ä¸è®¡ç®æ¨¡åä¸è´ã
Assumption åæ®µæ¨¡æ¿ (æ¯é¡¹å¿ å¡«)
{
"key": "ka_count", # ð´ å¿
å¡« â å¼æç¨æ¤æå»ºå
¬å¼
"name": "KAæºææ°é", # ð´ å¿
å¡« â æ¾ç¤ºå
"numeric_value": 5000, # ð´ å¿
å¡« â ç¨äº Excel 计ç®
"value": "5000å®¶", # ç¨äº MD/HTML å±ç¤º
"source": "â ï¸ å设: ...", # ð´ å¿
å¡« â ð/ð§®/â ï¸ + 便®
"type": "â ï¸", # ð´ å¿
å¡« â ð/ð§®/â ï¸
"used_in": "Bottom-Up KA", # å¯é â æ 注使ç¨ç¯è
}
è¾åºè§è
交ä»ç©æ¸ å
- Markdown æ¥å – å å« Mermaid å¾è¡¨ï¼éåå享ååæ¡£
- HTML æ¥å – å å« Plotly 交äºå¾è¡¨ (å¯é)ï¼éåæ¼ç¤º
- Excel åææ¨¡å – 5 个 Sheet (æ ¸å¿å设/TAM_SAM_SOM/Monte Carlo/ç«äºæ ¼å±/å¢é¿é¢æµ)
- åè®¾æ¸ å – æ¯ä¸ªåè®¾å¿ é¡»æ æ³¨ç±»å (ð/ð§®/â ï¸) 忥æº
æ¥åå¿ å«ç« è (12 项)
- æ§è¡æè¦: TAM/SAM/SOM/CAGR å¡ç + æ ¸å¿æ´å¯
- å¸åºè¾¹çå®ä¹: 产å/å°ç/æ¸ é/æ¶é´ 4 ç»´å«æé¤è¡¨
- æ ¸å¿åè®¾æ¸ å: æ¯é¡¹æ 注 ðå¼ç¨/ð§®è®¡ç®/â ï¸å设
- Bottom-Up åè§£: å¤å± Fermi åè§£æ + åå±è®¡ç®è¡¨
- Top-Down éªè¯: è¡ä¸æ¥åâçéâç»æ
- 交åéªè¯å¯¹æ¯è¡¨: æ¹æ³/ç»æ/åå·®
- å¢é¿é¢æµ: å¹´åº¦é¢æµè¡¨ + CAGR + 驱å¨åä¸é£é©
- Monte Carlo 置信åºé´: å设åå¸è¡¨ + P5/P50/P95
- æææ§åæ: Tornado æåº + 解读ä¸è¡å¨å»ºè®®
- ç«äºæ ¼å±: 主è¦ç©å®¶ + å¸å ç + CR3éä¸åº¦
- é£é©ä¸å±éæ§
- æ°æ®æ¥æºæ±æ»
è´¨éæ£æ¥ (Sanity Check)
å¨å®æåæåï¼å¿ é¡»è¿è¡ä»¥ä¸æ£æ¥ï¼
ð´ 强å¶é¡¹ï¼äº¤åéªè¯
ä»»ä½å¸åºè§æ¨¡ä¼°ç®é½å¿ 须使ç¨è³å°ä¸¤ç§æ¹æ³è¿è¡äº¤åéªè¯ï¼
| æ¹æ³ç»å | éç¨åºæ¯ |
|---|---|
| Top-Down + Bottom-Up | æå¸¸ç¨ï¼å¤§å¤æ° B2C å¸åº |
| 人å£åºæ° + æºæåºæ° | åæ¶è¦ç B2C å B2B |
| æ¿ä»£æ³ + ä»·å¼é¾æ³ | æ°åç±»è¿å ¥æçå¸åº |
éªè¯æ åï¼
- åå·® <20%: åçï¼åå æå¹³åæè¯´æå·®å¼åå å³å¯
- åå·® 20-50%: éåæå·®å¼åå ï¼å£å¾ä¸åï¼å设åå·®ï¼ï¼ï¼è°æ´åéæ°éªè¯
- åå·® >50%: å¿ é¡»æ£æ¥å ³é®å设ï¼å¯è½å卿 ¹æ¬æ§é®é¢
â ï¸ ç¦æ¢ä¸ºäºåè¿åå·®è èæ¶æè°æ´å设ãåå·®æ¬èº«æ¯ä¿¡å·ï¼ä¸æ¯é误ãå¦æä¸¤ç§æ¹æ³å·®å¼å¾å¤§ï¼åºè¯¥è¯å®æ¥åå¹¶åæåå ï¼è䏿¯ä¿®æ¹æ°å让å®ä»¬âçèµ·æ¥ä¸è´âã
å ¶ä»æ£æ¥
- æ°é级éªè¯: ç»ææ¯å¦å¨åçèå´å ï¼
- å¯¹æ æ£æ¥: ä¸å·²ç¥ç±»ä¼¼å¸åºç¸æ¯æ¯å¦åçï¼
- åè®¾æææ§: åªäºåè®¾å¯¹ç»æå½±åæå¤§ï¼
常è§é误
é误 1: æ··æ· TAM å SAM
- â ç¨æ´ä¸ªå¸åºä½ä¸ºèªå·±çå¯è§¦è¾¾å¸åº
- â TAM æ¯ç论ä¸éï¼SAM è¦å å«äº§å/å°å/客群çé
é误 2: SOM è¿äºæ¿è¿
- â æ°è¿å ¥è 5 å¹´å å£°ç§°è½æ¿ 10%+ å¸åº
- â æ°è¿å ¥è é常 3 å¹´ 2-3%ï¼5 å¹´ 5%ï¼æç½ç»æåºçè¡ä¸å¯æ´é«
é误 3: åªç¨ Top-Down
- â ä» å¼ç¨è¡ä¸æ¥åæ°åï¼ä¸å Bottom-Up éªè¯
- â Top-Down åªæ¯èµ·ç¹ï¼å¿ é¡»ç¨ Bottom-Up 交åéªè¯
é误 4: æ¨±æ¡æéæ°æ®
- â æ··ç¨ä¸å年份ãä¸åå£å¾çæ°æ®
- â ä¿ææ°æ®æºä¸è´ï¼æç¡®æ 注年份åå£å¾
é误 5: 忽è§å¸åºå¨æ
- â æå¸åºè§æ¨¡å½ä½éææ°å
- â å¿ é¡»èè CAGRãç«äºæ ¼å±ååãæ¿çå½±å
æä»¶ç»æ
market-sizing/
âââ SKILL.md # æ¬æä»¶
âââ references/
â âââ methodology.md # æ¹æ³è®ºè¯¦è§£
â âââ fermi_patterns.md # Fermi å解模å¼åº (嫿·±åº¦æå)
â âââ industry_templates.md # è¡ä¸ç¹åæ¨¡æ¿ (SaaS/Marketplace/Consumer/B2B/Hardware)
â âââ presentation_guide.md # åç°çç¥æå (æèµäºº vs æç¥)
â âââ data_sources.md # æ°æ®æºä½¿ç¨æå
â âââ prompts.md # åç»åææç¤ºåº
âââ examples/
â âââ tech_ai_dev_tools.md # 宿´æ¡ä¾: ç§æ (AI å¼åå·¥å
·)
â âââ consumer_prefab_food.md # 宿´æ¡ä¾: æ¶è´¹ (é¢å¶è)
â âââ software_finance_saas.md # 宿´æ¡ä¾: 软件 (è´¢å¡ SaaS)
âââ scripts/
â âââ data_fetcher.py # æ°æ® API å°è£
â âââ fermi_calculator.py # Fermi 计ç®å¼æ
â âââ monte_carlo.py # Monte Carlo 模æ
â âââ report_generator.py # æ¥åçæå¨
âââ templates/
âââ market_sizing_report.md # Markdown 模æ¿
âââ market_sizing_template.xlsx # Excel 模æ¿
ä¾èµå®è£
pip install pandas numpy akshare baostock yfinance pytrends plotly openpyxl
# FRED éè¦æ³¨å API Key
pip install fredapi
# 设置ç¯å¢åé FRED_API_KEY
# World Bank
pip install wbdata
示ä¾ç¨æ³
ç¨æ·: ä¼°ç®ä¸å½åå¡å¸åºè§æ¨¡
AI ååº:
-
é¦å æ¶éä¿¡æ¯:
- å¸åºå®ä¹: ç°ç£¨åå¡ + å³é¥®åå¡ + éæº¶åå¡ï¼
- å°å: ä¸å½å¤§éï¼
- æ¶é´: 2024 å¹´ç°ç¶ï¼
-
确认åéæ©äººå£åºæ°æ³
-
è·åæ°æ®æ¯æå设
-
æ§è¡ Fermi è®¡ç® + Monte Carlo
-
è¾åºå®æ´æ¥å