簡單統計方法檢驗行銷成效

SamSam
9 min readMar 10, 2019

--

嗨各位堅持到現在的小夥伴們,很不簡單,你們堅持看我的文章,小弟真的很感動。終於到了回饋大放送時間了。

前幾篇常常會看到這張照片,似乎充滿著銅臭。然而,小弟選擇publish在Linkedin當作主要傳播媒介,就是認為追求適當的利益,是對整體市場與人才競爭,都是有幫助的。否則我們在Linkedin或是出來上班求職,莫非真的是來純交朋友嘛?任何場合都能交朋友,主要的目標則不要失焦。小弟的文章,出發就是要站在business的出發點,談數據分析。主要目標是讓數據分析走出黑盒子,讓人才的價值、商業的價值真的被看見。這幾年職涯中,實在遭遇太多「誤會」了。

啤酒尿布

公司誤會人才沒有商業價值,人才誤會公司根本不懂分析能帶來的價值,兩邊誤會的結果,是不斷的錯過蓬勃有競爭力的市場脈動。首先,我們定調數據分析確實對商業是非常有幫助的,太多例子不證自明。再來,不厭其煩的,小弟必須帶出此篇的主題,以及所有公司真正在意的:

數據分析的價值,究竟要如何量化,如何檢驗?

維持一貫風格,這時候才進入正題啊XD

Z test是用來檢驗大樣本(樣本數大於30)平均值差異檢驗的方法。他是用常態分佈的理論來推斷發生概率,比較兩個平均數的差異是否顯著。

容許小弟捨棄學院派的理論介紹方式,直接抓出實例戲肉給大家。我們常常在一檔行銷擬定的時候,茫無頭緒,不知道基準在那,於是預算多少就丟多少;或是「外包」給某行銷投放公司,講好聽的是相信專業,講難聽的是反正外包出去了,責任不在我身上了….管他的。時間久了,開始有很多公司們覺得這樣不太好,找一批所謂的資料人,開始來釐清這樣的事情。

我們用行銷當作主幹說明,正常的data flow應該是:
1. 收資料

不要小看這件事情,storage、integration、verification都是關卡

2. 處理資料

資料收進來之後,是不要做名稱整理、資料格式轉換等等

3. 建立資料流framework

很多人會忽略或根本沒有sense建立這步。Data 的處理都是需要時間的,如果framework建的好,後續的步驟才會有效率。因為資料這幾年蓬勃發展,很多套裝軟體已經包好了。

4. 分析資料
現在才開始分析資料。了解資料型態,熟悉各種商業行銷問題,找到資料的連結關係。

5. 應用資料分析結果

行銷是門很有趣的專業,內容從美術設計可以跨到業務在橫跨資料分析。所以我們僅略做例子說明,無法深入各塊。

每個行銷的案例要是用的好,創造公司的價值那不只是幾十幾百萬而已的價值。或許行文至此,很多人會討厭小弟開口閉口就說「用錢收買我」這麼露骨的直白。哪個投資不需要成本呢?免費找你來貢獻價值給公司你願意嘛?既然不願意,那就是了。不論勞方資方,天下沒有白吃的午餐。只有小弟的文免費給大家鞭給大家看QQ

何況,小弟不避諱,發文的目的也是為了印證切磋,把資料分析的「商業層面」逐漸剖析出來,教育市場,也提昇自我價值。總是都有目的。

接下來,正文開始了。首先,你的資料究竟要用哪個方式分析,先給一個參考。演算法選擇,其實是有一些criteria的。一樣,在資訊如此發達的時代,早就有很權威的網站提供明確的方向,Ph.D 不再絕對必要XD

“Cheating” Sheet

再來,您\貴公司真的需要ML model嘛?以下就是用z- test來簡單提供一個分析參考。一樣,小弟嘗試用excel來炫技…阿不是,抱歉,是表達不一定需要什麼R, Python, SPSS, SAS 或是什麼高大上的套裝軟體,才能夠分析公司的資料。一般excel搭配夠效能的database,90%的問題就可以解決了。請找出您/貴公司真正的商業瓶頸,再來熟悉您/貴公司的資料樣態,反思自己對解決商業瓶頸的方法是否實用,最後說不定能省下一筆可觀的軟體購置費用,卻高效的解決公司的問題,績效、成就感爆表。

起手勢,一手指天,一手指地,微微離地飛昇,說天上地下,唯我… 不是,起手勢,是要檢查自己的資料是不是能套用例子的z-test的常態分佈,不是常態分佈卻硬套。

