ooligo
claude-skill

CSMコールと使用状況から拡張シグナルを検出する

Difficulty
中級
Setup time
45min
For
revops · csm
RevOps

Stack

顧客ポートフォリオ全体の過去7日間のCSMコール、使用状況の異常、サポートチケットをスキャンし、具体的な拡張意向を示すアカウントのCSMごとのランク付けダイジェストを出力するClaude スキルです。表面化された各アカウントはアップセルSKU、それを支持する逐語的な証拠、CSMが今週取ることができる単一のネクストベストアクションを示します。バンドルは apps/web/public/artifacts/expansion-signal-detection-claude/ にあり、SKILL.md と、チームが独自のSKUラインナップ、セグメントベースライン、CSMアクションプレイブックに合わせて編集する3つの参照ファイルが含まれています。

使う場面

CSチームが週次で手動スキャンできる量を超えるアカウントを担当しており、フュージョンするための少なくとも2つの重複データソース — 通常GongのCSMコールとGainsight(またはウェアハウスが出力した)使用状況の異常 — がある場合にこのスキルを使います。スキルは少なくとも100アカウントのポートフォリオを持つ3名以上のCSMのチーム向けに設計されています;それ以下のスケールでは、人間のCSMリードがすべてのコールを手動で読む方が自動化されたダイジェストよりも優れています。分類ファイルがエンコードしないコンテキストを人間が見るからです。

適切なカデンスは週次です — 通常、チームのアカウントレビューミーティングの前の月曜日の朝 — そして適切な出力はCSMごとの個人のSlack DM、1人につき3つの強いシグナルにキャップされます。このキャップが重要です:パイロットでは、10件以上の「エンゲージしているアカウント」のCSMダイジェストは2週間読まれてその後永久に無視されます。毎週月曜日に繰り返される3つの具体的な依頼が、チームが実際に内面化するカデンスです。

使わない場面

  • 個別のイベントに対するリアルタイムアラートが必要な場合。 イベントごとのピングはCSMを溺れさせ、2週間以内にチャンネルへの信頼を侵食します。週次カデンスは意図的です。CROがリアルタイムを主張する場合、Q2までにダイジェストがミュートされることを期待してください。
  • 構造化されたフィードに使用状況の異常がない場合。 スキルは事前に出力された異常イベントを消費します;生のイベントストリームからは検出しません。Gainsightがすでに seat_count_spikefeature_first_usetier_gated_feature_attempt イベントを発火していない場合は、まずそのパイプラインを修正してください — 空のフィードの上にスキルを重ねるとコールのみのダイジェストが生成され、すべてのシグナルが弱くなります。
  • CSMがコールをログしていない場合。 アカウントの60%未満がトレーリングウィンドウでログされたコールを持つ場合、すべてのシグナルセットの会話の半分は空で、ほとんどのシグナルが弱くなります。これに依存する前にGongの採用を監査してください。スキルはレートが40%を下回ると半シグナルダイジェストを出力するのではなく、カバレッジエラーで実行を中止します。
  • GainsightのCTAを自動作成したり顧客に自動メールしたりしたい場合。 このスキルは読み取り専用のシグナルです。出力はCSMのミーティング前の準備として設計されており、ワークフロートリガーではありません。ダウンストリームに自動アクションレイヤーを配線することは、CFOにチャンピオンが去った週に「当社のエンタープライズティアから恩恵を受けることに気づきました」というメールを送る最速の方法です。
  • 拡張ARRの予測が必要な場合。 出力はアカウントごとの意向シグナルであり、財務予測に入れる数値ではありません。拡張ARR予測にはスキルが持っていないクローズ率のキャリブレーションが必要です。

セットアップ

