0. リード + 結論の表
「解約しそうな顧客を、事前に予測できないか」
BtoB SaaS の会社で、そういう仕組みを作っています。解約は増えているのに、どういう顧客が解約するのかを、社内の誰もデータで説明できませんでした。
最初に顧客の属性(業種・契約規模・決算月)を片っ端から調べてみましたが、全部外しました。
そこから、現場への聞き方を変えて指標を見つけ、統計検定で絞り込むまでの話です。結論だけ先に書くと、こうなります。
課題の答えを聞くのではなく、相手が確実に答えられることを聞く。
| Before | 解約が増えたが、どういう顧客が解約するのかを誰もデータで示せなかった |
| 投下時間 | 統計検定3級 73.5時間 + Python3データ分析試験 約30時間 |
| After | 指標が4つに絞れた。うち先に運用に乗せた1つが、実運用で 的中率20%・再現率70%。そのうえで検定を回し、無作為の約10%に対して 18.8%/19.05% の指標を2つ積み増した |
| 次に見えた課題 | 指標は決まった。でも、統計で答えが出ることと、現場が動くことは別だった |
後編では、ここから統計検定2級取得~ロジスティック回帰に進みます。
1節. 使う人が減り始めた。でも理由は誰も言えなかった
BtoB の月額課金サービスを売っている会社です。単価 × 利用ユーザー数で売上が決まる。1ユーザー分の契約を、社内では「ID」と呼びます。
使う人が減れば、そのまま売上が落ちる。
ある四半期、そのID数が純減しました。想定を超える量です。
解約は2種類。契約が丸ごと無くなる完全解約と、「50人で使っていたけど来期は30人に」という部分的な縮小。多いのは後者で、しかも静かに起きます。気づいたときには、もう決まっている。
解約しそうな企業を、事前に検知できないか。
声は集まっていた
顧客と接している部署には、情報が山ほどありました。「他社ツールを検討しているらしい」「操作を覚える時間がないと言われた」。理由の候補は豊富です。
足りないのは、その先でした。
「じゃあ、どの数字がどう動いたら危ないのか」を決める工程が、どこにも無い。
「検討しているらしい」は誰かの頭の中にある情報で、何千社に一度には当てられません。一社ずつ電話で確かめるわけにもいかない。
声を、ログに残る数字に翻訳する。 そこが、今回の仕事でした。
結果から言うと、翻訳のやり方を3回変えています。候補の出どころが、毎回違います。
| 候補をどこから出したか | 結果 | |
|---|---|---|
| 1回目 | 会社の属性(業種・規模・金額・決算月) | 4つ試して、4つとも外し |
| 2回目 | 現場の勘(毎日顧客と話す人に聞く) | 2つ出して、1つ当たり |
| 3回目 | 統計検定(6つまとめて検定にかける) | 2つ採用、4つ棄却 |
以下、この順に書きます。
2節. 【1回目】顧客の属性で総当たりして、全部外しました
解約した企業と、していない企業を並べて、何が違うかを探す。そう考えました。
ところが、その「並べる」が最初の壁です。
- データが複数のシステムに分かれている
- つなぐキーがシステムごとにバラバラ
- 集計期間も、見る属性も、閾値も、全部こちらで決めていい
3つ目がきつい。「全部決めていい」は、正解が無いということ。何を仮説と呼ぶのかも、このときは分かっていませんでした。
人事にいた頃も採用候補者のデータは触っていました。ただ、量もデータの種類もまたがるシステムの数も桁が違う。腰を据えた分析は、これが初めてです。
それでも手元にあるもので切ってみます。
| 切り口 | なぜ試したか | 結果 |
|---|---|---|
| 業種 | 顧客マスタに最初から入っている項目だから | 業種で分けても、解約率が偏らない |
| 契約規模(ID数) | 同上 | 規模で分けても法則が出ない |
| 契約金額・単価 | 同上 | 金額の高低と解約に関係が見えない |
| 決算月 | 雑談で出た話から | 決算月でグループ分けしても、解約率に差が出ない |
上の3つは仮説というより総当たり。手元の項目を順に当てただけで、理屈はありません。
決算月だけ毛色が違います。きっかけは雑談でした。
「やっぱり決算月で解約するのかな」 「というか、カスタマーサクセスも営業も、相手の決算月を意識して動けてないよね」
立派な仮説ではない。「調べる価値はありそう」くらいです。
4つ試して、4つとも外れました。 スプレッドシートを11ファイル作って、グラフも並べた。でも何も出ない。3月に手をつけて、人前に出せたのは5月の連休前。当時のメモに残っているのは「分析はカオス」の一行だけです。
決算月には、もう少し踏み込んだメモがありました。
決算月を入れてみたけど、決算月クラスタでの解約傾向の違いはない。案件単位で判定されていそう。
「会社の属性」ではなく「案件の動き」で決まっているのではないか。確信ではありませんが、方向は出ていました。
※ここでいう「案件」は商談のことではなく、顧客が自分の仕事を区切る単位です。1つ仕事で1案件。
3節. 【2回目】人に聞いた。「どう振る舞いますか?」
とはいえ、「案件の動き」と言ってもまだ当てずっぽうです。どの動きを見ればいいのかが決まらない。
データだけ見ていても出ないので、カスタマーサクセスに聞きに行きました。
「解約しそうな会社って、どういう感じなんですか」 「他社のアプリも一緒に検討し始めてるときが多いですね」
なるほど。でも、これは測れません。「検討している」は誰かの頭の中にある話で、ログには残らない。
なので、もう一段聞きました。
「では他社アプリを使っている場合、ユーザーはどのような行動をとります?」
返ってきた答えが、具体的でした。
「複数の案件で併用し始めるはず。この案件は自社のサービス、あの案件は他社のアプリ。という使い方になる」
これなら測れます。2つに分解しました。
- ① ログインする人が減るはず
- ② 自社サービス内で作られる案件が減るはず
聞き方を変えたのが大きかった
私は、「予兆は何だと思いますか」とは聞いていません。
聞いていたら、たぶん答えは返ってきませんでした。実際この1ヶ月後、同じ趣旨のアンケートを全体に出して、ほぼ回答が集まりません。(上長からチーム全体に依頼してもらった上で、です)
「危ない予兆は何か」は仮説です。仮説を立てるのは分析する側の仕事で、現場に聞くことではない。
一方「他社アプリを使っている人がどう振る舞うか」は、毎日見ていること。だから確実に答えが返ってきます。
課題の答えを聞くのではなく、相手が確実に答えられるものを聞く。 課題を見つけて、全体の中での重みを考えて解くのは、こちらの仕事です。
4節. ①を3回検証して、3回とも外しました
対象は、他社ツールを併用していると社内で把握できていた4社です。
1回目:会社ごとのログイン回数
監査ログから「日単位のログイン有無」を集計。同じ日に何回ログインしても1カウント、月に20日なら20。これを四半期ごとに出し、全社の合計 ÷ ID数と、併用4社の値を比べました。
差なし。
2回目:ユーザー単位の分布
合計で分からないなら、分布はどうか。四半期内に何日ログインしたかを、1人ずつ数えました。
| 四半期内のログイン日数 | 全社 | 併用4社 |
|---|---|---|
| 1〜10日(あまり使わない層) | 45.15% | 39.35% |
| 11〜30日 | 28.05% | 26.43% |
| 31日以上(よく使う層) | 23.74% | 30.05% |
逆でした。 併用している側のほうが、「あまり使わない層」が5.8ポイント少なく、「よく使う層」が6.3ポイント多い。
3回目:また聞きに行く
数字で出ないので、また聞きました。
「毎日ログインするものでもないですよ。案件の進み方に合わせて、資料を登録したり記録を残したりするので」
※案件の箱には、資料Aと資料Bの2種類を入れます。資料Aは案件の土台になるもので、これが無いと始まりません。資料Bは作業の中で記録していくものです。
これで①は終わりです。3回やって3回とも外し。「他社ツールを使っている=自社サービスを使わなくなる」という私の先入観が、そもそも間違っていました。データに聞く前に、自分の思い込みに聞いていたわけですw
そして、ここには穴があります
併用4社のユーザー数は、全社のおよそ0.3%。この規模差で「45.15%と39.35%」を並べて、私は「目立った差は見られない」と書きました。
差が無いのか、サンプルが小さすぎて判断できないのか、区別していません。
この穴に気づけるのは、2ヶ月後です。
5節. ②が当たりました
そして②。会社ごとに、月ごとの案件の作成数を出しました。
前提を3つ置いています。業界全体の市場規模は一定 / 自社の顧客数はむしろ増加傾向 / 顧客のなかの案件数も全体では増えている。全体が増えている中で減っているなら、意味があります。
結果は、4社のうち3社で、昨年比の案件作成数が減少。月単位ではばらつきますが、年でまとめると明確に減少方向でした。
ログインは横ばいなのに、新しく作られる案件だけが減っている。
- 既存の案件:引き続き自社で運用(だからログインは減らない)
- 新しい案件:他社ツールで試している(だから作成数が減る)
「使わなくなる」のではなく「新しい仕事から順に、別のツールへ移っていく」。乗り換えではなく、使い分けです。
離反の初期兆候は、ログインより先に「案件作成の落ち込み」に表れる。
この形で実装しました。
(直近3ヶ月の月平均)÷(4〜15ヶ月前の月平均)< 0.7(=30%以上の減少)
15ヶ月分を使うのは、昨年の同じ時期を分母に含めるためです。案件には季節の波があるので、直近3ヶ月だけを見ても意味がありません。
6節. 【3回目】検定という道具を手に入れました
指標は1つ決まりました。でも「他にもあるんじゃないか」が残ります。それを確かめる方法を、私は持っていませんでした。
4節の穴がそれです。「差が無いのか、サンプルが足りないのか」を区別できない。2節の11ファイルも同じ。2ヶ月かけて、結論が出せない。
Python とクラウドの勉強は続けていました。
データを集めて、溜めて、取り出すところまでは、だいぶできる。でも、取り出したあとが分からない。
どう加工すれば比べられるのか。どう見れば「違いがある」と言っていいのか。集計はできる。でも分析ができない。 自分に何が足りないのかも言葉にできなくて、かなり苦しかったです。いちばん中途半端なところにいましたね。
調べていくうちに「統計検定」に行き当たりました。足りないのはこれだと思いました。
統計知識に加え、Pythonももっと使いこなしたい。
合わせて約100時間(もっとかも)。どちらも、この業務の途中で必要になって取ったものです。
そこで仮説検定を知りました。偶然のばらつきかどうかを、数学的に判定できる。
判定の基準を先に決める
母集団は、一定規模以上の契約をしている顧客。このうち、ある四半期に10%以上の解約が起きた企業は 10.49%。無作為に選んでも10.49%は当たる。これが基準です。
そこから二項分布で、どこから「偶然ではない」と言えるかを計算しました。当時のメモです。
抽出企業数にもよるが19%以上で、めちゃ優位(二項分布)
「抽出企業数にもよるが」が大事なところ。何社拾えるかで必要な水準は動くので、19%は固定の線ではなく目安です。
比べ方も2通り。直前の四半期と比べるか、昨年の同じ時期と比べるか。
6つの指標を検定して、残ったのは2つ
仮説は6つ。残ったのは2つだけでした。
| 残った指標 | 四半期と比べて | 昨年と比べて | |
|---|---|---|---|
| 資料Aの操作数が30%以上減 | 18.8% | 22% | ✅ 採用 |
| 資料Bの割合が85%以上 | 19.05% | 17% | ✅ 採用 |
「資料Bの割合」は 資料B ÷(資料A + 資料B) です。土台である資料Aをあまり使わず、資料Bに偏っていると高くなります。無作為なら10.49%のところ、どちらも19%前後。基準を超えました。
落ちた4つには、こんな理由が並んでいます。「解約と関係なく減少する企業がある」「ログインしていなくても解約しない企業がある」「減少と上昇が混在している」。
そして、残った2つも、効く比べ方が逆でした。資料Aは昨年と比べたほうが強い(22%)。資料Bの割合は直前の四半期と比べたほうが強い(19.05%)。
変化を見るべき指標と、いまの水準を見るべき指標が、別々にある。
落ちた4つのうち1つは、資料Bの「数」でした。割合なら採用、数なら棄却。同じものを見ているのに、結果が分かれています。
資料Bを何枚作るかは、会社ごとの癖です。たくさん作る会社もあれば、ほとんど作らない会社もある。数で比べると、その癖に埋もれる。割合にすると癖が消えて、変化だけが残る。
2ヶ月前の自分に、答えが出せます
4節で私は「差が無いのか、サンプルが小さすぎるのか区別していない」と書きました。いま同じ問いを投げれば、答えが出ます。
統計知識が無いときは、例えば「10%」「30%」という数字の差分を見て「差はないかも」としか言えない。知識があれば「この差は偶然では説明がつかない」と言えます。
同じデータです。変わったのは、分析している人の能力だけ。
7節. 「これ凄いね」と言われました。でも
これで、アラートは2系統になりました。
| 中身 | いつから | |
|---|---|---|
| 1系統目 | 5節の案件作成数が30%減 | すでに半年ほど運用中 |
| 2系統目 | 6節の検定に残った2つ | 次の四半期から追加 |
先に実績が出たのは、1系統目のほうです。以下はその数字です。
対象は、カスタマーサクセス。そこへ「この企業を見てください」を出す仕組みです。
| 対象企業の解約率(担当が付かない層) | 11.1% |
| アラートを出した企業の的中率 | 20% |
| 実際に解約した企業のうち、拾えた割合 | 70% |
7割は取りこぼさない。粗い数字ですが、兆しは見えたと思いました。
カスタマーサクセスの定例に出させてもらって、目的と背景、そしてダッシュボードを見せました。その会議の最中に、同席していた執行役員からこう言われます。
「これ凄いね。みんなこれ見て動けばいいじゃん」
それでも、現場には浸透しませんでした
半年後に運用記録を見返すと、アラートが出た企業に接点がとられていません。記録に並ぶのは「以前顧客担当者と会話済み」「別ルートで接点があるため今は動かない」「(アラートがあっても)解約リスクは感じられないため」。確認済みのチェックは、ごく一部。
サボっていたわけではありません。みんな、もっと確かなものを持っていました。
営業とカスタマーサクセスの間で、すでに共通認識になっている会社。顧客から直接言われたことを整理して、どう話を進めるのか、どう対策するかを考えながら決めています。
データで行動が決まる、という動き方ではありませんでした。
要望も出ます。
個社ごとに見たい。
アラートは「全体から危ない会社を抜き出す」道具です。担当者が知りたいのは「自分が見ている会社が、いまどうなっているか」。単位が逆でした。
1節に書いたとおり、声はもともと集まっていたんです。私はそれを「何千社に一度には当てられない」から数字に翻訳しました。でも担当者は、自分が見ている会社の声を、はじめから持っている。翻訳したものを渡しても、増える情報がありません。
3節では、聞き方を変えて指標を見つけました。なのに作ったものの使われ方では、同じズレをもう一度やっています。相手が何を知りたいかを、聞いていませんでした。
仕組みは動いていました。動いていなかったのは、その先です。
8節. 外した企業を、1社ずつ調べました
的中率20%ということは、残りの8割は外しています。仮に10社に接触しても、8社は外す。そりゃ現場も動きませんよね。
アラートが出たのに解約しなかった企業を、他部署に協力してもらって1社ずつ聞きました。フリーテキストで集めて分類すると、原因は2つ。
- 指標が価値の代わりにならない — 少ない案件でも、案件内でかなり使いこなしている
- 比較の基準が歪む — 定期的に案件が作られるわけではない。個社ごとにバラバラ
一番多かったのは、これです。
「これから使い始める企業」が、全体の3分の1。
案件が少ないのではなく、これから使いこなしていく顧客でした。向きが逆です。
単独の指標では的中率は上がらない。複数を同時に見るしかない。
9節. 統計で答えが出ても、すぐに結果にはなりません
ここまでが、統計検定3級とPython3データ分析試験で学んだことを、実際の業務に当てた最初の仕事でした。
やってみて、はっきりしたことがあります。
統計的に証明できることと、現場でどう使うかの間には、確実に穴がある。
二項分布で「偶然では説明がつかない」と言えても、それだけでは誰も動きません。7節のとおり執行役員が「これ凄いね」と言っても足りない。
統計で答えが出たからといって、いきなり結果が付いてくるわけではありませんでした。
結局、カスタマーサクセスとの解約予測は、いったん終わりになりました。「営業と共通認識が取れているやり方のほうがいい」と言われています。そのとおりだと思います。
組み直した先は、顧客接点を持たない部署でした。顧客の声が入ってこない。でも見る会社は多い。
7節の裏返しです。声を持っている人には、データが要らなかった。声を持てない人には、データしかない。
理論と、現場がどう動くかの感覚。両輪が回らないと、何も変わらない。それが、この1年で一番こたえた学びです。
それでも、変わったことはあります
「なんかこれが原因かもね」で止まっていた話が、
「確かにね。やっぱりね。てことは、こうやって動いてみようかな」
に変わりました。
誰もデータで説明できなかったことに、初めて根拠がついた。そこまでは、確かに動きました。
残っているのは、的中率です。10社に接触して8社が見当違いなら、どう説明しても現場は動けません。
そこを、次はモデルで越えられないか。
ここから、ロジスティック回帰に進みます。統計検定2級を取ったのは、この直後でした。
続きは後編で。








