競爭對手
你在做什麼
你被問到一家新創公司所在的市場中還有誰在競爭、他們的價格為何、資金從何而來——以及類似公司曾以什麼價格出售。
撰寫測試 ──► 掃描 ──► 分類 ──► 價格 ──► 資金 ──► 併購可比
什麼算數? 多種 直接 / 同級比 誰支持 誰買了誰
途徑 間接 較 他們 價格多少
交付物——正好四個檔案,位於 <company-slug>/competitor-research/,相對於當前工作目錄:
competitor-report.md– 報告。主要交付物。competitors.csv– 每個競爭者一行,包含分類、價格、資金、證據。price-ladder.png– 價格比較圖表。<company-slug>_market_analysis.xlsx– 可分享的雙工作表活頁簿:競爭對手 + 併購可比案例(步驟 9)。
加上 raw/ 儲存所有已擷取的頁面原始內容,以及 workbook-data.json – 活頁簿的結構化輸入資料。
輸入
從 $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 |。
| 欄位 | 允許的值 |
|---|---|
| 為客戶完成的任務 | 一句話,引用公司自己的話,附上 URL |
| 誰付費 | 自由文字 |
| 商業模式 | B2B · B2C · B2G |
| 營收模式 | subscription · transaction · ads · one-off · n.a. |
| 市場 | 正好一個:Fintech & insurance · Health & bio · Commerce & retail · Logistics & supply chain · AI & data infrastructure · Enterprise software · Cybersecurity · Legal, compliance & governance · Sales & marketing · HR & talent · Education · Media, gaming & entertainment · Real estate & construction · Energy, climate & agriculture · Industrial & robotics · Consumer lifestyle & services · Other |
| 垂直領域 | 自由文字 |
| 階段 | pre-seed · seed · Series A · Series B+ · n.a. |
| 地理位置 | 總部所在國;銷售國家 |
| 正在募集的輪次 | 金額 + 貨幣 + 工具,或「not stated」 |
| 可用的指標 | 位置(updates/、匯出),或「none」 |
Frontmatter: company、slug、website、updated(ISO 日期)、updated_by(技能名稱)。
卡片的表格有第三欄 Source,每個欄位都要填寫。
使用卡片而不是重新研究它已有的內容:其「為客戶完成的任務」行就是你下面需要的任務。僅針對空白欄位重新研究公司的產品。
資料夾 + 簡報 → 讀取它,開始
零散簡報 → 建立資料夾,簡報放入 <company-slug>/deck/
僅有名稱 → 建立資料夾,然後研究公司賣什麼
在步驟 1 之前你需要一件事:這家公司為其客戶完成什麼任務? 如果卡片已填寫,從中取得;否則從公司自己的網站,用公司自己的話取得,而不是從分類標籤取得,並將其寫入卡片。將每次擷取保存到 raw/。
建立公司資料夾 <company-slug>/:如果有的話,簡報放入 deck/,你的輸出放入 competitor-research/。
步驟 1 – 撰寫測試
在命名任何單一競爭者之前,寫下一家公司必須做什麼才能被算作競爭者。將任務分解為可觀察的面向。
一個實體服務可能需要三個面向:
從客戶處收取 · 存放於異地 · 應要求重新配送
一個 B2B 工具可能需要兩個面向:
服務相同的買家 · 取代相同的預算項目
然後是三個分類:
直接競爭者 完成整個任務,在其自有網站上有證據
前直接競爭者 曾經做過——不再獨立營運
間接競爭者 至少一個面向不符,但爭奪相同的
客戶 / 價格點 / 資金
測試必須印在報告中,讓讀者可以對掃描遺漏的公司進行分類。這也是防止兩種失敗模式的唯一防禦:將相鄰公司視為競爭對手,以及遺漏那些用不同方式描述自己的競爭對手。
⚠️ 類別很少共享詞彙。 同一產品會被不同的賣家以不同的詞語銷售。如果你只掃描公司用於描述自己的詞語,你將系統性地遺漏那些使用既有詞彙的大型、老牌、分佈更廣的營運商。根據功能撰寫測試,永遠不要根據自我描述。
步驟 2 – 透過多種獨立途徑掃描
一次搜尋不算掃描。執行至少四種途徑,每種都可能找出其他途徑遺漏的競爭者:
1 詞彙 類別使用的所有詞語,而不只是公司的詞語
2 客戶 買家實際上會搜尋什麼?
3 登記處 Companies House SIC 代碼 · SEC EDGAR · 行業協會
4 供應端 誰向這些營運商銷售軟體/服務?
他們的客戶名單就是一份普查
5 反向追蹤 競爭者比較頁面、「X 的替代方案」頁面、
評論網站類別
6 資金 融資新聞、加速器和投資者投資組合,以及
`<company-slug>/competitor-candidates/candidates.csv`(如果存在的話)
途徑 6 讀取候選清單檔案。 <company-slug>/competitor-candidates/candidates.csv(由 thesis-fit 撰寫)包含欄位 name,domain,fund,portfolio_url,why_flagged,found_by,date_found。每一行都是一個候選者:它像任何其他名稱一樣接受步驟 1 測試,並在步驟 3 中得到裁決。如果某行的 name 是 none found,表示該基金的投資組合已被掃描過——不要再次掃描。一個未能通過步驟 1 測試且不爭奪相同買家的候選者將被排除(步驟 3):它不會有 CSV 行,並在方法區段中列出為「excluded – <哪個面向不符>」,絕不默默地刪除。
報告的方法區段說明有多少候選者來自基金投資組合,以及每個如何被裁決。
停止規則: 當連續兩條途徑未新增任何重要的競爭者時停止。只有當沒有任何途徑留下未檢查的命名列表(目錄、客戶名單、「X 的替代方案」頁面,其名稱未全部測試)時,掃描才算是收斂了;否則計數是下限。如果你在此之前停止——由於預算、封鎖、時間——在報告中說明,並稱計數為下限。 未收斂的普查是下限,而非上限,讀者必須知道他們得到的是哪一種。
⚠️ 付費的企業資料庫不是第七條途徑。 Apollo.io 在 2026-08-06 針對一個手工建立的 34 家營運商普查進行了評估:它盲測恢復了 56%,產生了 50% 的假陽性,且 34 家營運商中有 8 家完全不在其索引中。它是一個豐富層,而非發現途徑。該測試得出的兩條規則適用於任何此類來源:
資料庫中的一行是候選者,永遠不是競爭者
→ 它仍然需要步驟 1 測試,並在公司自有網站上有證據。
資料庫自身的描述文字是第三方資訊,不予計算。
未匹配的行表示未知,永遠不是小公司
→ 覆蓋範圍的失敗是沉默的:資料庫中不存在的公司
會回傳空值,而非標記。
在進行過程中為每個營運商評級:
重要 跨城市、有資金、加盟或明顯達到規模
次要 有營運,但單一市場或規模不足
微小 一人公司、尚未推出、或無法驗證的營運實體
步驟 3 – 分類
對每個營運商應用步驟 1 測試。每個分類的證據都是來自公司自有網站的引用,記錄在 CSV 中。
需要明確做出的邊界判斷,因為它們經常出現:
看起來相似,不符合一個面向 → 間接競爭者,並說明哪個面向
相同任務,不同勞動力 → 通常是間接競爭者 – 指出差異
已倒閉或被吸收 → 前直接競爭者,說明發生了什麼
不符合一個面向且不爭奪 → 排除 – 不是競爭者:無 CSV 行;在
相同的買家 方法區段中列出為「excluded – <哪個面向不符>」
前直接競爭者值得投入真正的努力。 已經嘗試過這個業務的公司發生了什麼,通常是報告中最具決策相關性的部分:誰買了它們、價格多少、相對於多少融資額。
步驟 4 – 價格
同級比較 相同單位、相同市場、逐層比較 ← 真正的比較
僅入門價格 「從 $X 起」– 基準不同 ← 標示為如此
規則:
- 僅限營運商自有頁面上發布的價格。 不是簡報中對競爭者價格的版本。你自己重新抓取。
- 比較標題對標題,以及匹配的層級對匹配的層級。對一家公司應用折扣而對其他公司報價列表價格,是這張表格常見的誤導方式。
- 當單位真正不同時,說明差異,而不是強行比較。
- 記錄被排除的內容 – 設定費、運費、入職費、最低費用。
步驟 5 – 每個競爭者的資金
對於發現的每家公司:
總募資金額 貨幣 + 金額
最後一輪 階段 + 日期
投資者 誰領投
來源 資料來源
標記 D / E / N/A ← N/A = 未揭露,不是零
查找位置,按信任度排序:
SEC EDGAR / Form D ─┐
Companies House ├─ 申報文件 → 標記 D
公司自有頁面 ─┘
融資新聞 ── 報導 → 標記 E
聚合器 ── 有雜訊 → 標記 E,並指出是哪個
⚠️ 實體查核 – 在實際執行中,跳過它已經產生了兩個錯誤的數字。
「Boombox 從 Forerunner + Ulu 籌集了 $7M」
│
└─► 該輪次屬於 boombox.io – 一家生成式 AI 音樂公司。
同名儲存公司完全沒有資金記錄。
同一來源:「BOXIE24,$5.5M Series A」→ 不存在此輪次。
該輪次必須指名這家公司 – 這個域名、這個市場、這個國家。同名不等於同一家公司。如果你無法關聯,則標記
N/A。永遠不要借用輪次。
以上兩個錯誤數字都來自公司提供的可比案例。將公司提供的競爭者資金視為需要驗證的線索,而不是來源。
步驟 6 – 併購可比案例
誰買過像這家公司一樣的公司,價格多少?掃描該類別的收購案 – 收購新聞、收購方公告、SEC 申報文件、Companies House、步驟 3 中的前直接競爭者線索(那些退出也屬於這裡)。
三級可比案例,每一行在其自身描述儲存格中說明是哪一級 – 僅閱讀試算表的讀者必須知道他們看到的是哪種可比案例:
1 直接產品類比 相同產品,被收購
2 客戶 / ICP 類比 相同買家和預算項目,不同產品
(ICP = 理想客戶檔案)
3 財務基準 較大的水平參與者,其交易錨定了
倍數區間 – 標示為「財務基準,
非產品類比」
每筆交易,追蹤:收購方 · 交易年份 · 交易價值 / EV(附結構說明) · 交易時營收 · EV/營收 · EBITDA · EV/EBITDA · 交易時其他指標 · 交易理由(收購方聲稱購買的原因)。
紀律 – 這張表格是倍數被偽造的地方,因此:
「無法計算」本身就是一個答案。 永遠不要從以下推導倍數:
· 部分股權 (80% 的股權不是 EV)
· 獲利能力支付公式 (4.25× EBITDA 作為支付公式不是倍數)
· 期間不匹配 (2021 年交易價格下的 2018 年營收)
· 集團層級數字 (母公司的營收不是子公司的)
在儲存格中寫「無法計算」並說明原因。
「未揭露」必須明確拼寫出來。 永遠不要用空的 N/A 或空白 –
未揭露 ≠ 零,且空白儲存格會被解讀為「空無一物」。
實體查核也適用於交易。 交易必須指名這家公司 –
相同域名、相同市場。永遠不要比借款收購案如同借款輪次一樣。
每個數字都附帶其來源,作為活頁簿(步驟 9)中的超連結和報告來源表格中的一行。如果新聞報導的價格未經任何一方確認,請在數字旁邊說明。
以一個總結段落結束此步驟 – 它將成為活頁簿 M&A 工作表的最底行:交易市場是否已證明,誰是這家公司的潛在收購方,以及已揭露的交易實際支援的倍數區間 – 指明哪些公司構成了區間邊界(由一家水平 SaaS 公司和一家服務公司構成的區間不是直接類比區間,讀者必須被告知)。
步驟 7 – 撰寫 CSV
competitors.csv,欄位順序如下:
name, domain, country, classification, grade, legs_matched, evidence, status, price_entry, price_basis, price_like_for_like, total_raised, last_round, investors, funding_flag, funding_source, confidential, note, url
classification–direct·former direct·indirect·unverifiedgrade–material·minor·microevidence– 將其歸類的逐字引用confidential–no(預設,公開證據) ·yes(來自資料室)
一個 CSV,不是兩個。 如果之後需要可分享的副本,請將 confidential = yes 行的欄位清空並保留這些行 – 過濾掉行會刪除報告中提到的競爭者,這個錯誤已經需要被復原過一次。
步驟 8 – 圖表
使用任何支援 matplotlib 的 Python 3
…
[因翻譯需求而截斷]