やってみよう分析！ 第1章：分析技術の活用～ビジネス視点から～

#まえがき
本シリーズでは分析技術・手法を紹介していきます。専門的内容から入ると技術面やアカデミックな内容に偏りがちですので、本章ではビジネス的側面(例としてネット広告運用)から分析技術活用の全体像を簡単に俯瞰しておきたいと思います。続く第2章では技術的側面から分析技術を概観します。

##ネット広告運用における分析技術の活用
ネット広告運用を例に、次のキーワドを軸に分析技術の活用を考えてみます。

	A.可視化、B.制御

さらに具体例として下記fig.1の簡略化したネット広告運用プロセスを例として分析技術の活用を説明したいと思います。ネット広告運用に詳しくない方にも運用イメージを持っていただくため、fig.1のフローを簡単に解説します。

![chapter1_fig1.gif](https://qiita-image-store.s3.amazonaws.com/0/40982/0012a68c-2f3d-e6ae-bdd1-8b619cd050e7.gif)

###運用イメージ(fig.1)：

* Start：ウェブ上での広告配信の目標を設定します。例えば1ヶ月間、予算100万円配信ネット広告経由で100件の商品購入を実現など。
* (1)：ターゲット層や推定ユーザ数から予算消化力やコンバージョン(資料請求や商品購入などのこと)発生率を見積もる。データの事前調査から配信先候補を考える(決める)。
* (2)：(1)をもとに利用する配信先(例えばGoogle AdWords)で配信設定を行う。具体的にはキャンペンや広告グループ呼ばれる構造をシステム上に生成し、そこに配信クリエイティブ・キーワードを設定する。さらに日予算額やCPC(Cost Per Click ：単位クリックあたりの費用)も設定する。
* (3)：配信を開始する。
* (4)：配信データがデータベースなどに蓄積される。簡単な集計結果は配信システムの管理画面やレポートダウンロードなどで確認ができる。
* (5)	：キャンペンや広告グループ単位で消化費用やコンバージョンの時系列データを取得・評価する。必要に応じて評価結果に基づき日予算やCPCを再調整して(3)から(5)までのプロセスを繰り返す。
* End	：目標が達成、配信期間終了、全予算消化で配信終了。
  

	 ※より具体的にネット広告を知りたい方は下記の書籍をご参照ください。
	 ・[アトリビューション 広告効果の考え方を根底から覆す新手法](http://www.amazon.co.jp/アトリビューション-広告効果の考え方を根底から覆す新手法-田中-弦/dp/4844331841/)
	　田中 弦, 佐藤 康夫, 杉原 剛, 有園 雄一, インプレスジャパン
	  
	 ・[DSP/RTBオーディエンスターゲティング入門 ビッグデータ時代に実現する「枠」から「人」への広告革命](http://www.amazon.co.jp/DSP-RTBオーディエンスターゲティング入門-ビッグデータ時代に実現する「枠」から「人」への広告革命-Next-Publishing/dp/4864780013/)
	　横山 隆治, 菅原 健一, 楳田 良輝, インプレスR&D
	  
	 ・[ザ・アドテクノロジー データマーケティングの基礎からアトリビューションの概念まで](http://www.amazon.co.jp/ザ・アドテクノロジー-データマーケティングの基礎からアトリビューションの概念まで-菅原-健一/dp/4798136557/)
	　菅原 健一, 有園 雄一, 岡田 吉弘, 杉原 剛, 翔泳社
	  		
	 ・[アドテクノロジー プロフェッショナル養成読本 ~デジタルマーケティング時代の広告効果を最適化!](http://www.amazon.co.jp/アドテクノロジー-プロフェッショナル養成読本-~デジタルマーケティング時代の広告効果を最適化-Software-Design/dp/4774164291/)
	　簗島 亮次, 佐藤 裕介, 松田 佑樹, 時吉 啓司, 石黒 武士, 小川 卓, 技術評論社

##A：可視化
データ分析の第一歩は蓄積された生データを集計し、表やグラフでデータを可視化する(眺めてみる)ことだと言っても過言ではありません。蓄積されたデータには原則的に現時点までの事実が反映されています(ノイズもあるかと思いますが)。データ可視化の活用は事実に基づく意思決定を支援し、次のビジネスサイクルの一手の成功確度を高めます。

##運用フローでの可視化
例えばfig.1のプロセスを考えてみます。過去配信実績があれば、可視化技術は(1)のプロセスで過去のデータを事実を明らかにし、プロセス(2)で配信設計・設定するのに役立ちます。例えば

* DMP(Date Management Platform)を活用していれば、事前に蓄積データからターゲットにしたいユーザ層を絞りリターゲティング配信設定を実施できます。
* 新規配信開始の場合は過去実績が取得できません。しかし配信開始後の時系列データを(3)～(5)のプロセス内で可視化する事が可能です。これを素早く繰り返すことで(5)の評価を(3)で実行される配信調整に活かし、日々のパフォーマンス改善につなげることができます。

##可視化技術
最近はExcel( ソルバー、分析ツール、powerpivot )やGoogle Analytics、配信システム管理画面、ダッシュボード(Tableauなど)で比較的容易にデータを可視化することが可能になってきました。

###可視化のための表現技術
人間がデータに意味付けを与えなければならない場合(顧客へレポート提出するケースなど)、大量のデータをそのままプロットしてもレポート解釈が困難になります。このためデータの見せ方も工夫する必要が出てきます。Excelで出力可能なグラフ以外の表現が欲しい場合、D3.js, Graphvis, R等のツールを活用することで、より幅広い表現を得ることが可能になります。これらのツールを使うにはExcelより入力データの加工テクニックを要する場合もあります。

###可視化のための集計技術
データ規模や集計したい内容によっては分析技術として何らかのデータベース, 分散処理(Hadoopがよく知られています)を活用する局面も出てきます。単純集計によるデータの把握が困難な場合には、プログラミング言語によるデータ(ユーザ行動ログなど)処理が必要になることもしばしば発生します。ログベースの集計はユーザ行動の詳細を可視化する一方で、複雑な条件下で高速に大規模集計を実行することが技術的に難しい場合もあります。


##B：制御
ネット広告配信中はfig.1：(3)～(5)で日々、配信結果の評価と設定パラメータ(日予算やCPC等)の最適化が重要になります。これを実行するための上記Aの可視化が重要でした。(3)～(5)でデータを可視化・評価したり配信パラメータを調整すことを手動で実行することは可能ですが、運用現場ではしばしば次のような課題に直面します。

* 案件管理・運用する案件数を多くこなせない。
* 人的コストが膨れる。
* レポート作成や配信設定のミスが多い。
* 一定の品質で運用することが難しい。

この課題に対して考えられる解決策の例は
  
* p1：(4)でデータの取得 / 加工 / レポート作成を自動化 またはダッシュボードに表示。
* p2：(5)では(4)で取得・加工されたデータから配信設定パラメータを自動算出させる。
* p3：(3)で(5)から得られたパラメータを配信システムに対して自動設定。

p1とp3のプロセスはAの可視化で紹介した技術(データベースや分散処理技術など)を活用して自動化システムを構築することが可能です。機械学習等を使う特殊なロジックを使わなくともシステム開発することが可能です。一方p2のプロセスでは、入力されたデータをどうやって評価するか、ケースによっては数理的な何らかのロジックが必要になります。p2の評価ロジックにはルールベース、アルゴリズムベース、それらのハイブリッドなどが状況に応じて選択されます。

##ルールベースとアルゴリズムベースの特徴

###ルールベースの主な特徴
KPI基準(目標CPAなど)を予め定め、それを満たすか否かを事前に設計された複数のルールを条件分岐で評価し、運用に使う予算変更やその他設定パラメータ変更がロジック内部で実行されます。必ずしも数学や複雑な分析手法を使う必要はありませんた。例えば、目標CPA：1,000円、一日で消化すべき予算：30,000円の場合を考えてみましょう。配信データ(キャンペン単位)が (目標CPA, 日予算) = (達成, 未達)のとき(条件分岐評価)、広告グループのCPC(入札単価)を引き上げる意思決定がなされ、予算消化を促します。CPCの変化幅は予め運用者が簡単な数式を定義して活用される場合があります(エクセル上でレポート評価している場合は、運用者の経験に基づく場合もあります)。

**メリット**

* 運用者及び顧客に対して直感的に理解しやすいルールで運用が評価されます。
* 人間が理解できる範囲でルールが設定されるので、配信途中・配信終了後にレポートを見た時、結果に対して納得感を得やすいです。


**デメリット**

* システムの安定性や精度を上げようとすると設定ルールが複雑化し、メリットがデメリットに転化しやすいです。
* 評価対象のパラーメが大量にある場合(例えば100個以上CPCを何度も同時調整するなど)、それらパラーメタ間の関連性を取り入れつつルール設計するのが非常に困難になってきます。
* ルールベースでは変数の推移が目標値に対して良い / 悪いの2値分岐は比較的容易でも、"いくら・どのくらい"のような数量を変数に対して具体的かつ自動的に決めることが難しい場合があります。


###アルゴリズムベースの主な特徴
KPI基準(目標CPAなど)を予め定め、それを満たすか否かを事前に設計された(数理的な)アルゴリズムで評価し、運用に使う予算の変更やその他設定パラメータ変更への意思決定がロジック内部で実行されます。例えばルールベースと同様に、目標CPA：1,000円、一日で消化すべき予算：30,000円の場合を考えてみましょう。配信データ(キャンペン単位)が (目標CPA, 日予算) = (達成, 未達)のとき(条件分岐評価)、広告グループのCPC(入札単価)を引き上げる意思決定がなされ、予算消化を促します。この時、内部ロジックが配信対象の全キャンペン、全広告グループに対して"どのくらい"目標CPAを達成してどのくらい予算が余っているのか相互関係を加味してランク付けし、"いくら"CPCを上げるか決定します。不確実性のある変数を扱うため確率・統計的な手法が活用されることもあります。

**メリット**

* アルゴリズムベースのロジックでは複数の評価ルールが数式で統一的に定式化され、少ない数式で大量の変数を同時評価することが可能です。また変数間の相互関係も取り入れてデータを評価できます。
* 設計されたアルゴリズムに基づいて定量的に変数を調整することができます。アルゴリズムが適切に機能した場合、ルールベースよりも広い変数領域を探査し、目標達成の可能性をより高めます。

**デメリット**

* アルゴリズムベースロジックはロジックが抽象的な数式で記述され、評価プロセスがブラックボックス化しがちです。
* メリットである変数探査が複雑な結果パターンを生み出し、顧客へのレポート提出が必要な場合、逆に人間の結果解釈を困難にするおそれがあります。
* アルゴリズムのパフォーマンスの低下が発生し、さらに評価・制御対象の変数が非常に多い時、その原因を明らかにすることがルールベースの場合より難しくなることもあります。
* テストにも数式のチェックが発生し、通常のシステムの場合とは異なってくる手間もあります。
* これらの点から結局PDCAを回しきれず、運用に使われなくなってしまう可能性も高いです。


##まとめ
本章ではビジネス、特にネット広告運用例で分析技術(可視化・制御)の活用をみてきました。可視化技術は事実をデータから読み取ることを支援し、レポーティングなどに活用されます。膨大なデータは詳細なユーザ行動を可視化する一方で、大規模データの集計技術やデータの見せ方に気を配ることも必要になります。制御技術ではルールベースロジックやアルゴリズムベース(機械学習等)が活用され、プロセスの自動化を支援します。ルールベース / アルゴリズムベースのメリット・デメリットは互いに相補的で、実務で活用する際はそれぞれの特徴を認識し、業務とのマッチングを考慮して利用することが必要になります。

続く第2章では機械学習等の分析手法を簡単に概観したいと思います。第3章以降から個々の技術について解説していきます。

まだコーディング始めてなくてすみません（笑）
しばらくはコーディングなしの章が続きますが、お役立ち知識を余すことなくお伝えしますのでご期待ください!!