絕大多數的朋友,不先去摸索資料,直接做資料分析,模組直接套進去,也一定會出現一個結果,開始頭頭是道的解釋、產生策略、應用。結果發現奇怪為什麼跟當初說好的都不一樣…QQ

當然,為了完美的呈現,小弟的資料就算不是,也會調成常態分佈的(誤)。資料的真實面才是最重要的。舉例資料看的是玩家在平台上玩遊戲的次數,所以先看看玩家在平台上的行為次數是否符合常態分配?

真實的資料樣態,除了誠實面對自己以外,方能精準的判斷到底問題出在那。很多我們以為的「小小調整」,不清楚會在哪裡嚴重影響模型的判斷,特別是幾十種演算法,我們多數也只能看完套件介紹後,直接套入。若還經過自己私心的特別處理,可能會有意想不到的效果(或悲劇)。

我們會因為資料的特徵,先做一些domain已知的處理。例如「免費促銷」活動,我們一樣會收到很多「免費活動」的transaction資料,此時切記不能將免費的紀錄拿進來當作「後續成效」的成果,不然再怎麼精準的演算法,再快的處理效能,做出來都是錯的。

Normal Distribution

完美,很逼近常態分配呢嘿嘿。好的,那可以安心上路了。接下來,小弟要繼續接地氣,直接使用家家戶戶都有的DB & SQL直接操作z-test,檢驗我們行銷的成效。繼續不厭其煩的強調,不需要什麼高大上貴桑桑的套裝軟體,或是貌似神奇的卻不明就理的魔法黑盒子免費開源套件,熟悉資料,略懂數學,邏輯清楚,已知用火,就能檢驗很多商業行為的成果了。技能從來不是問題,人心才是問題。小弟就是希望資料分析走出神壇,我可以不賺錢,但台灣不能不健康(誤)

拉下還願的何老師與打醒杜豐于啊!

定義資料table是非常重要的。我們有著玩家遊戲的紀錄transaction_table,也有活動promotion的promotion_table,於是我們兩個串接起來,舉例SQL如下:

計算說明


1) play count/ count(*)= average value
2) (avg(a.play count)- average value)/ STDEV_SAMP(a. play count)/ SQRT(count(*))) as “Z-value”

SQL

Select
(avg(a.play count)- average value)/ STDEV_SAMP(a. play count)/ SQRT(count(*))) as “Z-value”

From DB.TRANSACTION_TABLE AS A

LEFT JOIN (SELECT member_id, market, promotion_period FROM DB.PROMOTION_TABLE) AS B

ON A.member_id=B.member_id AND A.market=B.market AND PLAY_TS> promotion_period

WHERE PLAY_TS > DATE”2019–03–01” AND PLAY_TS < DATE “2019–03–31”

有join到就表示在促銷活動之後,玩家仍然活動在遊戲平台上,我們定義玩家因為促銷活動被吸引到平台之後,等促銷活動結束,仍然存活在遊戲平台上,且z-test顯著,表示促銷活動對於玩家的遊戲活動影響,z檢定為顯著。

SQL語法與實際邏輯就請各自依產業自己加油啦,小弟僅示例。就算如此也已經提供很多邏輯心法了。自行取用。或許有朋友覺得,這簡單到爆炸的join語法是在這邊臭屁什麼天方夜譚?嘿嘿,認真想一下背後邏輯喔~ 不然沒關係,就當作小弟北七也無妨,加油啾咪~

完全同意z檢定並非絕對是現實情況,因為說明如下,在這就不上統計課。

詳細說明:

然而,在公婆都各自有理由,沒有人拿出「具體」證據的時候,z檢定仍然提供了一個量化的數值檢驗結果。總比人人打嘴砲拿經驗或輩分互打有說服力多了。小弟本身也支持,在domain經驗判斷及人類心理學顯而易見的狀態下,拿z檢定的結果衡量就足以當作證據了。總比以往的純粹「感覺」有意義多了。

小弟直接跳結果,在信心水準為0.8的情形下,Z值為0.91,我們接受H0,承認促銷活動對於玩家的遊戲活動確實有影響。請留意,confidence interval大小的界定,也可能對結果造成截然不同的判讀!端看貴公司的設定情境了。

是不是很簡單?90%的公司商業行為分析,是用不上高深的解法的。另外剩餘10%也是一些基礎演算法的ML model即能輕鬆解決。切勿神話AI,或是更進一步,切勿神話貴公司的商業情境。

--

--

SamSam
SamSam

Written by SamSam

用有限的資料知識探索無限的世界

No responses yet