市場規模
你要做什麼
有人問你一間新創公司的市場有多大。你用兩種獨立的方法估算需求,因為單一方法無法被否證——單獨使用由下而上的方法可以湊出任何數字,而單獨使用由上而下的方法則只是繼承他人對市場的定義。
接著,你要回答需求估算無法回答的問題:**這家公司真的能觸及你剛剛估算出的市場嗎?**這個問題的答案就是承載上限,它取決於公司自身的機器——銷售人數、漏斗轉換率、交付能力——而非市場本身。
由下而上 ──┐
├──► 兩者吻合嗎? ──► TAM / SAM / SOM ──┐
由上而下 ──┘ 差距本身 │
就是一項發現 ├──► 兩者之間的距離
│ 就是發現
承載上限 ─────────► 他們的機器能承載多少 ────────────┘
絕不與需求估算做交叉驗證 ——
兩者之間的差距是發現,不是誤差
交付物——僅三個檔案,位於相對於目前工作目錄的 <company-slug>/market-sizing/:
market-sizing.md– 報告。主要交付物。market-sizing.csv– 每一行一個項目,來自三個估算,附有來源和標記。tam-sam-som.png– 一張圖表:三個層級的需求估算,並畫上承載上限(如果呼叫者提到的任何營收數字,也一併畫上——參見第 8 步)。
另外還有 raw/ 資料夾,存放所有擷取的頁面原文,以便稽核。
為什麼要有第三個估算。 兩種需求估算可能完美收斂到一個數十億美元的市場,但對讀者來說依然毫無意義,因為任何值得提出的營收目標都只需要該市場的百分之零點幾,而每家公司都能達成。承載上限讓市場規模評估具有鑑別力:它問的是,這個團隊,用這個商業模式,到底能不能達到那個目標。
輸入
從 $ARGUMENTS 或對話中取得:一個公司。可以是資料夾、一份鬆散的簡報,或只是一個名稱或網址。三者皆可——參見第 0 步。如果公司不明確(有兩家公司同名),在進行任何擷取前,先詢問是哪一家。
第 0 步 – 建立不存在的東西
永遠不要回報「無資料」。 利用你得到的任何資訊,建立其餘部分。
公司卡片
<company-slug>/company-profile.md – 優先讀取。如果不存在,則建立它。如果某個欄位是空的而你得知了,則填入並更新 updated / updated_by。絕不覆蓋已填入的欄位:如果你發現不同的數值,在 ## Conflicts 中新增一行,包含兩個數值和來源。卡片結尾有一個 ## Conflicts 區段(如果沒有則建立),其表格標題為 | Field | Card value | Card source | New value | New source | Found by | Date |。
| 欄位 | 允許值 |
|---|---|
| 為客戶完成的任務 | 一句話,引用公司自己的說法,附上網址 |
| 誰付費 | 自由文字 |
| 商業模式 | B2B · B2C · B2G |
| 收入模式 | 訂閱制 · 交易制 · 廣告制 · 一次性 · 不適用 |
| 市場 | 只能是:金融科技與保險 · 健康與生物科技 · 商業與零售 · 物流與供應鏈 · AI 與數據基礎設施 · 企業軟體 · 資訊安全 · 法律、法規與治理 · 銷售與行銷 · 人力資源與人才 · 教育 · 媒體、遊戲與娛樂 · 房地產與營造 · 能源、氣候與農業 · 工業與機器人 · 消費者生活風格與服務 · 其他 |
| 垂直領域 | 自由文字 |
| 階段 | 種子輪前 · 種子輪 · A 輪 · B+ 輪 · 不適用 |
| 地理區域 | 總部所在國家;銷售的國家 |
| 正在進行的募資 | 金額 + 貨幣 + 工具,或「未說明」 |
| 可用的指標 | 位置(updates/、匯出),或「無」 |
Frontmatter:company、slug、website、updated(ISO 日期)、updated_by(技能名稱)。
卡片的表格有第三欄 Source,每個欄位都必須填入。
使用卡片,而非重新研究已經有的資訊:從卡片取得公司的任務、買家、市場、階段和地理區域,僅研究空白或市場規模評估需要更深入資訊的欄位。任何你新學到的資訊都應回饋到卡片中。
資料夾 + 簡報 → 閱讀,開始
鬆散簡報 → 建立資料夾,將簡報放入 <company-slug>/deck/
只有名稱 → 建立資料夾,然後**自行研究**輸入
當從零開始研究時,依此順序:
- 公司官網 – 它賣什麼、賣給誰、在哪裡賣、價格多少。定價頁面是這項技能中價值最高的單次擷取:它們直接提供了
價格這個參數。 - 註冊機構 – Companies House(英國)或 SEC EDGAR(美國),查詢帳目、申報文件、公司註冊資訊。
- 新聞報導 – 募資、員工人數、市場宣稱、客戶數量。
將每次擷取的原樣內容儲存到 raw/。建立公司資料夾 <company-slug>/:簡報(如果有的話)放在 deck/,你的輸出放在 market-sizing/。僅建立你實際會用到的子資料夾。
研究取代遺失的文件。它絕不取代遺失的證據。 以此方式找到的任何東西,都帶有與其他資料相同的標記和網址。
第 1 步 – 找出市場宣稱
公司聲稱其市場有多大,這個數字從哪裡來?
記錄:數字、涵蓋的地理區域和區隔、年份、以及引用的來源。如果簡報引用分析師報告,註明該報告是被引用還是被改寫。
沒有簡報,或裡面沒有宣稱? 在報告中明確說明,然後繼續。沒有宣稱本身就是一個發現——它不是阻礙。
然後,自行設定邊界
市場是由問題界定的,而非由類別界定。 在建造任何東西之前,寫下你要統計的特定問題的受害對象。「線上交教市場」和「虛擬實境市場」是類別,而非市場——沒有人有「線上交教」這個問題。
類別 ✕ 「線上交教市場」
市場 ✓ 「已經在付費聘請家教以通過特定考試的人」
如果你無法用一句話陳述這個問題,你就無法評估市場規模,而後續的所有數字都將繼承這種模糊性。在報告中記錄這個邊界;錯誤的邊界是兩種需求估算都同時自信地出錯的最常見方式,而交叉驗證無法發現這種錯誤。
第 2 步 – 用兩種方法估算需求
由下而上 – 從客戶端開始
根據商業模式選擇公式:
消費者應用 可觸及用戶 × 付費轉換率 × 每用戶平均收入(ARPU)
B2B SaaS 目標帳戶數 × 年度合約價值(ACV)
在地/實體 家戶或據點數 × 滲透率 × 年度支出
市集 交易量 × 平均交易價值 × 抽成率
雙邊產品:先估算需求端。 對於市集,先建立買家數量 × 支出,然後再看供給端,並驗證另一端在該規模下是否存在。市集的失敗可能來自任何一端——有很多熱切的供應商卻沒有買家,或有經過驗證的需求卻沒有人來滿足——而從剛好容易計算的那一端來估算規模,會隱藏這個失敗。
每個變數都必須是一個你可以指向的數字。人口統計數字來自統計局、行業協會或註冊機構——絕不來自簡報。價格來自公佈的定價頁面,公司自己的或競爭對手的。
由上而下 – 從已知的市場報告往下切
$400 億 "全球 X 市場" ← 已引用的公開數字
↓ × 35% 他們銷售的地理區域
$140 億
↓ × 20% 他們銷售的區隔
$28 億
↓ × 15% 他們實際收費的工作部分
$4.2 億 ← TAM
展現每一步及其理由。 第三步是每個人都會跳過的那一步:一個公佈的「市場」通常包含了公司從未觸及的勞動力、硬體和相關服務。
將公佈的市場規模視為方向性的,而非可擔保的——聚合器的數字差異極大,並且經常在不同的報告之間重複使用。對於每個數字,指明出版商和年份。
第 3 步 – 交叉驗證
差距在 ~2 倍內 → 收斂。報告區間,而非點估計。
差距更大 → 差距本身就是發現。診斷它:
· 不同的市場定義?
· 由上而下包含了非買家?
· 由下而上遺漏了某個買家群體?
· 其中一個方法根本錯了?
然後說出你相信哪一個,以及為什麼。
由下而上是承載性的數字。由上而下是合理性檢查。 如果你在合作夥伴會議中只能捍衛一個數字,那就是從基本元素建構出來的那個。
此步驟僅調和兩種需求估算。第 6 步的承載上限絕不與它們進行交叉驗證——它衡量的是不同的東西,強迫它們一致會破壞這項發現。
第 4 步 – 與宣稱比較
將三個數字並列:簡報的、你的由下而上結果、你的由上而下結果。當簡報的數字差異超過 ~2 倍時,解釋其中的機制——不是「他們過於樂觀」,而是哪個步驟有差異:地理區域、區隔、買家定義、價格假設,或收費的部分。
常見的機制,值得指名檢查:計入所有用戶而非買家 · 全球數字對比區域計劃 · 整個類別的支出對比公司自己的項目 · 使用過時的報告當作現況。
第 5 步 – 縮小範圍,一次
針對你在第 3 步選擇的數字:
TAM 所有可能購買的人
│ ↓ 只保留計劃中的市場
SAM 他們實際能觸及的人
│ ↓ × 合理的市佔率
SOM 他們能贏得的份額 – 在 5 年內,以當前的商業模式
將 SOM 的市佔率假設聲明為假設,標記為 A。基於未說明的市佔率數字所建構的 SOM,是這項練習中最常見的錯誤。
SOM 帶有時間範圍和商業模式,報告必須同時說明這兩者。 一個沒有時間範圍的 SAM 佔比不是預測,而是願望。使用 5 年,如果公司自己的計劃在該時間範圍內改變了獲利模式,則估算它實際會運行的模式——並說明你這麼做了。
刻意偏離原始講義。 此技能承載上限估算所基於的 IIDF(俄羅斯網際網路倡議發展基金)市場規模講義,將 SOM 定義為 2–3 年。此技能使用 5 年,該決定於 2026-08-06 做出:三年時間太短,不足以擴展規模。任何在 3 年時間範圍內應用的營收門檻,會因為公司太早期而非太小而拒絕它們,這與市場規模評估的目的背道而馳。
第 6 步 – 承載上限:他們的機器能承載多少
第 2–5 步評估了需求。這一步評估公司本身,而這正是讓市場規模評估具有鑑別力的關鍵。
問題是:在同樣的 5 年內,以這家公司實際擁有的銷售和交付模式,它能實際產生的最大營收是多少? 不是市場能承受多少——而是他們能承載多少。
根據市場進入策略選擇公式
直銷 業務員人數 × 每人產能 × 成交率 × 年度合約價值(ACV)
自助服務 流量 × 註冊轉換率 × 付費轉換率 × 每用戶平均收入(ARPU)
營運交付 交付單位數 × 每單位吞吐量 × 價格
市集 供給流動性 × 每單位交易量 × 抽成率
收購驅動 每年收購目標數 × 每個目標營收
– 然後對照可用於收購的資金
營運交付 涵蓋任何受人力或實體吞吐量限制的業務——營運團隊、車隊、診所、審查佇列。如果公司採用兩種模式,則分別建構,然後根據它們的關係進行組合:
並行模式 各自獨立產生營收 → 相加
(自助服務註冊 AND 直銷團隊成交其他帳戶)
序列關卡 每單位營收都需通過兩者 → 取較低者
(獲取,然後交付:由銷售贏得的客戶 – 較緊的關卡決定上限
仍然需要由營運團隊服務)
絕不將同一筆營收通過的兩個關卡相加:這會將每個客戶計算兩次。在報告中說明哪一個是決定性的關卡。如果某個模式是計劃而非事實,那就是下面所說的有資金計劃的上限。
收購驅動受資金限制,而非員工人數,這使得它成為唯一一個上限可能被其他四種模式從未觸及的因素所限制的模式。始終計算此模式所隱含的所需資金(目標數 × 每個目標的價格),並將其與正在進行的募資金額進行比較。一個需要 20 倍其募資金額的整合計劃,存在一個融資限制——這與小型市場不同,是可以融資解決的,而且這兩種需求估算都看不到它。請直接說明。不要強行將整合模式放入
營運交付:它會產生一個雖然真實但並非決定性因素的吞吐量上限。
絕不棄權——做出假設,並標記它
這一步與第 0 步的態度相同:某個指標缺失從來不是跳過建構的理由。 一個種子輪前的公司幾乎不會揭露這些指標中的任何一個。從行業或可比公司的基準取得該指標,標記為 OB,並在報告中記錄日期和來源。如果連可比公司的基準都找不到,則輸入一個「合理的門檻」數字——測試一個特定的假設,例如「如果他們的轉換率是 2% 會怎樣?」——並明確定義該門檻。這個植入的參數會被標記為 H。
第 7 步 – 繪製圖表
tam-sam-som.png。
一個長條圖,有三組長條(TAM、SAM、SOM),每組有兩根長條(由下而上、由上而下)。水平地,從 TAM 到 SAM 到 SOM,所有三根長條的頂部都保持顯示,這樣讀者可以看到每一層的範圍。
在整個圖表上畫一條水平線,代表承載上限。 為此,使用一條不同的線條樣式——虛線或點劃線——這樣它在視覺上就與長條區分開。線條連接到右側,並有一個標籤。
如果呼叫者指定了一個特定的營收目標或 Series A 目標,將它畫成另一條水平線,使用另一種不同的樣式(例如,點線)。
圖表不需要做任何事;更不是一份文件。它以視覺方式溝通一個圖表中的四個數字,否則需要四段文字來解釋。
第 8 步 – 報告
market-sizing.md,位於 <company-slug>/market-sizing/。它是主要的交付物。
最低要求——在頂部的執行摘要:
- TAM(可定址市場總額):由下而上範圍,由上而下範圍,以及交叉驗證結論(收斂或差距)。
- SAM(可服務市場):收斂後範圍。
- SOM(可獲得市場):收斂後範圍,註明年份和商業模式。
- 5 年承載上限:所述的機器和門檻。
- 簡報中的市場宣稱:與你建構的數字進行比較,以及解釋任何 > ~2 倍差距的策略。
- 差距:承載上限與 SOM 之間的差距,以白話說明,並說明這是追蹤公司時要關注的內容。
狀況:如果呼叫者在對話或 $ARGUMENTS 中指定了一個特定的 Series A 目標或營收目標,在報告中將其表現為你建構的數字中的一個額外條目,與差距進行比較。標記為 T(目標)。
報告的其餘部分以散文呈現。包括對 raw/ 的路徑的引用。總是以「摘要」開頭,並至少有以下章節:
- 公司
- 市場
- 由下而上
- 由上而下
- 交叉驗證
- 與簡報的宣稱比較
- SOM 假設
- 承載上限
- 差距
第 9 步 – 明細
market-sizing.csv。每一行一個數字,具有以下欄位:
Build– 由下而上 / 由上而下 / 承載Layer– TAM / SAM / SOM / 承載上限Value– 數字(無貨幣符號,無千位分隔符)Currency– 三個字母的 ISO 貨幣代碼Label– 自由文字名稱Source– 網址、出版商、或H、OB、T、AFlag– 如果有,H、OB、T、A、C(衝突——在卡片中記錄)。如果沒有,留空Note– 計算方式的簡短說明
一行是不可協商的。 Build 和 Layer 共同唯一地標識每一行。如果由下而上方法產生了多個 SAM 值(例如,基於不同假設),它們共享 Build = bottomup 和 Layer = SAM,但具有不同的 Label 和 Flag 值。