アーティファクトバンドルは apps/web/public/artifacts/expansion-signal-detection-claude/ にあります。ダウンロードし、3つの参照ファイルを実際の内容に合わせて編集し、スキルをインストールします。

  1. バンドルをダウンロードして解凍する。 expansion-signal-detection-claude/~/.claude/skills/ にドロップします。レイアウトは SKILL.mdreferences/1-expansion-signal-taxonomy.mdreferences/2-segment-baseline-config.mdreferences/3-action-library.md です。
  2. シグナルタクソノミーを構築する。 references/1-expansion-signal-taxonomy.md を実際のアップセルSKUと、各にマッピングするコールトリガーフレーズ、使用状況イベントタイプ、サポートチケットタグで編集します。具体的に:「より多くのユーザー」ではなく「50シート以上の価格について尋ねた」または「コンプライアンス要件について言及した」。ネガティブ例セクションは条件付きフレーズ(「Xをサポートしていれば」)を意向のように読めるが実際には機能ギャップレポートであるものとして検出します — チューニングを続けてください、陳腐化したネガティブ例リストはフォールスポジティブの最も一般的な原因です。
  3. セグメントベースラインをキャリブレーションする。 references/2-segment-baseline-config.md を使用状況ウェアハウスの90日間ローリングウィンドウから計算した値で編集します。セグメントごとに、各メトリクスの週次デルタの中央値と2シグマのノイズバンドをリストします。スキルはグローバルエミッターのしきい値を超えても delta_pct がノイズバンド内に収まるイベントを拒否します — これがSMBのシートカウントノイズが本物のエンタープライズ拡張を溺れさせるのを防ぐものです。
  4. アクションライブラリを埋める。 references/3-action-library.md をSKUごとに1つ以上のネクストベストアクションで編集します。すべてのエントリーは動詞+指定されたアーティファクト(ミーティング、人物、ドキュメント、チケット)の形状に従う必要があります — スキルはEmittedのAction フィールドに対してリテラルの部分文字列フィルタでこれを実施し、曖昧なものを needs human review に置き換えます。
  5. データソースを接続する。 トランスクリプト引き出しに GONG_API_KEY、使用状況イベントとアカウントフィードに GAINSIGHT_TOKEN、そしてサポートチケットAPIトークン(スタックに応じてZendesk、Intercom、またはHelpscout)を設定します。スキルは使用フィードから事前計算された異常を読み取ります;自ら異常検出は行いません。
  6. 週次で実行する。 スケジュールされたClaude Codeセッション(cronまたは週次トリガーのGitHub Actions workflow_dispatch)から expansion_signal_detection(window_days=7) を呼び出します。出力はCSMオーナーごとの1つのMarkdownファイルで、パブリックチャンネルではなくSlack DMとして投稿されます — 目標はCSMごとの説明責任であり、チームが流し見するパブリックリーダーボードではありません。

スキルが実際に行うこと

作業の本体はバンドルの SKILL.md に詳細に文書化された6つの順次ステップです。形状:

  1. アカウントごとの証拠収集。 ウィンドウ内のすべてのコール、使用状況イベント、チケットを収集します。ゼロレコードのアカウントを削除して、沈黙がランク付きリストを希薄化しないようにします。
  2. セグメントごとのベースラインフィルタリング。 各使用状況イベントについて、references/2-segment-baseline-config.md でセグメントのノイズバンドを調べ、バンド内のイベントを破棄します。単一のグローバルしきい値ではなくセグメントごとのベースラインを使用する理由:5シートのSMBの前週比30%のシートジャンプは、500シートのエンタープライズとは異なる意味があります。単一のグローバルしきい値は、SMBバンドがエンタープライズバンドを溺れさせることを保証します。
  3. コールとチケットからのシグナル抽出。 references/1-expansion-signal-taxonomy.md のトリガーフレーズを使用して、ネガティブ例レイヤーが条件付きフレーズを not_signal として明示的に分類しながら、各トランスクリプトとチケットに対して抽出プロンプトを実行します。
  4. 強弱の分類。 シグナルは、同一SKUのコール言及が少なくとも1つとウィンドウ内の使用状況イベントが少なくとも1つある場合にのみ強いとされます。それ以外は弱いです。スコアと順位付けではなく分割の理由:ルーティングが異なります。強いシグナルはCSMが今週ミーティングの招待を送ることを保証します;弱いシグナルは通常のアカウントレビュー中にちらりと見るだけで十分です。弱いシグナルをランク付きリストに入れることはCSMにランク付きリストを無視するよう訓練します。
  5. CSMごとのルーティングと優先順位付け。 強いシグナルを owner_email でグループ化し、ARR降順次に renewal_date 昇順でソートし、cap_per_csm(デフォルト3)を適用します。
  6. アクションマッピングと出力。 references/3-action-library.md で表面化された各シグナルを調べ、マッチするネクストベストアクションを添付します。エントリーがマッチしない場合、1つを合成するのではなく needs human review を出力します — 曖昧なアクションは最も素早く信頼を侵食する失敗モードです。

