Claudeでリードスコアリングの配点表を作る — 過去の受注・失注データから
案件CSVの属性・行動列を受注と失注で比べ、効いた項目だけに配点を振る手順です。古い案件で配点を決め、新しい案件で当たり外れを確かめるところまで扱います。
配点は勘ではなく、受注率の差から決める
リードスコアリングの配点表は、「役職が部長以上なら+10点」のような経験則で作られがちです。経験則が悪いわけではありません。ただ、過去の案件に当てはめたとき本当に受注と結びついていたのかは、数えてみないと分かりません。
Claudeに任せられるのは、案件CSVを受注と失注に分けて項目ごとの受注率を比べ、差の大きい項目に配点を振る作業です。さらに、配点に使っていない新しい案件で当たり外れを確かめられます。公式のヘルプも、CSVをアップロードしてClaudeにPythonで分析させる使い方を挙げています。
配点表ができるまで
- 1
案件CSVを整える
受注・失注の結果列と、商談前に分かっていた列だけを残します。
- 2
項目別の受注率を出させる
全体の受注率と比べ、どの値が受注に寄っているかを表にします。
- 3
配点に変える
受注率の差を段階に区切り、点数にします。件数が少ない値は配点しません。
- 4
新しい案件で検証する
配点を決めたあとの案件に当てはめ、スコア帯ごとの受注率を見ます。
展示会後に1回だけ優先順位を付ける作業は、Claudeで展示会後のリードに優先順位を付けフォローメールを作るで扱っています。ここで作るのは、営業チームが継続して使う点数の表そのものです。
案件CSVに入れる列と、入れてはいけない列
配点表の出来は、CSVにどの列を入れるかでほぼ決まります。最初に決めるのは、結果の列と、スコアに使ってよい列の線引きです。
| 区分 | 列の例 | 扱い |
|---|---|---|
| 結果 | 列の例受注/失注、クローズ日 | 扱い必須。受注と失注の2値にそろえる |
| 属性 | 列の例業種、従業員規模、役職、流入元 | 扱い配点の候補 |
| 行動 | 列の例資料請求回数、Webinar参加、価格ページ閲覧 | 扱い配点の候補 |
| 商談後の情報 | 列の例見積提出の有無、競合名、失注理由 | 扱いスコアには使わない |
見積提出の有無や失注理由は、商談が進んでから分かる情報です。これをスコアに入れると、受注した案件ほど見積が出ているので当たり外れの検証で成績が良く見えます。ところがスコアは、リードが入った時点で付けたいものです。商談前に分かっていた列だけを渡してください。失注理由の集計はCoworkで営業の失注理由を分析するにあります。
個人を特定する列は、スコアに不要です。氏名やメールアドレスは外し、案件IDだけ残します。
受注と失注の定義をそろえる
「失注」に何を含めるかで、結果が変わります。商談化したあとに負けた案件だけを失注とするのか、連絡が途絶えた案件も失注に入れるのかを決めておきます。連絡が途絶えた案件は「失注」ではなく「未確定」かもしれません。判断がつかない行は、結果の列を空にして除外する方が安全です。
Claudeに渡す前に確認すること
ファイルを渡して分析させる機能は、アカウントの設定に左右されます。公式のヘルプでは、コード実行とファイル作成はFree・Pro・Maxでは既定で有効、TeamとEnterpriseでは新規の組織で既定で有効とされています。Team・Enterpriseでは組織のオーナーが無効にでき、ネットワークアクセスは既定で無効です。会社のアカウントで動かないときは、まずこの設定を確認します。
渡すファイルの形式にも条件があります。
- CSVは条件なしで対応形式に入っています
- XLSXをアップロードするには、コード実行とファイル作成の有効化が必要です
- Projectsに置く場合は1ファイル30MBまでです
- チャットに添付する場合は1ファイル500MB、1チャットあたり20ファイルまでです
案件CSVは文字だけなので、数万行でもファイルサイズは小さく収まります。注意するのは行数よりも列の多さと、CRMから出力した文字コードです。文字化けして読めない列があれば、その場で伝えて直させます。
ファイル作成の機能はプランの使用量を通常のチャットより多く消費する、とヘルプに明記されています。何度も試行錯誤するより、最初に指示を固めてから実行する方が使用量を抑えられます。
項目ごとの受注率を比べさせる
最初の依頼は、配点ではなく集計だけにします。配点まで一度に頼むと、どの数字を根拠に点が付いたのかが追えなくなります。
添付の案件CSVを分析してください。結果列は「受注/失注」です。
1. 全体の受注率と件数を出す
2. 業種・従業員規模・役職・流入元・資料請求回数について、
値ごとの件数と受注率を表にする
3. 件数が30件未満の値には「件数不足」と付ける
4. 見積提出の有無など、商談後に決まる列は集計に使わない
5. 列の欠損が多いものは、欠損率を添える
ここでは配点を付けず、数字だけを出してください。3番の「件数不足」が重要です。5件しかない値で受注が4件あっても、受注率80%を根拠に高い点を付けるのは危険です。30件はあくまで一例で、案件数に合わせて変えてください。
返ってきた表は、数件を手元の表計算ソフトで数え直します。Claudeはコードを実行して集計しますが、列の取り違えや結果列の読み違えは起こりえます。全体の受注率と、任意の1項目の件数が手計算と合えば、残りも同じ処理で出ていると判断できます。
受注率の差を配点に変える
表が信頼できたら、受注率の差を点数に直します。方法は一つではありませんが、営業の現場で説明しやすいのは「全体の受注率の何倍か」で段階に切る方法です。
| 全体比の受注率 | 配点 | 読み方 |
|---|---|---|
| 2倍以上 | 配点+20 | 読み方受注にかなり寄っている |
| 1.5倍以上2倍未満 | 配点+10 | 読み方受注に寄っている |
| 0.75倍以上1.5倍未満 | 配点0 | 読み方差があるとは言えない |
| 0.5倍以上0.75倍未満 | 配点−10 | 読み方失注に寄っている |
| 0.5倍未満 | 配点−20 | 読み方失注にかなり寄っている |
この段階は一例です。次は、全体の受注率が20%の場合の読み方の例です。ある流入元の受注率が44%なら全体の2.2倍で+20、ある業種が9%なら0.45倍で−20になります。数値は説明用で、実際の案件の結果ではありません。
先ほどの集計表から配点表を作ってください。
- 全体の受注率に対する倍率で、上の5段階の点数を割り当てる
- 「件数不足」の値は0点にする
- 同じ傾向を示す項目(例: 従業員規模と売上規模)が重なる場合は、
片方だけに配点し、理由を書く
- 項目ごとの最大点と最小点を一覧にし、合計の理論上の最高点・最低点を出す
- 配点表はExcelのシートに、項目・値・件数・受注率・配点の列で出力する重なる項目への注意は、点数の水増しを防ぐためです。従業員規模と売上規模が同じ傾向を示すなら、両方に+20を付けると同じ事実を2回加点することになります。
出力はExcelで受け取れます。公式のヘルプによれば、Claudeはxlsx形式のファイルを作って、会話からダウンロードしたりGoogle Driveへ保存したりできます。
古い案件で配点を決め、新しい案件で確かめる
配点を作ったのと同じ案件に当てはめても、当たり外れの検証にはなりません。同じ案件で決めた配点は、その案件にだけよく合うからです。検証は、配点づくりに使わなかったデータで行います。
データの分け方
ランダムに分ける
案件を無作為に7対3で分ける方法です。時期の違う案件が混ざり、価格改定や製品変更の影響が見えにくくなります。
日付で分ける
クローズ日が古い7割で配点を決め、新しい3割で検証します。運用時と同じく、過去から未来を当てる形になります。
案件をクローズ日で並べ、古い70%を学習用、新しい30%を検証用に分けてください。
1. 学習用だけで配点表を作り直す
2. 検証用の各案件に配点表を当てて合計点を付ける
3. 合計点を3つの帯(高・中・低)に分け、帯ごとの件数と受注率を表にする
4. 受注率が高帯>中帯>低帯の順に並んでいるかを答える
5. 検証用で受注した案件のうち、低帯に入ったものを一覧にする3番の帯の区切りは、学習用の合計点の分布から決めます。検証用の分布で区切ると、検証が自分に都合よく見えるからです。
結果の見方は次のとおりです。
- 高帯の受注率が、全体の受注率を明確に上回っていれば、配点は機能しています
- 高・中・低の順に並ばない場合は、配点の根拠が薄い項目が混ざっています
- 検証用の件数が少ないと、帯ごとの受注率は大きくぶれます。帯ごとに最低でも数十件は欲しいところです
同じ検証を自分の手元でも再現できるよう、Claudeに「実行したPythonコードを見せて」と頼んでおくと安心です。次の形のコードが出てくるのが一般的です(これは説明用に書いた例で、Claudeの実際の出力ではありません)。
import pandas as pd
df = pd.read_csv("deals.csv", parse_dates=["close_date"])
df = df.sort_values("close_date")
cut = int(len(df) * 0.7)
train, test = df.iloc[:cut], df.iloc[cut:]
# 学習用だけで受注率を出し、検証用に配点を当てる
base = train["won"].mean()
rate = train.groupby("source")["won"].mean() / base
print(rate.round(2))コードが読めなくても、「どの列を使い、どこで日付を切ったか」を平文で説明させれば内容は追えます。公式のヘルプも、Claudeがモデルの品質と結果を説明するレポートを出せる、と書いています。
運用に乗せるときに決めること
配点表が完成しても、そのまま使い続けると古くなります。価格や製品、流入経路が変われば、受注に効く項目も変わるからです。
運用の前に決める3点
見直しの頻度
四半期か半期ごとに、新しいクローズ案件で同じ検証を回します。
足切りの扱い
低帯のリードを営業対応から外すのか、後回しにするだけなのかを決めます。
マイナス点の扱い
マイナスが付く条件は、営業が納得できる理由かを確認します。
足切りは特に慎重に決めます。検証用で受注したのに低帯に入った案件の一覧を、先に営業と読んでください。そこに共通点があれば、配点の見落としです。属性で機械的に除外すると、受注できたはずのリードを自分から捨てることになります。
営業活動の側にも手を入れられます。失注議事録から反論パターンを作る手順は、営業ロープレの顧客役をClaudeに任せ、失注議事録から反論パターンを作るにあります。スコアが高いのに失注する案件の傾向は、こちらの手順の入力にもなります。
よくあるつまずき
落とし穴
受注した案件ほど情報が多く、高得点に見える
商談が進んだ案件は、入力された情報も行動の記録も多く残ります。そのまま列に入れると、記録の多さが加点されてしまいます。リードが入った時点で分かる列だけに絞ってください。
落とし穴
件数の少ない値に大きな点が付く
件数が少ない値は、受注率が極端になりやすいものです。集計の段階で「件数不足」を付け、配点しないルールにしておきます。
落とし穴
外部ファイルに仕込まれた指示に従ってしまう
公式のヘルプは、外部のファイルやWebサイトに紛れた指示でClaudeが騙されるおそれを警告しています。社外から受け取ったCSVを使う場合は、実行中の動きを見て、想定外のデータ参照や外部へのアクセスがあれば止めてください。自社のCRMから出力したファイルを使う分には、この心配は小さくなります。
もう一つ、結果の読み違いにも注意が要ります。受注率の差は、因果ではなく相関です。資料請求が多いリードが受注しやすいとしても、資料請求を促せば受注が増えるとは限りません。配点表は優先順位を付ける道具として使い、施策の効果は別に測ってください。