第34話|異常な指標(KPIなど)の原因を探る「要因分析」 2つのアプローチ

第34話|異常な指標(KPIなど)の原因を探る「要因分析」 2つのアプローチ

指標(KPIなど)をモニタリングしていると、これはおかしいという場面に出くわします。

指標(KPIなど)がおかしいかどうかを判断するために、「異常検知」という定量分析をしたりします。

今回は、異常検知などで、今日見た指標(KPIなど)が何かおかしいけど、何が原因なんだろう? ということを探る「要因分析」がテーマです。

おかしな指標(KPIなど)を異常値と呼んで話しを進めていきます。

要因分析の2つのアプローチ

要因分析には、いくつかやり方があります。ここでは主に、2つのアプローチについて説明します。

(1)指標ツリーで探る
(2)統計モデルで探る

(1)の「指標ツリーで探る」とは、指標(KPIなど)の異常値の要因を、指標ツリーをもとに探るアプローチするやり方です。非常にイメージしやすい方法です。

指標ツリーとは、例えば、「営業利益」を「限界利益」と「固定費」に分解し、「限界利益」を「売上高」と「変動費」に分解し、「売上高」を「客数」と「客単価」に分解し「売上高」は「営業日数」と「日販」に分解し、…… という感じで指標(KPIなど)を分解したものを、ツリー上で表現したものです。

もちろん、業種業態や企業によって指標ツリーは異なります。そして、多くの指標ツリーは、四則演算(+-×÷)で表現されます。

(2)の「統計モデルで探る」は、(1)の「指標ツリーで探る」の後に実施します。(1)の「指標ツリーで探る」で限界がきたときに登場します。

(1)指標ツリーで探る

多くのイメージしやすい、小売店の例で説明してみます。

例えば、「日販」をモニタリングしていたら、異常に値が低いことがわかりました。

指標ツリーを眺めると、「日販」は「客数」と「客単価」に分解されています。「日販=客数×客単価」だからです。
そこで、「恐らく『客数』か『客単価』のどちらかの指標の数字が悪化したため『日販』が異常に低くなったのであろう」と考えます。

調べてみたら、「客単価」はいつも通りだが、「客数」が異常に落ちていいました。「日販」が悪化した要因は「客数」にありそうなことが分かります。

このように、指標ツリーに沿って要因を探っていく。非常にシンプルで分かりやすいアプローチが、(1)の「指標ツリーで探る」になります。

このとき、層別することを忘れてはいけません。層別とは、指標をエリア別・部署別・店舗別・商材別などに分解することです。

この例で考えると、「日販」の状況をエリア別に探ったり、「日販」の悪化の要因とされた「客数」の状況をエリア別に探ったりすることです。

(2)統計モデルで探る

次に、(2)の「統計モデルで探るです」です。指標の異常値の要因を、統計学の力を借りて探るアプローチです。

(1)の「指標ツリーで探る」で、これ以上探れなくなったときに実施することが多いです。多くの場合、四則演算(+-×÷)の関係性が使えなくなったときです。

例えば、先ほどの小売店の「日販」で説明します。

指標ツリーをもとに「日販」の悪化の要因が、「客数」にあることが分かっています。

では、その「客数」の悪化の要因はどこにあるのであろうか。もしかしたら、実施した「施策」がよくなかったのかもしれない、「天候」の影響かもしれない、「競合」の動きによるものかもしれない。「施策」といっても、テレビCMかもしれないし交通広告かもしれない。

「客数」と「施策」、「天候」、「競合」の関係は、「日販=客数×客単価」のように関係性が明確ではありません。そのため、「客数」と「施策」、「天候」、「競合」の不明確な関係性を明確するために、統計モデルを構築します。

具体的には、「内部要因」(例:実施した施策、組織変更)や「外部要因」(例:競合の動き、天候)などを説明変数とした「統計モデル」(例:重回帰モデル、ポアソン回帰モデル、ロジスティック回帰モデル)を構築します。多くの場合、重回帰モデルという昔からある統計モデルで十分です。

この構築した回帰型の統計モデルを使い要因を探っていくのです。

この例では、「客数」を増やすための施策である「チラシ」や、「客数」に影響を及ぼす外部要因である「降水量」などを説明変数とした、「統計モデル」を構築します。「客数」が目的変数となります。

このような統計モデルを構築することで、目的変数である「客数」の悪化の要因を、説明変数である「チラシ」や「降水量」などから探ることができるのです。

統計モデルを使った要因の探り方

統計モデルを使った、要因の探り方はシンプルです。

先ず、構築した統計モデルで「異常値の要因を説明できるのかどうか」を考えます。過去データで構築し統計モデルの予測値と実現値との差を見ればよいだけです。

もし、予測値と実現値との差が小さく、構築した統計モデルで「説明できた場合」、どの説明変数の影響で指標が悪化したのかを特定し、何が起こっていたのかを定性的に解釈します。

一方、予測値と実現値との差が大きく、構築した統計モデルで「説明できなかった場合」、説明変数以外の要因で指標が悪化したと考えます。

統計モデルに組み込めないような「定性的な事実」から探ります。このような「定性的な事実」の多くは、日常的にあまり起こり得ない突発的な要因(例:東日本大震災、リーマンショック、競合品の突然のヒット)であることが多いです。もしくは、過去データが足りず回帰型の統計モデルに組み込めなかった要因の可能性もあります。

一見すると難しそう…… だけどそうでもない

統計モデルや回帰モデルなどの用語がでてくると、一見難しそうに思いてきます。

しかし、Excelだけで簡単にできます。それぐらい、身近になっていますし、すぐにやろうと思えばやれます。

例えば、Excelの「分析ツール」を使えば、重回帰モデルはデータさえあれば、詳しい統計理論を知らなくても、すぐに重回帰モデルという統計モデルを構築できます。

普段見ている指標(KPIなど)の動きが、「何かおかしいな」と思ったら、手元にあるデータでサクッとExcelで要因分析するのもよいかもしれません。

ビジネスデータサイエンス支援カンパニー
株式会社セールスアナリティクス