「ビジネス活用事例で学ぶ データサイエンス入門」輪読会 #4資料

23
ビジネス活用事例で学ぶ データサイエンス入門 輪読会 第4回 Hamasaki Satoshi 2016.02.25

Transcript of 「ビジネス活用事例で学ぶ データサイエンス入門」輪読会 #4資料

ビジネス活用事例で学ぶ

データサイエンス入門

輪読会 第4回

Hamasaki Satoshi

2016.02.25

2

背景

パズコレは、これまでweb上の広告を出してき

たが、さらなるユーザー数拡大に向けて、マス

メディア広告(テレビ、雑誌)を出すことにした。

過去に他のゲームで実施したデータを使って、

もっとも効果の高い打ち方を実施したい。

3

背景

パズコレは、これまでweb上の広告を出してき

たが、さらなるユーザー数拡大に向けて、マス

メディア広告(テレビ、雑誌)を出すことにした。

過去に他のゲームで実施したデータを使って、

もっとも効果の高い打ち方を実施したい。

4

現状とあるべき姿

現状

マスメディアの広告効果が安定していない

広告効果CPI(ユーザー1人を獲得するためのコス

ト)がばらついている

理想

より少ない出費でより多くのユーザーを獲得する広

告がうてるようになること

5

問題発見

CPI推移では、2282円から2774円とバラツキが有る

この500円の差を極力少なくし、さらに常に2282円

の獲得状況を担保していきたい。

6

問題発見

そのために行う事

TVCMと雑誌広告との比率を適切に配分する事

仮説 ユーザー獲得数のばらつきは毎月のTV、雑誌

への広告配分のばらつきによる

今後のアクション

1. 過去のデータをもとにTV、雑誌、それぞれへの広

告費と獲得ユーザー数の関係を把握

2. 関係性をもとに、TV、雑誌への広告配分を決定

7

回帰分析とは

散布図に直線を引き、そこから目的変数の値

を予測する事

目的変数

8

回帰分析とは

y座標の差の2乗和を最小とする直線を引く事

→あてはまりの良い直線を引きその係数を見る

(xi,yi)

(xi,axi+b)

y=ax+b

yi-axi+b

9

回帰分析とは

{y1-(ax1+b)}2+{y2-(ax2+b)}2…{yn-(axn+b)}

この式が最小の値となるa,bを求める

(xi,axi+b)

y=ax+b

yi-axi+b

10

回帰分析とは

Rなら一発

fit <- lm(install ~ ., data = ad.data[, c("install", "tvcm",

"magazine")])

fit

11

データの収集

web、TV、雑誌の三つの媒体で広告を実施。

今回はそのデータを使用する。

(内webはCPIが既に明確なため除外)

このデータはexcelで管理されており、必要な項

目だけRで読み込む

12

CSVファイルを読み込む

ad.data <- read.csv("./ad_result.csv", header =

T, stringsAsFactors = F)

□ A <- B:BをAに代入

□ "./ad_result.csv"

取得するファイルのパス

□ header = T

「1行目は列名が書かれている」か否かを指定する.列名が書かれている場合で,F を指

定すると不具合が生じる.今回の場合はT(true)

□ stringsAsFactors = F

read.csvとかread.tableはオプションなしで使うとデータ型を勝手に判別してくれますが、

それだと都合が悪い場合があります。

http://d.hatena.ne.jp/m-hiyama/20151215/1450140312

13

CSVファイルを読み込む

ad.data <- read.csv("./ad_result.csv", header =

T, stringsAsFactors = F)

14

広告費用とInstallの散布図を作成

library(ggplot2)

library(scales)

□library()

ライブラリをロードする(Rを起動するごとに)

□ggplot2ライブラリ

ggplot2はRのグラフ描画パッケージの一つで,シンプルで美しいグラフが描ける。

□scalesライブラリ

文字列の表示形式や連続・離散スケールの管理が簡単になる

15

広告費用とInstallの散布図を作成

ggplot(ad.data, aes(x = tvcm, y = install)) +

geom_point() + xlab("TVの広告費") + ylab("新規インス

ト ー ル ") + scale_x_continuous(label = comma)

+scale_y_continuous(label = comma)

□ad.data:使用データのパス

□aes():縦軸、横軸に用いるデータを指定

□xlab,ylab:縦軸、横軸のタイトル名

□scale_x_continuous(label = comma),scale_y_continuous(label = comma)

http://docs.ggplot2.org/current/scale_continuous.html

16

広告費用とInstallの散布図を作成

ggplot(ad.data, aes(x = magazine, y = install)) +

geom_point() + xlab("雑誌の広告費") + ylab("新規イン

ストール ") + scale_x_continuous(label = comma) +

scale_y_continuous(label = comma)

先ほどと同じ

17

広告費用と獲得ユーザー数には

関係がありそう

どちらも広告費が上がれば獲得ユーザー数が増

加する右上がりの傾向がある。

18

重回帰分析の実行

fit <- lm(install ~ ., data = ad.data[, c("install", "tvcm",

"magazine")])

fit

19

雑誌広告は効率よく

ユーザーを獲得している

・新規インストールは広告なしでも188人いる

・TV広告では1円につき1名獲得

・雑誌広告では1円につき7人獲得

切片 テレビ広告費 雑誌広告費

188.17 1.36 7.25

20

重回帰分析の詳細な検討

summary(fit)

21

残差分析

第1四分位数の絶対値が第3四分位数の絶対

値より大きい

∴仮定したモデルが適切でない可能性がある

最小値 第1四分位数 中央値 第3四分位数 最大値

-1406.9 -984.5 -12.1 432.8 1985.8

22

決定係数

決定係数は0~1の値を取り、全データが回帰直

線に近い程1に近い値となる。

今回は決定係数は0.92と高い

∴問題はない

決定係数 自由度調整済み決定係数

0.938 0.92

23

アクション

TV広告より雑誌広告のほうが広告効果が高い

そのため、雑誌だけを行いたい。

しかし、広告会社との関係性のためTVを0円に

はできない。

さらに過去のデータ範囲を大きく超えた値に対

しては回帰分析は有効でない

∴TV:4200万円、雑誌:7500万円

これで、6万人の新規ユーザー獲得が見込める