コストの実態

支配的なトークンコストはコール抽出ステップです。週次コールが1アカウント1つある200アカウントポートフォリオの典型的な週次実行では概算:

  • 平均6,000トークンの200トランスクリプト = 抽出に1.2M入力トークン。
  • 約800トークンの200チケット本文サマリー = 0.16M入力トークン。
  • アカウントごとの合成(200アカウント、約2,000入力+500出力トークン)= 0.4M入力+0.1M出力。
  • 週次実行ごとの合計:約1.76M入力トークン、0.1M出力トークン。

Claude Sonnetの価格(2026-Q1時点で入力100万あたり約3ドル、出力100万あたり15ドル)で、週次実行あたり約5.30ドル+1.50ドル = 7ドル未満です。年間換算:200アカウントポートフォリオあたり年間400ドル未満。同様のコールカバレッジを持つ1,000アカウントポートフォリオでは、年間2,000ドル未満に線形スケールします。コストフロアはコール抽出ステップです;CSMがコールをほとんどログしない場合、請求は比例的に落ちますが、シグナル品質も落ちます。

隠れたコストはタクソノミーのメンテナンスです。CSMリードが references/1-expansion-signal-taxonomy.md とアクションライブラリを編集するために四半期ごとに約30分、新しいSKUがリリースされるたびに長めのアドホックセッションを期待します。このメンテナンスをスキップすることがダイジェストを陳腐化させます — スキルはもはや存在しないSKUラインナップに対して自信を持った出力を出し続けます。

成功指標

監視する指標はCSMが確認した強いシグナルから14日以内の拡張会話への転換率です。トレーリング30日のウィンドウで追跡します。パイロットチームの初期ベースラインは25〜40%の範囲に収まっています — 3つに1つの強いシグナルが、CSMが他の方法では持たなかったその月の実際の会話につながるという意味です。2ヶ月連続で20%未満の場合、強弱のカットオフが緩すぎるかアクションライブラリが曖昧すぎます;継続する前にタクソノミーを絞るか、アクションの半分を書き直してください。

ラグ指標:四半期末に追跡されたダイジェストに帰属する拡張ARR貢献。拡張会話は多くの原因があるためクリーンに測定するのが難しいですが、すべてのウォンの拡張に対するCSMサーベイフィールド(「ダイジェストは会話を開始する前にこのアカウントを表面化しましたか?」)は十分な近似値です。

