游戲云之海量游戲日志分析方案
我們將結(jié)合案例分析,看看如何利用數(shù)據(jù)分析來切實地改進(jìn)游戲。
此次我們舉例一款移動端的紙牌類游戲,模擬桌游21點。游戲的大眾版本免費,用戶在支付一定的費用后可獲取無廣告和擁有額外功能的版本。問題是,這款21點游戲并沒有帶來預(yù)期收入。期望是解決這個問題、提高用戶參與度和消費。
如果游戲的設(shè)計者并沒有數(shù)據(jù)分析的概念,也沒有搜集充足的數(shù)據(jù)以備分析,那只能拍腦袋制定策略變更。而如果數(shù)據(jù)分析的思路在設(shè)計之初就以部署,那接下來的每一步分析都會有根有據(jù)。
我們假設(shè)游戲的設(shè)計之初就已考慮數(shù)據(jù)分析,在阿里云上按照下圖的方式部署:
ECS作為游戲服務(wù)器;
RDS作為業(yè)務(wù)數(shù)據(jù)庫,維護(hù)事務(wù)相關(guān)數(shù)據(jù),通過阿里云的采云間將需要分析的數(shù)據(jù)同步至ODPS;
SLS作為日志服務(wù),定期將日志數(shù)據(jù)導(dǎo)入至ODPS
ODPS作為開放數(shù)據(jù)處理服務(wù),進(jìn)行數(shù)據(jù)分析。
為了找出游戲并未帶來預(yù)期收入的原因,我們一步一步地排查,并做出相應(yīng)動作:
1.是否有足夠多的人下載該應(yīng)用?
查看下載總量和游戲的***安裝量。下載量和安裝量都可以維護(hù)在RDS中。
如果沒有足夠的下載量,需要公關(guān)部和市場部圍繞產(chǎn)品的知名度展開工作。例如在游戲中加入創(chuàng)造性的元素,和運營方合作推廣,采用新的皮膚包裝或是誘人標(biāo)題。在移動瀏覽器或是搜索客戶端方面加大廣告投入。
如果數(shù)據(jù)顯示有足夠多的用戶下載量和***安裝量,那說明問題不是出在知名度方面,那也無需額外增加公關(guān)方面的投入,而是繼續(xù)查看步驟2。
2.對于安裝游戲的用戶,他們在游戲中做的***件事情是什么?所有用戶中那些玩過多輪直到完全結(jié)束該游戲占多大的百分比?
對于***個問題,我們查看數(shù)據(jù)庫中記錄的登陸活動(Entry Event Distribute,EED),這也可以維護(hù)在RDS中。對于第二個問題,我們在每一次用戶完成游戲時,自動向服務(wù)器發(fā)送一條消息來收集該數(shù)據(jù)。
如果有很多用戶進(jìn)入游戲,但大部分人沒有選擇升級到付費版本,那可能這款游戲很有趣,吸引人們的注意,卻沒有很好的貨幣化。如果是這種情況,需要思考升級的價值,找出它能給用戶帶來更多價值的點并讓用戶了解。
如果只有很少的用戶完成游戲,或者大部分人在玩游戲初期便退出,那么繼續(xù)看步驟3.
3. 用戶在哪一步退出的?
為了獲知該數(shù)據(jù),需要在用戶執(zhí)行操作時記錄每一步。因為只能基于事件發(fā)生前執(zhí)行的操作來決定退出事件(Exit Event Distribution,EXD),所以需要在用戶執(zhí)行每一步操作時添加數(shù)據(jù)點,而且粒度越細(xì)越好(數(shù)據(jù)量嘩嘩滴)。顯然這樣的數(shù)據(jù)不適合放在業(yè)務(wù)數(shù)據(jù)庫,也就是上圖中的RDS里,而使用阿里云的日志服務(wù)SLS,可以自動讀取產(chǎn)生的日志文件,并自動導(dǎo)入進(jìn)ODPS中,供后續(xù)分析。既不會占用實時業(yè)務(wù)資源,也便于大量數(shù)據(jù)的分析處理。
接著,因為不知道用戶是否還會回來繼續(xù)進(jìn)行游戲,需要篩選出那些在一定的時間段內(nèi)都不再重新登錄的用戶。方法是,估算出活躍用戶的平均登錄間隔,然后再乘以10來判斷用戶是否永遠(yuǎn)流失。比方說,如果大部分用戶的平均登錄間隔是1天,那么對于10天內(nèi)都未再登錄的用戶,可以判斷其為流失。
這里EXD相應(yīng)可以有很多分支,比方說,有多少用戶完成游戲指南?如果大部分用戶是在完成指南之后退出,那指南本身可能有一定的復(fù)雜性,需要對游戲指南進(jìn)一步設(shè)計。如果大部分用戶沒有完成指南,需要考慮在游戲的主頁面將指南設(shè)置成為可選項,讓用戶可以跳過游戲指南直接進(jìn)入游戲。
如果大部分用戶完成了游戲指南,那么繼續(xù)看步驟4。
4.當(dāng)用戶準(zhǔn)備開始游戲時,他們是否能成功配對同玩對象?
用戶首先選擇那一種游戲?qū)ο?和另一名玩家對戰(zhàn)或是隨機選擇?獨自玩或是與機器對玩?還是與身邊的人使用“熱座模式”?如果大部分用戶首先使用對戰(zhàn)按鈕來和朋友玩,當(dāng)他們這樣做時,他們使用什么選項來找尋伙伴?現(xiàn)在很多人都會在“微信”中尋找。當(dāng)選擇“微信”導(dǎo)入時,會彈出一個允許頁面,詢問是否允許該應(yīng)用的訪問。多少用戶選擇允許應(yīng)用的訪問?
這些數(shù)據(jù)可以記錄在RDS或是用日志的方式由SLS導(dǎo)入ODPS。通過在ODPS里設(shè)置map、reduce規(guī)則,得到需要的分析數(shù)據(jù)。
如果“不允許”的比例很高,那說明可能是允許頁面的內(nèi)容嚇壞了用戶。這樣的情況下,可以去掉一些通用的語句比如“隨時訪問數(shù)據(jù)”,“打擾我的朋友們”,讓頁面看起來不會那么地打擾用戶。另外,有多少用戶是通過這個過程找到朋友然后一起玩游戲的?可以通過查看多少人進(jìn)入“微信”選項,對比此時開始游戲并且立即進(jìn)入游戲的人數(shù)。如果這個比例很低,那說明在游戲配對處需要改進(jìn)。當(dāng)然,這里就需要多一些的數(shù)據(jù)分析規(guī)則。
5. 當(dāng)用戶進(jìn)入游戲時,他們是否完成該游戲?他們玩了多少回合?
如果在玩了一兩個回合后退出,那么如果游戲的對方是人,并且他們之間的回合過長,那么可能是因為回合的持續(xù)時長而導(dǎo)致厭煩。這一點可以通過回合間的平均耗時來查詢。
如果回合時長看起來合理,但是玩家仍然在一兩局之后退出,那需要檢查游戲可玩性的問題。
6.對于那些玩過幾把游戲但仍然流失了的用戶,考慮下面幾個問題:
這些玩家是否在自己的游戲回合中總是贏或總是輸?如果總是贏或輸,可能他們覺得這個游戲太過簡單或者太過復(fù)雜。如果輸贏結(jié)果比較隨機,那需要更精準(zhǔn)的游戲?qū)ν鏀?shù)據(jù)來啟發(fā)。如果游戲?qū)Ψ绞撬麄兊呐笥眩赡苣軉l(fā)的不多。如果游戲?qū)Ψ绞菣C器,那么需要更多的數(shù)據(jù)收集來進(jìn)一步研究。
以上的這些步驟只是數(shù)據(jù)分析對游戲改進(jìn)的一個簡化舉例,如文中的圖所示,游戲過程中的數(shù)據(jù)由RDS或SLS導(dǎo)入ODPS,再從ODPS中對大量數(shù)據(jù)進(jìn)行分析,幫助指定后續(xù)的決策。由此也可見,數(shù)據(jù)分析在整個過程中對分析問題的默默支持,正是“我愿意,化流沙躺湖堤。只陪你,恭候春夏的輪替。”