2017年1月31日火曜日

分析ロジックと業務での利用

今回は、データ分析案件、とくに実際の業務で利用する分析ロジックの構築にあたっては、使い方をふまえておかないと問題となる場合があるというお話です。

インターネット広告の効果予測ロジックの構築

以前、あるお客様に対して、データの分析・研究によって
インターネット広告の効果予測ロジックを構築したことがあります。お客様からは、構築した効果予測ロジックの精度にご満足いただき、この効果予測を業務で活用したいとの要請から、効果予測ロジックを組み込んだシステムを開発しました。

システムの概要としては、「広告出稿プランを作成すると、さまざまな効果(インプレッション、滞在時間、クリック数等)の予測結果が算出される」、というものです。

ところが、実際にシステムをお客様にお使いいただき始めると、業務上問題となる点が出てきました。

このシステムを使うと、広告出稿プランの作成の際に複数の出稿メニューを組み合わせて広告出稿プランとして構成することができました。また、年齢や性別、職種など特定のインターネットユーザーに着目する、いわゆる「ターゲティング」をすることもできました。どちらも、システム開発の際にお客様から機能要件として受け、機能として実装したものでした。

あるとき、お客様からこんな連絡が入りました。
「これらの機能を使うと、つじつまが合わない」

状況を確認したところ、本来効果が一致するはずのふたつの広告出稿プランの間で、“予測結果が一致していない”、という事態が起こっていたのでした。

たとえば、とある出稿メニューについて次の3つのケースを考えたとします。
  • (A)ターゲティングを行わずに予測した場合
  • (B)男性をターゲットとして予測した場合
  • (C)女性をターゲットとして予測した場合
これらは、着目する対象が限定されているかいないかの差だけで、効果を生み出す条件としては同一です。

このため、効果のひとつである「獲得人数」は、(A)のみからなる広告出稿プランと、(B)と(C)とからなる広告出稿プランとでは、一致するのが当然と考えられます。しかし、効果予測システムではこの両者に“ずれ”が生じ、一致しなかったのです。

何が“ずれ”を生じさせたか

実は、この“ずれ”は採用したロジックによって生じていたものでした。そして、ロジックの精度を追求した結果として生じたとも言えるものでした。

この点について、簡単な例で説明します。非常に単純ですが、獲得人数の予測値として「直近の一定期間の実績の中央値をとる」、というロジックを考えます。

まず、以下のようなデータをもとに、期間「6」における予測値を算出します。「直近の一定期間」は、前5期としましょう。

期間人数
110
211
38
4121
512
6

この場合、「(A)ターゲットを行わずに予測した場合」の第6期の予測値は、第1期~第5期の値の中央値である「11」となります。

この人数を男女別にしたとき、次のような状況だったとしましょう。

期間人数男性女性
11028
21174
3817
41215962
51266
6
このとき、「(B)男性をターゲットとして予測した場合」を同じロジックで第6期の予測値を出すと、男性の人数の第1期~第5期の値の中央値である「6」となります。同様に、「(C)女性をターゲットとして予測した場合」の第6期の予測値は、女性の人数の第1期~第5期の値の中央値である「7」です。

(A)のみからなる広告出稿プランの獲得人数の予測値は、11。一方、(B)と(C)とからなる広告出稿プランの獲得人数の予測値は、6+7=13。

たしかに両者の値は、一致しません。
これは、それぞれの値のもととなる期が一致していないためで、「中央値を予測値とする」というロジックそのものに起因します。(期が一致していないとは、(A)(B)(C)それぞれで第何期の値が中央値となったかが異なると言う事です。)

もしロジックが「中央値」ではなく「平均値」を使うとしたら、このような“ずれ”は生じることはなく、両者は一致します。では、この「中央値を予測値とする」というロジックは精度が悪いのか?必ずしもそうとは言えません。

実際、突発的なイベントなどによるイレギュラーな実績は除外して考えたいという場合、平均値ではなく中央値を用いたほうが、予測値としては良い精度となります。
(平均値はイレギュラーな値の影響をより多く受けるためです)

ロジックの精度とビジネス活用についての教訓

上記は単純な例ですが、一般的に、ロジックとしての精度と、予測値が足し算や引き算で整合するかどうかというのは、全く別の話です。むしろ、複雑なロジックにより精度を高めようとするほど、予測値の足し算や引き算を整合させることは難しくなると言っても良いでしょう。
このお客様にご提供したロジックも、上記の例同様、予測値が足し算や引き算で整合しない類のものでした。

お客様からは、「このように数値に“ずれ”があるということは直観としておかしいと感じるし、理論として正しいとしてもそれを自分たちが理解して他者に説明することができない。精度自体が低いと疑われる」と言われました。

全くその通りです。
実際の業務で利用する分析ロジックは、単に精度を追求すれば良いものではありません。いくら精度が高かったとしても、ビジネスで活かされなければ意味がないのです。

本件では、お客様がどのようにご利用になるかを考慮せずにロジックを構築し、十分な説明をすることなくそれを採用いただいてしまったことが問題でした。
その後、ロジックの改修により予測値の足し算や引き算の整合を“ある程度まで”は実現させることはできましたが、大きな教訓となった事例でした。

投稿者:データサイエンス部 データサイエンティスト (株式会社アイズファクトリー