代替手段との比較

  • Gainsight Expansion Management対比。 Gainsightのネイティブモジュールは単一のコンポジットスコアでアカウントをランク付けし、CTAを通じてルーティングします。機能しますが不透明です — CSMがランキングに同意しない場合、設定ファイルを編集できず、管理者にチケットを提出するだけです。このスキルはランキングロジックをCSMリードが所有して直接編集する3つのプレーンテキストファイルに保存します。CSM-Opsチームがクローズドシステムを求める場合はGainsightを選び、チームがルールを所有したい場合はこれを選びます。
  • 手動CSM主導のQBR対比。 自分のNotionブックレビューを持つシニアCSMは、保有するコンテキストをタクソノミーがエンコードできないため、50アカウント未満のスケールでダイジェストよりも優れています。CSMあたり100以上のアカウントでは数学が逆転します:誰も週次でそれだけのトランスクリプトをスキャンできません。ダイジェストは力の乗数であり置き換えではなく、アクションライブラリはスキルではなくCSMに会話をするよう意図的に形作られています。
  • 汎用BIダッシュボード対比。 Lookerの「使用量スパイクのあるアカウント」のダッシュボードは誰も行動しない週次リストを生成します。指定されたSKU、逐語的なコール証拠、ネクストアクションがないからです。ダイジェストの価値はランキングではなく、フュージョンとアクションです — SKUマップとアクションライブラリがなければ、ダッシュボードの遅いバージョンになります。

注意点

  • フォールスポジティブの氾濫。 コール抽出プロンプトが緩い場合、強いシグナルリストはCSMあたり週10件以上に膨らみます。ガード:cap_per_csm を厳格に実施し、任意の単一CSMの強いリストが3回連続の実行でキャップを超えた場合、強弱のカットオフが緩すぎるという警告を前置し、絞るために references/1-expansion-signal-taxonomy.md にリンクします。静かに切り捨てないでください。
  • シグナルの誤解釈 — チャンピオン離脱トラップ。 指名されたチャンピオンが去った直後の使用量スパイクは拡張意向シグナルではなく、拡張リスクシグナルです — 新しいオーナーが契約を維持するかどうか決める前に探索しています。ガード:すべての強いシグナルを stakeholder_changes に照らして相互参照します。アカウントのチャンピオンがトレーリング30日以内に離脱した場合、弱にダウングレードし champion-departure suppressed: investigate before pursuing とタグを付けます。スキルはチャンピオンを失ったばかりのアカウントに拡張の依頼をルーティングしてはなりません。
  • しきい値のドリフト。 トリガーフレーズとSKUマッピングはプロダクトが変わるにつれて陳腐化します。2ヶ月前にリリースした新しいSKUは誰かが追加するまでタクソノミーにゼロのエントリーがあり、そのすべてのシグナルは静かに誤ってルーティングされます。ガード:診断フッターに references/1-expansion-signal-taxonomy.md のSHA-256(最初の7文字)を含めます。ファイルが90日間触れられていない場合、タクソノミーが陳腐化しているという警告を前置し、再キャリブレーションのためにファイルにリンクします。
  • 条件付き言及の誤分類。 「Xをサポートしていれば拡張を検討する」は表面上は拡張意向として読めますが、実際には機能ギャップレポートです。ガード:抽出ステップのネガティブ例レイヤーは条件付きフレーズ(「if」、「would」、「considering」、「thinking about」)を not_signal として明示的に分類します。診断はこれがどのくらいの頻度で発火するかを公開します — 発火しない場合はレイヤーが壊れています;常に発火する場合はSKUマッピングの再表現が必要です。
  • アクションの特異性の崩壊。 負荷がかかると、モデルはデフォルトで「オポチュニティをフォローアップ」の提案に戻ります。ガード:ステップ6のポストプロセスフィルターは名前付きの人物、ミーティング、またはドキュメントなしで曖昧な動詞(follow upreach outtouch basealignsocializeengage)を含むすべてのAction フィールドを拒否し、needs human review に置き換えます。ノイズより沈黙の方が良いです。

スタック

  • Gong — CSMコールコーパスとトランスクリプトAPI
  • Gainsight — 使用状況異常ソースとアカウントフィード
  • Zendesk / Intercom / Helpscout — インテグレーションクエスチョンシグナルのサポートチケットソース
  • Claude — シグナル抽出、セグメントベースラインフィルタリング、強弱分類、アクションマッピング

Files in this artifact

Download all (.zip)