顧客アカウント健全度スコア計算ツール
顧客アカウント健全度計算ツールは、代表的な4つのシグナルを0から100までの分かりやすいスコアにまとめます。製品利用、サポートチケット、NPS、支払い履歴の正規化済みスコアと、それぞれの影響度をパーセントで入力してください。重みの合計が正確に100%であることを確認し、加重平均を計算して、総合スコアと各シグナルの寄与度を表示します。そのため、カスタマーサクセス業務で結果を説明し、再現し、一貫して活用できます。
無料で実行
比較できる顧客シグナルを準備します
まず、製品利用、サポートチケット、NPS、支払い履歴を同じ0から100までの尺度で表してください。高い値が常に健全なアカウントを意味するようにそろえる必要があります。そのため、サポート活動は入力前に変換が必要な場合があります。未解決のエスカレーションが頻発している場合は低いサポートスコアにし、迅速な解決や重大度の低い問い合わせは高いスコアにします。NPSも、-100から100までの生の調査値ではなく、健全度を表す正規化済みの値として入力します。各シグナルの定義を事前に決め、すべてのアカウントと報告期間に同じ基準を適用してください。見かけ上の細かな精度より、一貫性が重要です。たとえば製品利用には、アクティブユーザー率、機能の採用状況、最近のセッション頻度を組み合わせられます。支払い履歴には、期日どおりの支払いと延滞残高を反映できます。2人の担当者が同じ入力値を算出できるよう、元データの規則を文書化してください。このツールは元のスコアを推測したり補正したりしません。非公開の変換処理が入ると、総合値の監査が難しくなるためです。指定された値だけを組み合わせ、各シグナルの加重寄与度を明示します。
重みを決めて計算式を理解します
アカウント健全度への影響の大きさに応じて、各シグナルへパーセントの重みを割り当てます。4つの重みは正確に100%にならなければなりません。計算ツールは各スコアに重みを掛け、100で割ってから、4つの寄与度を合計します。製品利用が80、重みが40%なら、寄与度は32ポイントです。一時的に考慮しないシグナルには重み0を設定できますが、残りの重みの合計は100%にする必要があります。この検証により、表計算でよく起こる誤りを防げます。割合の不足や重複によって、気付かないまま結果が大きくなったり小さくなったりする問題です。応答には各シグナルの入力スコア、重み、加重寄与度が表示されるため、計算内容を確認できます。安定した自動処理と実用的な精度を両立するため、結果は小数点以下4桁に丸めます。スコアには簡潔な区分も付きます。80以上は健全、60以上80未満は要注意、60未満はリスクありです。これらを運用上の初期基準として使用し、その後、お客様のライフサイクルに合わせて対応ルールを調整してください。
顧客対応でスコアを適切に活用します
総合健全度スコアは、アカウント固有の事情に代わる判断ではなく、優先順位を一貫して決めるための補助として役立ちます。同じ計算式を定期的に実行し、総合結果と内訳の両方を比較してください。合計値が安定していても、製品採用が改善する一方で支払い状況が悪化するなど、反対方向の変化が隠れている場合があります。内訳を確認すれば、カスタマーサクセス担当者は変化の原因となったシグナルを特定し、適切な対応を選べます。モデルを変更しても過去との比較に意味が残るよう、入力の定義、重み、結果を各時点の記録とともに保存してください。重みを変更する場合は、以前の期間も再計算するか、新しいモデル版であることを明記します。そうしないと、推移が顧客の行動ではなく計算方法の違いを示す可能性があります。更新、拡張、縮小、解約などの実績としきい値を照合し、根拠が得られた場合に元スコアの定義を調整してください。APIは1回$0.002で、ブラウザー版は個別確認に利用できます。外部サービスには接続せず、同じ入力からは常に同じ結果が得られます。
活用例
顧客対応の優先順位付け
一貫した総合指標でアカウントを並べ、対応を決める前に最も低い寄与度を確認します。
更新予定ポートフォリオの監視
健全度を定期的に再計算し、契約更新の打ち合わせ前に重要な変化を検出します。
経営報告の基準統一
文書化した重み付けモデルをチーム横断で適用し、各結果を説明できる内訳を保持します。
よくある質問
どのような計算式を使用しますか?
正規化済みの各スコアに重みの割合を掛け、100で割り、4つの加重寄与度を合計します。
重みの合計が100%でない場合はどうなりますか?
入力エラーとなり、受け取った合計値を表示します。総合スコアは計算されません。
0未満の生のNPSを入力できますか?
いいえ。使用前に、生のNPSを0から100までの正規化済み健全度シグナルへ変換してください。
健全度の区分はどのように決まりますか?
80以上は健全、60以上80未満は要注意、60未満はリスクありと判定します。
シグナルの重みを0にできますか?
はい。各スコアと重みは0から100まで設定できますが、4つの重みの合計は100%にしてください。
APIによる計算の料金はいくらですか?
APIによる計算は1回$0.002です。ブラウザー版は個別の確認にご利用いただけます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/biz/customer-health-score-calc \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"usage_score":82,"usage_weight":35,"support_tickets_score":68,"support_tickets_weight":20,"nps_score":74,"nps_weight":25,"payment_history_score":95,"payment_history_weight":20}'const res = await fetch("https://api.kit.forhosting.com/biz/customer-health-score-calc", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"usage_score": 82,
"usage_weight": 35,
"support_tickets_score": 68,
"support_tickets_weight": 20,
"nps_score": 74,
"nps_weight": 25,
"payment_history_score": 95,
"payment_history_weight": 20
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/customer-health-score-calc",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"usage_score": 82,
"usage_weight": 35,
"support_tickets_score": 68,
"support_tickets_weight": 20,
"nps_score": 74,
"nps_weight": 25,
"payment_history_score": 95,
"payment_history_weight": 20
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/customer-health-score-calc", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"usage_score":82,"usage_weight":35,"support_tickets_score":68,"support_tickets_weight":20,"nps_score":74,"nps_weight":25,"payment_history_score":95,"payment_history_weight":20}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"usage_score":82,"usage_weight":35,"support_tickets_score":68,"support_tickets_weight":20,"nps_score":74,"nps_weight":25,"payment_history_score":95,"payment_history_weight":20}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/customer-health-score-calc", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"usage_score": 82,
"usage_weight": 35,
"support_tickets_score": 68,
"support_tickets_weight": 20,
"nps_score": 74,
"nps_weight": 25,
"payment_history_score": 95,
"payment_history_weight": 20
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.customer_health_score_calc",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |