競合調査
あなたのタスク
あるスタートアップがどの市場で、どのような価格で、誰の資金で競合しているのか、そして類似企業がどのような条件で売却されたのかを調査するよう依頼されました。
テストを作成 ──► スイープ ──► 分類 ──► 価格 ──► 資金 ──► M&A比較
何をカウントするか? 複数の 直接 / 同条件 誰が支援 誰が誰を
ルート 間接 しているか いくらで買ったか
納品物 – 現在の作業ディレクトリからの相対パス <company-slug>/competitor-research/ 内に、以下の4つのファイルを正確に作成します。
competitor-report.md– レポート。主要な納品物です。competitors.csv– 競合ごとに1行。分類、価格、資金、証拠を含みます。price-ladder.png– 価格比較のチャート1つ。<company-slug>_market_analysis.xlsx– 共有可能な2シートのワークブック:競合 + M&A比較対象(ステップ9)。
さらに、取得したすべてのページをそのまま保存する raw/ フォルダと、ワークブックの構造化された入力である workbook-data.json も含まれます。
入力
$ARGUMENTS または会話から: 企業。フォルダ、デッキ(プレゼン資料)、または単なる名前やURL – いずれも機能します(ステップ0)。2つの企業が同じ名前を共有する場合は、フェッチする前にどちらかを尋ねてください。
ステップ0 – 存在しないものを構築する
「データなし」と報告してはいけません。
会社カード
<company-slug>/company-profile.md – 最初に読んでください。存在しない場合は作成します。フィールドが空で、それを学習した場合は、記入してupdated / updated_byを更新します。入力済みのフィールドを上書きしないでください:異なる値を見つけた場合は、両方の値とソースを含む行を## 競合セクションに追加します。カードの末尾には## 競合セクションがあります(ない場合は作成します)。そのテーブルのヘッダーは正確に| フィールド | カードの値 | カードのソース | 新しい値 | 新しいソース | 発見者 | 日付 |となります。
| フィールド | 許可される値 |
|---|---|
| 顧客への提供価値 | 一言。会社自身の言葉で、URL付きで引用 |
| 支払い者 | 自由記述 |
| ビジネスモデル | B2B · B2C · B2G |
| 収益モデル | サブスクリプション · 取引 · 広告 · 単発 · n.a. |
| 市場 | 厳密に1つ: 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. |
| 地域 | 本拠地国; 販売国 |
| 調達中のラウンド | 金額 + 通貨 + 手段、または「未公表」 |
| 利用可能な指標 | 場所(updates/、エクスポート)、または「なし」 |
フロントマター: company, slug, website, updated(ISO日付), updated_by(スキル名)。
カードのテーブルには3番目の列ソースがあり、すべてのフィールドに入力されます。
既に保持している情報を再調査する代わりにカードを使用します:「顧客への提供価値」行は、以下で必要なジョブです。空のフィールドに対してのみ、会社の提供内容を再度調査します。
フォルダ + デッキ → 読み込んで、開始
デッキのみ → フォルダを作成し、デッキを <company-slug>/deck/ に配置
名前のみ → フォルダを作成し、会社の販売内容を調査
ステップ1の前に必要なことが1つあります:この会社は顧客にどのような価値を提供しているか? カードに記入済みであればそこから取得し、そうでなければ会社自身のサイトから、会社自身の言葉で(カテゴリラベルからではなく)取得し、カードに書き込みます。すべてのフェッチをraw/に保存します。
会社フォルダ <company-slug>/ を作成します:デッキがあればdeck/に、出力はcompetitor-research/に配置します。
ステップ1 – テストを作成する
単一の競合を挙げる前に、企業が競合と見なされるために満たすべき条件を書き留めてください。ジョブを観察可能な要素に分解します。
物理的なサービスの場合、3つの要素が必要かもしれません:
顧客から収集 · オフサイトで保管 · リクエストに応じて再配達
B2Bツールの場合、2つで十分かもしれません:
同じ購入者にサービスを提供 · 同じ予算ラインを置き換える
次に、3つのクラス:
直接 ジョブ全体を行い、自社サイトで証拠がある
過去の直接 かつて行っていた – 現在は独立して取引されていない
間接 少なくとも1つの要素を満たさないが、同じ
顧客 / 価格帯 / 資本を争っている
テストはレポートに記載され、印刷されるため、読者はスイープで見逃した企業も分類できます。これは、ここでの2つの失敗モードに対する唯一の防御策でもあります:隣接企業を競合としてカウントすること、および自分とは異なる方法で説明している競合を見逃すこと。
⚠️ カテゴリが語彙を共有することはほとんどありません。 同じ製品でも、販売者によって異なる言葉で販売されます。会社が自分自身について使用する言葉だけをスイープすると、既存の言語を使用する、より大きく、より古く、より広く流通しているオペレーターを体系的に見逃すことになります。テストは機能に基づいて記述し、自己説明に決して基づかないでください。
ステップ2 – 複数の独立したルートを通じてスイープする
1回の検索はスイープではありません。他のルートが見逃す可能性のある競合をそれぞれ発見できる、少なくとも4つのルートを実行します。
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行は取得されず、メソッドセクションに「除外 – <不合格となった要素>」としてリストされ、黙って除外されることはありません。レポートのメソッドセクションには、ファンドポートフォリオからの候補数と、それぞれがどのように判定されたかが記載されます。
停止ルール: 連続する2つのルートで新しい重要な競合が追加されなくなったら停止します。スイープが収束したと見なされるのは、未チェックの名前付きリスト(ディレクトリ、顧客リスト、名前がすべてテストされていない「Xの代替」ページ)を残したルートがない場合のみです。それ以外の場合、カウントは下限です。その前に停止した場合(予算、ブロック、時間の制約)は、レポートにその旨を明記し、カウントを下限と呼びます。 収束しなかった調査は上限ではなく下限であり、読者はどちらを持っているかを知らされる必要があります。
⚠️ 有料の企業プロファイリングデータベースは7番目のルートではありません。 Apollo.ioは、2026年8月6日時点で手作業で作成された34オペレーターの調査と比較されました:56% の検出率、50% の偽陽性率で、34オペレーター中8社がそのインデックスにまったく存在していませんでした。これは発見ルートではなく、補強レイヤーです。そのテストから生き残った2つのルールは、そのようなソースすべてに適用されます:
データベース行は候補であり、競合ではない
→ ステップ1のテストがまだ必要であり、自社サイトで証拠付けられる必要があります。
データベース自体の説明テキストは第三者によるものであり、証拠としてカウントされません。
マッチしない行は不明であり、小規模ではない
→ カバレッジの欠如は黙示的です:データベースにない会社は
フラグが立てられることなく、空の結果を返します。
各オペレーターを調査しながらグレード付けします:
重要 複数都市、資金調達済み、フランチャイズ化、または明らかに規模拡大中
小規模 取引中だが、単一市場または小規模
極小 個人事業、プレローンチ、または検証不可能な取引事業体
ステップ3 – 分類する
各オペレーターにステップ1のテストを適用します。各分類の証拠は、会社の自社サイトからの引用であり、CSVに記録されます。
明確に行うべき境界判断(繰り返し発生するため):
類似しているが、1つの要素を満たさない → 間接、どの要素かを明記
同じジョブ、異なる労働 → 通常は間接 – 違いを明記
消滅または買収された → 過去の直接、何が起こったかを明記
1つの要素を満たさず、同じ購入者を → 除外 – 競合ではない:CSV行なし;
争っていない メソッドセクションに「除外 – <不合格となった要素>」としてリスト
過去の直接競合は、真剣に取り組む価値があります。 すでにこれを試みた企業に何が起こったかは、多くの場合、レポートで最も意思決定に関連するセクションです:誰が、いくらで、どれだけの調達額に対して買収したか。
ステップ4 – 価格
同条件 同じ単位、同じ市場、層ごと ← 本当の比較
最低価格のみ 「Xから」 – 基準が異なる ← そのようにラベル付け
ルール:
- オペレーター自身のページに公開されている価格のみ。 デッキに記載された競合の価格バージョンではありません。自分で再度取得してください。
- 見出し価格同士、およびマッチング層同士を比較します。一方の会社の割引を適用しながら、他の会社の価格を定価で引用することは、この表が誤解を招く標準的な方法です。
- 単位が根本的に異なる場合は、比較を強制するのではなく、その旨を明記します。
- 除外されているものを記録します – 設定料、配送料、オンボーディング料、最低料金。
ステップ5 – 資金調達、競合ごとに
発見されたすべての企業について:
総調達額 通貨 + 金額
最終ラウンド ステージ + 日付
投資家 リードした企業
ソース 出典
フラグ D / E / N/A ← N/A = 未開示、ゼロではない
参照すべき場所(信頼性順):
SEC EDGAR / Form D ─┐
Companies House ├─ 提出書類 → フラグ D
会社の自社ページ ─┘
資金調達プレス ── 報道 → フラグ E
アグリゲーター ── ノイズが多い → フラグ E、およびどれかを明記
⚠️ エンティティチェック – これをスキップすると、実際の実行ですでに2つの誤った数値が生成されています。
「BoomboxがForerunner + Uluから700万ドルを調達」
│
└─► そのラウンドは boombox.io に属する – 生成系AIの音楽会社。
同名のストレージ会社には、資金調達記録がまったくありません。
同じソース:「BOXIE24、550万ドルのシリーズA」 → そのようなラウンドは存在しません。
ラウンドはこの会社を名指ししている必要があります – このドメイン、この市場、この国。同名は同一会社を意味しません。結びつけられない場合は、
N/Aとマークしてください。決してラウンドを借用しないでください。
上記の2つの誤った数値は、両方とも会社が提供した比較対象から得られました。会社が提供した競合の資金調達情報は、検証すべきリードとして扱い、決して情報源としては扱わないでください。
ステップ6 – M&A比較対象
誰がこのような会社を買収したか、そしてその価格は?カテゴリ内の買収をスイープします – 買収プレス、買収者発表、SEC提出書類、Companies House、ステップ3からの過去の直接の流れ(これらのエグジットもここに属します)。
比較対象の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(データルームから)
1つのCSV、2つではありません。 後で共有可能なコピーが必要な場合は、confidential = yesの行のフィールドを空白にして、行を保持してください – 行をフィルタリングして削除すると、レポートがプロファイルする競合が削除されます。これは既に一度元に戻す必要がありました。
ステップ8 – チャート
matplotlib/seabornが利用可能な任意のPython 3を使用します。棒グラフを作成し、price_like_for_likeで並べ替え、gradeで色分けします。price-basisが「最低価格のみ」の場合は斜線パターンを使用します。price-ladder.pngとして保存します。
ステップ9 – ワークブック
<company-slug>_market_analysis.xlsx を作成します。
シート1: 競合 (competitors.csv と同じ)
シート2: M&A比較対象 — ステップ6で収集した各行。
ステップ10 – レポートを書く
competitor-report.md を書きます。構造:
- エグゼクティブサマリー – 市場構造、重要プレイヤー、価格帯、資金調達、エグジットの可能性。
- 方法 – 使用したルート、ソース、カバレッジの限界。
- 競合比較 – グループ化されたセクション。
- 価格分析 – 同条件の比較。
- 資金調達ランドスケープ – 概要。
- M&Aランドスケープ – ステップ6の統括をここに。
- 付録 – 完全なソースリスト。
レポートは、CSVを読んだ人がいなくても機能する必要があります。
レポートを読んだ人がCSVを使わなくても済むように。
見つけられなかったものはセクションに含めないでください – 「発見されず」は、それが存在しないかのような外観を与えます。
ステップ11 – 分解して引き継ぐ
この調査は人間によって提供されたデータで強化される可能性があります。最終的な出力ディレクトリは <company-slug>/competitor-research/ です。何かが不足している場合(価格ページがブロックされている、未確認のM&A取引)、workbook-data.json 内でフラグを立ててください。