pipeline-review について
pipeline-reviewは、創業者、営業責任者、アカウントエグゼクティブ向けの営業パイプライン分析スキルです。設定したデータソースの取引・商談データを標準化し、概要と詳細診断を作成します。
主な機能
- 01CRMとフィールドのマッピング設定
- 02期間指定の取引・商談分析
- 03件数と適格性の指標
- 04流入元とステージの分析
- 05停滞案件とリスクの検出
- 06概要と詳細レポートの作成
活用シーン
- 01週次営業レビューの準備
- 02取締役会前のパイプライン状況確認
- 03取引が停滞している段階の特定
- 04期間ごとの商談品質と成約率の比較
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ gooseworks-ai/ goose-skills --skill pipeline-reviewインストール後、Claude Code で/pipeline-reviewを入力して読み込まれたか確認します。
同梱ファイルskill.meta.json
詳細
パイプラインレビュー
ユーザーがパイプラインの管理に使っているシステムから商談とミーティングのデータを取得し、選択した期間について分析して、創業者、セールスリーダー、AEが実際に知りたい疑問に答えるレポートを作成します。十分な数の商談を獲得できているか。商談の質は十分か。商談が停滞しているのはどこか。何がうまくいっていて、何がうまくいっていないか。
2つの出力モード:
- エグゼクティブサマリー: 1ページの概要です。数値、傾向、警告事項をまとめます。創業者が朝のコーヒーを飲みながら読むレポートです。
- 詳細な診断: データテーブル全体、ステージごとの内訳、流入元の分析、停滞している商談の一覧、具体的な推奨事項をまとめます。
どちらも必ず作成します。エグゼクティブサマリーはレポートの先頭に配置します。
自動読み込みの条件
次の場合に、この複合ワークフローを読み込みます。
- ユーザーが「パイプラインをレビューして」「パイプラインレポート」「パイプラインの状況はどう?」「商談レビュー」と言った場合
- ユーザーが「1:1の準備」「取締役会の準備」「週次のセールスレビュー」と言った場合
- 上流のワークフロー(Pipeline Ops、日次のBDR業務リズム)が期間終了時のレビューを起動した場合
- ユーザーがミーティングの質、コンバージョン率、パイプラインの健全性について質問した場合
ステップ 0:設定(初回のみ)
初回実行時に、以下の設定を確認して保存します。2回目以降は省略します。
データソースの設定
| 質問 | 選択肢 | 保存先 |
|---|---|---|
| パイプラインの管理には何を使っていますか? | Salesforce / HubSpot / Pipedrive / Close / Supabase / Google Sheets / CSV / Notion / その他 | crm_tool |
| どのようにアクセスしますか? | API / CSV エクスポート / MCP ツール / 直接クエリ | access_method |
| お使いのシステムで「商談」を表すオブジェクトは何ですか? | Opportunity / Deal / Lead / Meeting / カスタム | deal_object |
パイプラインのステージ定義
| 質問 | 目的 | 保存先 |
|---|---|---|
| パイプラインのステージを順番に教えてください。 | データを標準的なファネルに対応付ける | pipeline_stages |
| どのステージを「適格」とみなしますか? | 適格率の計算 | qualified_stage |
| どのステージを「受注」とみなしますか? | 受注率の計算 | won_stage |
| どのステージを「失注」とみなしますか? | 失注分析 | lost_stage |
| 想定するセールスサイクルの長さは何日ですか? | 停滞している商談の特定 | expected_cycle_days |
ステージ対応付けの例:
pipeline_stages: [
"Lead",
"Meeting Booked",
"Meeting Held",
"Qualified (Discovery Done)",
"Proposal Sent",
"Negotiation",
"Closed Won",
"Closed Lost"
]
qualified_stage: "Qualified (Discovery Done)"
won_stage: "Closed Won"
lost_stage: "Closed Lost"
expected_cycle_days: 30
フィールドの対応付け
CRMによってフィールド名は異なります。ユーザーのフィールドを標準的な分析フィールドに対応付けます。
| 標準フィールド | 目的 | 保存先 | 例 |
|---|---|---|---|
| 商談名 | 識別 | field_deal_name | "Name"、"Deal Name"、"Opportunity Name" |
| 企業 | アカウントのグループ化 | field_company | "Company"、"Account"、"Organization" |
| ステージ | ファネル内の位置 | field_stage | "Stage"、"Pipeline Stage"、"Status" |
| 担当者 | 担当者ごとの分析 | field_owner | "Owner"、"Assigned To"、"Rep" |
| 流入元 | チャネルのアトリビューション | field_source | "Lead Source"、"Source"、"Channel"、"UTM Source" |
| 作成日 | 期間の絞り込み | field_created_date | "Created Date"、"Created At"、"Date Added" |
| 成約日 | 商談の進捗速度の追跡 | field_close_date | "Close Date"、"Expected Close"、"Closed At" |
| 金額 | 売上分析 | field_amount | "Amount"、"Deal Value"、"ARR"、"MRR" |
| 最終アクティビティ日 | 古い商談の検出 | field_last_activity | "Last Activity"、"Last Modified"、"Last Touched" |
| ミーティング日 | ミーティング分析 | field_meeting_date | "Meeting Date"、"Call Date"、"Demo Date" |
| 適格性ステータス | 適格率 | field_qual_status | "Qualified"、"ICP Fit"、"BANT Score" |
| 失注理由 | 失注分析 | field_loss_reason | "Loss Reason"、"Closed Lost Reason"、"Disqualification Reason" |
すべてのフィールドが必須ではありません。 分析は、利用可能なデータに合わせて調整されます。最低限必要なのは、商談名、ステージ、作成日です。
ベンチマーク(任意)
| 質問 | 目的 | 保存先 |
|---|---|---|
| 週/月あたりの目標ミーティング数はどれくらいですか? | 実績を目標と比較する | target_meetings |
| 目標適格率はどれくらいですか? | 目標を下回った場合に警告する | target_qual_rate |
| 目標成約率はどれくらいですか? | 目標を下回った場合に警告する | target_win_rate |
| 目標パイプライン価値はどれくらいですか? | 収益ギャップを分析する | target_pipeline_value |
設定を保存する場所は、現在の作業ディレクトリ、またはユーザーが希望する場所です。
ステップ 1:パイプラインデータを取得する
目的: 指定された期間の商談/ミーティングデータを、設定済みの CRM から抽出します。
入力コントラクト
period: {
type: "weekly" | "fortnightly" | "monthly" | "quarterly" | "custom"
start_date: string # ISO date (auto-calculated from type, or user-specified)
end_date: string # ISO date (default: today)
comparison_period: boolean # Include prior period for trend comparison (default: true)
}
crm_tool: string # From config
access_method: string # From config
field_mapping: { ... } # From config
プロセス
crm_tool と access_method に基づいて処理します。
| CRM | アクセス方法 | 取得方法 |
|---|---|---|
| Salesforce | API / CSV エクスポート | SOQL クエリを実行するか、ユーザーが CSV エクスポートをアップロードします |
| HubSpot | API / CSV エクスポート | Deals API を使用するか、ユーザーが CSV エクスポートをアップロードします |
| Pipedrive | API / CSV エクスポート | Deals API を使用するか、ユーザーが CSV エクスポートをアップロードします |
| Close | API / CSV エクスポート | Leads/Opportunities API または CSV を使用します |
| Supabase | 直接クエリ | deals/outreach_log テーブルをクエリします |
| Google Sheets | Sheets API / CSV | シートを読み込むか、ユーザーが CSV をエクスポートします |
| Notion | Notion MCP | データベースをクエリします |
| CSV | ファイル読み込み | ユーザーがファイルパスを指定します |
次の 2 つのデータセットを取得します:
- 当期: 指定された日付範囲内に作成された、または有効なすべての商談
- 比較期間: 同じ長さの前期間(例:直近 2 週間を確認する場合、その前の 2 週間も取得します)
データの標準化
データソースにかかわらず、すべてのデータを標準構造に正規化します。
deals: [
{
id: string
name: string
company: string
stage: string # Mapped to pipeline_stages
owner: string | null
source: string | null # Lead source / channel
created_date: string # ISO date
close_date: string | null # ISO date
last_activity_date: string | null
meeting_date: string | null
amount: number | null
qualification_status: string | null
loss_reason: string | null
days_in_current_stage: integer # Calculated
total_age_days: integer # Calculated from created_date
}
]
出力コントラクト
pipeline_data: {
current_period: {
start_date: string
end_date: string
deals: [...] # Standardized deal records
deal_count: integer
}
comparison_period: {
start_date: string
end_date: string
deals: [...]
deal_count: integer
} | null
}
人による確認ポイント
## Data Pulled
Source: [CRM name]
Current period: [start] to [end] — X deals
Comparison period: [start] to [end] — Y deals
Fields available: [list of mapped fields]
Fields missing: [any unmapped fields — analysis will adapt]
Data looks correct? (Y/n)
ステップ 2:パイプラインを分析する
目的: 7 つの指標にわたって完全な分析を行います。純粋な計算と LLM による推論であり、本質的にツールに依存しません。
入力コントラクト
pipeline_data: { ... } # From Step 1
pipeline_stages: string[] # From config
qualified_stage: string # From config
won_stage: string # From config
lost_stage: string # From config
expected_cycle_days: integer # From config
benchmarks: { ... } | null # From config (optional)
分析指標
当期のデータについて、7 つすべての分析を実施します。比較期間がある場合は、期間ごとの傾向を算出します。
分析 1:ボリューム指標
回答する質問: 予約したミーティング/商談の件数はいくつですか? 件数は増えていますか、それとも減っていますか?
| 指標 | 算出方法 |
|---|---|
| 作成された商談の総数 | 期間内の created_date を持つ商談を数えます |
| 予約済みミーティング | 「Meeting Booked」ステージに到達した商談、または meeting_date がある商談を数えます |
| 実施済みミーティング | 「Meeting Held」ステージ以上の商談を数えます |
| ノーショー率 | (予約済みミーティング数 - 実施済みミーティング数)/ 予約済みミーティング数 |
| 期間ごとの変化 | 比較期間と比べます |
| 目標との比較 | 設定されている場合、target_meetings と比べます |
| 週あたりの進捗率 | 総数 / 期間の週数 |
出力:
volume: {
deals_created: integer
meetings_booked: integer
meetings_held: integer
no_show_count: integer
no_show_rate: percentage
weekly_run_rate: float
vs_prior_period: {
deals_change: percentage # "+15%" or "-8%"
meetings_change: percentage
} | null
vs_target: {
target: integer
actual: integer
gap: integer # Positive = ahead, negative = behind
} | null
}
分析 2:適格性の内訳
回答する質問: 適格なミーティングはいくつありましたか? 不適格なミーティングはいくつですか? 適格率はいくつですか?
| 指標 | 算出方法 |
|---|---|
| 適格な商談 | qualified_stage 以上の商談 |
| 不適格な商談 | qualified_stage に到達する前に失注した商談、または不適格とマークされた商談 |
| 適格率 | 適格 / (適格 + 不適格) |
| 適格性の判定待ち | 「Meeting Held」と qualified_stage の間にある商談 |
| 失注理由 | 適格性判定前に失注した商談の loss_reason をグループ化します |
| 前期間との比較 | 適格率を比較します |
| 目標との比較 | 設定されている場合、target_qual_rate と比べます |
出力:
qualification: {
qualified_count: integer
unqualified_count: integer
pending_count: integer
qualification_rate: percentage
vs_prior_period: percentage_change | null
vs_target: { target: percentage, actual: percentage } | null
top_disqualification_reasons: [
{ reason: string, count: integer, percentage: percentage }
]
}
分析 3:ソース/チャネルの帰属
回答する質問: リードはどこから来ていますか? 最も多くの有望な商談を生み出しているソースはどれですか?
| 指標 | 計算方法 |
|---|---|
| ソース別の案件数 | source でグループ化して件数を数える |
| ソース別のミーティング数 | source でグループ化してミーティング数を数える |
| ソース別の適格率 | ソースごとに、適格な件数/合計件数 |
| 最良のソース(量) | 案件数が最も多いソース |
| 最良のソース(質) | 適格率が最も高いソース(統計的な関連性を確保するため、最低 5 件の案件が必要) |
| 成約率が最も高いソース | 成約率が最も高いソース |
| ソースの傾向 | 前の期間と比較する |
出力:
source_attribution: {
by_source: [
{
source: string
deals_created: integer
meetings_booked: integer
meetings_qualified: integer
qualification_rate: percentage
deals_won: integer
win_rate: percentage
revenue: number | null
vs_prior_period: percentage_change | null
}
]
best_volume_source: string
best_quality_source: string
best_conversion_source: string
source_concentration_warning: string | null # Flag if >60% from one source
}
分析 4:ステージ分布と進行速度
回答する質問: 案件はパイプラインのどこにありますか? ステージをどのくらいの速さで進んでいますか?
| 指標 | 計算方法 |
|---|---|
| ステージ別の案件数 | アクティブな案件を現在の stage でグループ化する |
| ステージ別の売上 | ステージごとに amount を合計する |
| 各ステージの平均滞在日数 | 各ステージを通過した案件について、days_in_current_stage の平均を計算する |
| ステージ間の転換率 | あるステージから次のステージに進む案件の割合 |
| パイプラインの進行速度 | (案件数 × 成約率 × 平均案件規模)/平均サイクル期間 |
| パイプラインの合計金額 | すべてのアクティブな案件の amount を合計する |
| 加重パイプライン | 各案件の(amount × ステージ確率)を合計する |
ステージ確率のデフォルト値(利用可能な場合は実際のデータで上書きします):
Lead: 5%
Meeting Booked: 10%
Meeting Held: 20%
Qualified: 40%
Proposal Sent: 60%
Negotiation: 80%
Closed Won: 100%
Closed Lost: 0%
出力:
stage_analysis: {
by_stage: [
{
stage: string
deal_count: integer
revenue: number | null
weighted_revenue: number | null
avg_days_in_stage: float
conversion_to_next_stage: percentage
}
]
total_pipeline_value: number | null
weighted_pipeline_value: number | null
pipeline_velocity: number | null
avg_cycle_length_days: float
vs_expected_cycle: string # "On pace", "X days slower than expected", etc.
}
分析 5:停滞案件とリスクのあるパイプライン
回答する質問: 長期間停滞している案件はありますか? 停滞するリスクがある案件はどれですか?
| 指標 | 計算方法 |
|---|---|
| 停滞案件 | days_in_current_stage がそのステージの平均の 2 倍を超える案件、または合計期間が expected_cycle_days を超える案件 |
| 活動のない案件 | last_activity_date が 14 日以上前の案件 |
| 長期化した案件 | total_age_days が expected_cycle_days の 1.5 倍を超える案件 |
| リスクのある売上 | 停滞案件、活動のない案件、長期化した案件の amount の合計 |
| 集中リスク | 単一の案件がパイプライン全体の価値の 30% を超えているか |
停滞案件のしきい値: 現在のステージに、そのステージでの案件の平均滞在時間の 2 倍を超えて留まっている案件を「停滞」とします。ステージごとの平均を算出するのに十分なデータがない場合は、次のデフォルト値を使用します。
| ステージ | 想定される最大日数 |
|---|---|
| リード | 3 日 |
| ミーティング予約済み | 7 日 |
| ミーティング実施済み | 5 日 |
| 適格 | 10 日 |
| 提案送付済み | 14 日 |
| 交渉中 | 14 日 |
出力:
stuck_and_at_risk: {
stuck_deals: [
{
name: string
company: string
stage: string
days_in_stage: integer
expected_max_days: integer
owner: string | null
amount: number | null
last_activity: string | null
recommended_action: string # "Follow up", "Ask for timeline", "Qualify out"
}
]
no_activity_deals: [
{
name: string
company: string
stage: string
days_since_activity: integer
owner: string | null
recommended_action: string
}
]
at_risk_revenue: number | null
concentration_risks: [
{ deal_name: string, amount: number, percentage_of_pipeline: percentage }
] | null
}
分析 6:成約/失注分析
回答する質問: 成約率はどのくらいですか? 案件を失注する理由は何ですか?
| 指標 | 計算方法 |
|---|---|
| 成約率 | 期間中にクローズした案件について、成約数/(成約数+失注数) |
| ソース別の成約率 | ソースでグループ化する |
| オーナー別の成約率 | 担当者でグループ化する |
| 成約案件の平均規模 | 成約案件の amount の平均 |
| 平均成約期間 | 作成から成約までの日数の平均 |
| 主な失注理由 | loss_reason でグループ化して件数を数える |
| ステージ別の失注分布 | 案件が最も多く失注するステージ |
| 前の期間との比較 | 成約率を比較する |
| 目標との比較 | target_win_rate が設定されている場合、目標と比較する |
出力:
win_loss: {
deals_won: integer
deals_lost: integer
win_rate: percentage
vs_prior_period: percentage_change | null
vs_target: { target: percentage, actual: percentage } | null
avg_deal_size_won: number | null
avg_days_to_close: float
win_rate_by_source: [ { source: string, win_rate: percentage, count: integer } ]
win_rate_by_owner: [ { owner: string, win_rate: percentage, count: integer } ] | null
top_loss_reasons: [
{ reason: string, count: integer, percentage: percentage }
]
loss_by_stage: [
{ stage: string, lost_count: integer, percentage: percentage }
]
}
分析 7:予測とカバレッジ
回答する質問: 目標を達成できそうですか? 目標をカバーするのに十分なパイプラインがありますか?
この分析は、target_pipeline_value または売上目標が設定されている場合にのみ実行します。
| 指標 | 計算方法 |
|---|---|
| パイプラインカバレッジ率 | 加重パイプライン/残りのノルマ |
| コミット予測 | 交渉中+提案ステージの案件の合計 |
| ベストケース予測 | コミット+適格案件 × 過去の成約率 |
| 目標との差 | 目標 - ベストケース予測 |
| 差を埋めるために必要な成約数 | 差/平均案件規模 |
| 差を埋めるために必要なミーティング数 | 必要な成約数/過去のミーティングから成約への転換率 |
出力:
forecast: {
target: number
commit_forecast: number
best_case_forecast: number
gap_to_target: number
pipeline_coverage_ratio: float # 3x+ is healthy, <2x is risky
deals_needed_to_close_gap: integer
meetings_needed_to_close_gap: integer
coverage_assessment: "Healthy (3x+)" | "Adequate (2-3x)" | "At risk (<2x)" | "Critical (<1x)"
} | null
出力契約(完全な分析)
analysis: {
period: { type, start_date, end_date }
volume: { ... }
qualification: { ... }
source_attribution: { ... }
stage_analysis: { ... }
stuck_and_at_risk: { ... }
win_loss: { ... }
forecast: { ... } | null
}
このステップの後に人による確認はありません。分析結果はそのままレポート生成に渡されます。
ステップ 3:レポートの生成
目的: 生の分析結果を、エグゼクティブサマリーと詳細な診断レポートの 2 つの形式に変換します。純粋な LLM の推論です。
入力契約
analysis: { ... } # From Step 2
benchmarks: { ... } | null # From config
エグゼクティブサマリーの形式
1 ページです。数値と傾向を示します。創業者や営業責任者が 60 秒で把握する必要がある内容です。
# Pipeline Review — [Period Type]: [Start Date] to [End Date]
## Snapshot
| Metric | This Period | Prior Period | Change |
|--------|------------|-------------|--------|
| Meetings booked | X | Y | +/-Z% |
| Meetings held | X | Y | +/-Z% |
| Qualification rate | X% | Y% | +/-Z pts |
| Win rate | X% | Y% | +/-Z pts |
| Pipeline value | $X | $Y | +/-Z% |
| Avg deal size | $X | $Y | +/-Z% |
| Avg days to close | X | Y | +/-Z |
## Red Flags
- [Any metric trending down significantly]
- [Stuck deals above threshold]
- [Pipeline coverage below 2x]
- [Single source >60% of pipeline]
- [No-show rate above 20%]
## Green Lights
- [Metrics trending up]
- [Sources performing well]
- [Stages moving faster than expected]
## Top 3 Actions
1. [Most impactful thing to do this week]
2. [Second most impactful]
3. [Third most impactful]
詳細な診断レポートの形式
すべてのデータ表、チャート(Markdown の表形式)、および解説を含みます。
# Pipeline Diagnostic — [Period]
## 1. Volume
[Volume metrics table]
[Commentary: is volume on track? Trending up or down? Meeting goals?]
## 2. Qualification
[Qualification breakdown table]
[Disqualification reasons table]
[Commentary: are we meeting with the right people? Common DQ reasons to address?]
## 3. Source Effectiveness
[Source attribution table — sorted by qualification rate]
[Commentary: which channels are working? Which are wasting time?
Where should we invest more? Where should we cut?]
## 4. Stage Distribution & Velocity
[Stage breakdown table with counts, revenue, avg days, conversion rates]
[Commentary: where is the pipeline fat? Where is it thin?
Is velocity healthy or slowing?]
## 5. Stuck Deals
[Stuck deals table with recommended actions]
[No-activity deals table]
[Commentary: total at-risk revenue, common patterns in stuck deals]
## 6. Win/Loss Analysis
[Win rate table — overall, by source, by owner]
[Loss reasons table]
[Loss by stage table]
[Commentary: why are we losing? At which stage? Any patterns?]
## 7. Forecast & Coverage (if targets set)
[Forecast table]
[Coverage assessment]
[Commentary: will we hit the number? What needs to happen?]
## Recommendations
[Numbered list of specific, actionable recommendations based on the data.
Each recommendation should cite the specific data point that drives it.]
推奨事項のロジック
分析で見つかったパターンに基づいて推奨事項を生成します。
| パターン | 推奨事項 |
|---|---|
| 適格率 <40% | 「ICP ターゲティングを見直してください。適格でない見込み客との商談が多すぎます。最も多い失格理由は [X] です。[ソース/基準] をより厳しくすることを検討してください。」 |
| ノーショー率 >20% | 「商談確認フローを導入してください。24 時間前と 1 時間前にリマインダーを送信します。現在のノーショー率 X% により、期間あたり Y 件の商談が失われています。」 |
| 1 つのソースがパイプラインの >60% を占める | 「リードソースを多様化してください。[ソース] がパイプラインの X% を占めています。このチャネルの成果が落ちると、パイプラインが崩壊します。[代替チャネル] を試してください。」 |
| 高品質なソースだが量が少ない | 「[ソース] を拡大してください。適格率は X%(パイプライン内で最高)ですが、全体に占める割合は Y% にすぎません。ここへの投資を増やしてください。」 |
| 特定のステージで案件が停滞 | 「[ステージ] の停滞を解消してください。X 件の案件が平均 Y 日間滞留しています(通常の 2 倍)。共通するパターン:[観察事項]。推奨事項:[具体的なアクション]。」 |
| 受注率が低下 | 「受注率が X% から Y% に低下しました。主な失注理由が [Z] に変わりました。次の対応を検討してください:[具体的な対応]。」 |
| パイプラインカバレッジ <2x | 「[目標] に対するパイプラインカバレッジは [X]x です。この差を埋めるには、適格な案件がさらに Z 件必要です。現在のコンバージョン率では、W 件の商談が必要です。」 |
| 平均サイクルが長期化 | 「案件の成約までに、前期間より X 日長くかかっています。ボトルネックは [ステージ] です。短縮するための具体的なアクションを検討してください。」 |
| 特定ステージでの失注率が高い | 「失注の X% が [ステージ] で発生しています。これは [解釈] を示唆しています。[アクション] を検討してください。」 |
出力契約
report: {
executive_summary: string # Markdown formatted
detailed_diagnostic: string # Markdown formatted
recommendations: [
{
priority: "high" | "medium" | "low"
area: string # "volume", "qualification", "source", "velocity", "stuck", "win_loss", "forecast"
recommendation: string
data_point: string # The specific metric that drove this recommendation
expected_impact: string # What fixing this would do
}
]
stuck_deal_actions: [
{
deal_name: string
company: string
action: string
owner: string | null
}
]
}
人による確認
まずエグゼクティブサマリーを提示し、その後、詳細な診断レポートを案内します。
[Executive Summary rendered]
---
Full detailed diagnostic is also available.
Actions from this review:
1. [High priority recommendation]
2. [High priority recommendation]
3. [Medium priority recommendation]
Stuck deals requiring immediate attention:
| Deal | Company | Stage | Days Stuck | Action |
|------|---------|-------|------------|--------|
| ... | ... | ... | ... | ... |
Want to see the full diagnostic? Or take action on any of these recommendations?
ステップ 4:エクスポートと共有(任意)
目的: レポートを保存し、必要に応じてユーザーが希望する場所に送信します。
プロセス
ユーザーの希望に応じて選択します。
| 出力先 | 方法 |
|---|---|
| Markdown ファイル | 現在の作業ディレクトリに保存します |
| Google Sheets | データ表(指標、案件リスト、ソース別の内訳)をシートにエクスポートします |
| Notion | Notion MCP を介して Notion データベースのページに送信します |
| Slack | エグゼクティブサマリーをチャンネルに送信します |
| メール | AgentMail API(agentmail.dev)または他のメール API を介して送信します |
| stdout | 表示のみ(デフォルト) |
実行の概要
| ステップ | ツールの依存関係 | 人による確認 | 所要時間の目安 |
|---|---|---|---|
| 0. 設定 | なし | 初回のみ | 5 分(1 回) |
| 1. データ取得 | 設定可能(CRM API、CSV、Supabase など) | データが正しいことを確認 | 1~2 分 |
| 2. 分析 | なし(計算 + LLM の推論) | なし — レポートに直接渡されます | 自動 |
| 3. レポートの生成 | なし(LLM の推論) | エグゼクティブサマリーを確認し、詳細を掘り下げます | 5~10 分 |
| 4. エクスポート | 設定可能(ファイル、Sheets、Notion など) | 任意 | 1 分 |
人による確認の合計時間:約 10~15 分。通常なら CRM を手作業で調べるのに 30~60 分かかる、パイプライン全体のレビューを実施できます。
データの利用可否への対応
すべての CRM にすべてのフィールドがあるわけではありません。分析は、データが不足していても適切に機能します。
| 不足しているフィールド | 省略される内容 | 分析は引き続き機能しますか? |
|---|---|---|
amount | 売上指標、加重パイプライン、予測 | はい — 件数とステージの分析は引き続き実行されます |
source | ソースのアトリビューション(分析 3) | はい — それ以外の分析はすべて引き続き実行されます |
loss_reason | 失注理由の内訳 | はい — 受注/失注率は引き続き算出されます |
owner | 担当者ごとの分析 | はい — 集計指標は引き続き算出されます |
last_activity_date | アクティビティのない案件の検出 | 一部 — ステージ滞在期間を基に停滞案件は引き続き検出されます |
close_date | 成約までの速度、平均成約日数 | 一部 — ステージ分布は引き続き確認できます |
| 比較期間のデータ | 期間ごとの傾向 | はい — 単一期間の分析でも完全なレポートを作成できます |
有用なレポートを作成するための最低限のデータ: 案件名 + ステージ + 作成日。それ以外の情報は分析を充実させますが、必須ではありません。
レビューの頻度ガイド
| レビューの種類 | 期間 | 対象者 | 焦点 |
|---|---|---|---|
| 週次スタンドアップ | 過去 7 日間 | 営業チーム | 件数、停滞案件、今週の優先事項 |
| 隔週レビュー | 過去 14 日間 | 営業責任者 | 適格性、ソースの有効性、傾向 |
| 月次レビュー | 過去 30 日間 | 創業者 / 営業担当 VP | 全体診断、受注/失注、予測 |
| 四半期ビジネスレビュー | 過去 90 日間 | 経営陣 / 取締役会 | 傾向、ユニットエコノミクス、戦略的な提言 |
レポートの詳細度は、期間の長さに応じて自動的に調整されます。週次レビューでは、件数と停滞案件を重視します。四半期レビューでは、傾向、コンバージョン率、戦略的なパターンを重視します。
ヒント
- 一定の頻度で実行してください。 データが蓄積されるほど価値も高まります。複数のデータポイントがあって初めて、傾向が見えてきます。過去 3 か月と比較できれば、月次レビューの有用性は 10 倍になります。
- 停滞案件のセクションを飛ばさないでください。 即効性のある ROI はここにあります。停滞案件を見つけて解消するたびに、収益化を早められます。
- ソースのアトリビューションは、最も大きな効果が期待できる分析です。 LinkedIn の適格化率がコールドメールの 3 倍だと分かれば、予算と労力を振り向けるべきです。ほとんどのチームは、この分析を実施していません。
- 見栄えだけの指標に注意してください。 「40 件のミーティングを設定した」としても、適格化率が 15% なら意味がありません。質を伴わない件数は、関係者全員の時間の無駄です。
- 無断欠席率は見えにくい損失要因です。 多くのチームは設定したミーティングを追跡しますが、実際に開催されたミーティングは追跡していません。無断欠席率が 25% なら、4 件に 1 件のミーティングが無駄になっています。確認メッセージのシーケンスで改善してください。
- パイプラインカバレッジが 2 倍未満なら、危険信号です。 今四半期に 10 万ドルが必要なのに、加重パイプラインが 15 万ドルしかない場合、目標を達成できない可能性が高いです。健全な水準は 3 倍以上です。
- 失注理由のデータは、担当者が実際に入力して初めて役立ちます。 失注の 80% が「その他」または空欄なら、失注分析に意味はありません。まずデータの品質を改善してください。