當你的遊戲吸引到大量玩家後,你可以開始得到豐厚的回報了。現在,你的難題是怎麼讓這種成功延續下去。

你必須想出接觸到使用者的方法,計算出那類玩家可以從推廣獎勵中獲益。所以,現在是時候設計一個分析資料的迴歸模型了。

regression-analysis(from shmula.com)

regression-analysis(from shmula.com)

簡介迴歸分析

我不想拐彎抹角了:迴歸分析的知識點很多。你需要了解的是,它是一種數學方法,是由某些史上最聰明的數學家發明的,包括高斯,他用這個方法預測行星的位置——所以這不是一個簡單的領域啊。但在本文中,我只談一些基本的用法。

首先,大部分公司都很容易就得出某些比率,比如:

“23%訪問我們網站的人體驗了遊戲。”

“5.6%的玩家在遊戲中消費。”

“大部分收益來自5%的消費玩家。”

在大多數時候,這種簡單的算術已經夠用了。

第一課:使用最簡單最實用的工具

為什麼這是第一課?因為複雜的工具很容易搞砸。Feynman(注:美國物理學家,諾貝爾物理學獎獲得者)曾經說過:“第一條原則是你絕對不要愚弄自己,因為你就是最容易被自己愚弄的人。”使用複雜的工具可能產生一些複雜而微妙的問題,很難預料和發現。

什麼時候需要回歸分析?

大多數人會想到做A/B測試——確實,這是模擬“比率”的最佳方案。你做兩個測試,A和B。A導致銷售額增長了5%,而B導致銷售額增長了6%。所以B比A好。

但是,當你有大量相關的變數時,比率就變得很難計算了。假設你要解釋為什麼玩家不再玩你的遊戲。你認為根據某些潛在的因素,你可以估計玩家何時會離開遊戲,但你不肯定哪一個因素才是最有關係的。

例如,假設我們正在研究玩家的登入次數、遊戲時長、最近離開的好友數量、他們得到的經驗值和他們得到的成就數量。

用比率模擬所有這些變數可能永遠也完成不了!在這些變數中,有些是離散的,但大部分是連續的。你得對它們劃分成段(如,成就:1-5.6-10,11-15……),然後對各個段分別評級。

你得給每一個變數的可能排列設定比率,並在一個大的矩陣中比較它們。該死,應該有更好的辦法才是!

好吧,這時候迴歸模型就派上用場了。

迴歸分析的作用方式

我沒說我是數學教師,所以讓我用業餘人員能理解的方式描述迴歸分析吧。迴歸模型假設所有自變數都對目標(叫作“因變數”)有一定程度的影響。

你首先必須想出一套你認為變數如何起作用的理論——這個很重要。沒有這套理論,你的工作將是盲目的,你的結果可能沒有任何意義!

如果你的那套理論不起作用,你可以用迴歸模型證實它。迴歸模型也可能產生否定結果,這可以防止你浪費大量時間來研究無用的或會誤導你的資料。

回到我們的模型:我們假設在這些變數中,每一個都會影響玩家退出遊戲。使用最普遍的一種迴歸分析,即普通最小二乘方(Ordinary Least Squares 簡稱OLS),我們假設我們可以構造一個基本的代數方程來幫助我們決定

一名玩家是否會離開遊戲。使用OLS,我們的理論用代數表示如下:

(離開的玩家) = x + (y1 * 登入次數) + (y2 * 遊戲時間) + (y3 * 離開的好友數) + (y4 * 獲得的經驗) + (y5 * 成就數)

這正是計算機可以馬上解決的代數題。

首先,我們要讓數值團隊的人提供給我們一些資訊。但在此之前,我必須提醒你,我們得到的資料樣本必須是公正的、有代表性的,這一點極其重要。

新手常犯的錯誤是說“我想知道是什麼導致玩家離開遊戲,所以我們要對所有離開的玩家做一個報告。”這太糟了,因為它導致了選擇性偏差。

避免選擇性偏差的方法是假設你事前並不知道研究的結果。假設你一無所知,問你的數值團隊成員,

“你可以做一份報告嗎?讓我知道七月份時,所有玩家的登入次數、遊戲時間、離開的好友、獲得的經驗和成就。這份報告應該只包含7月1日之前就開始玩遊戲的玩家,應該排除在7月份離開的玩家。哦,再增加一列a 1,表示在8月的第一週離開的玩家,或者a 0表示沒有離開的。”

原因是,這個詢問達到了以下三點要求:

1、與這個資料有關的所有玩家都有相同的測量值。與這個研究有關的所有玩家都運用了一整個月的資料。

2、因變數“在8月份離開”完全與自變數分離。

3、理想情況下,我們會得到大量的結果序列。我們獲得的序列越多,我們藉助迴歸分析軟體來理解變數的效果就越好。

現在我們可以開始了。我假設你得到的報告就像這樣:

第一個數字表示登入次數,第二個表示遊戲時間(分鐘),第三個表示離開的好友數,第四個表示獲得的經驗,第五個表示成就,最後一個如為1表示玩家離開,如為0表示玩這未離開。

然後,我們需要一款用於迴歸分析的軟體。

迴歸分析軟體

假設你或公司財政狀況良好,那就購買統計分析軟體、Stata或Mathematica吧。什麼,不會用?讓你的公司送你再上一次大學吧!

至於我們其他人呢,這裡有一款非常實用的軟體叫作“GRETL”。對於想學習的人來說,這款軟體正好用。你可以下載這款軟體分析我剛才給出的測試資料。

先把資料包告儲存成CSV格式,然後啟動GRETL。選擇File | Open Data | Import | text/CSV。指定資料分隔符,然後選擇檔案。

GRETL突然問你:“你需要給資料新增時間序列或皮膚解釋嗎?”我們現在選擇否,因為時間序列和皮膚是另一節課的內容,可能不算是入門級的東西。再者,即使我的問題可能很複雜,我也會盡量先把它模擬成簡單的模型,除非簡單的失敗了,我才嘗試更復雜一點的模型。

你現在應該可以看到以下頁面,其中有7個變數,包括自動產生的常量(基本上是一列數字)。

gretl1(from gamasutra)

gretl1(from gamasutra)

現在我們開始模擬了!從主選單中選擇Model | Ordinary Least Squares。我們現在必須告訴Gretl我們的理論。對於因變數,選擇“Cancelled_”;對於自變數,選擇其他的任何選項,然後點選OK。

你應該會看到如下頁面,其中有大量文字和複雜的數字。我們怎麼理解這些東西呢?

gretl2(from gamasutra)

gretl2(from gamasutra)

對於初學者,從表格中你應該看到兩點。第一,每一行數字旁邊的小星號的作用是,提示你哪一行變數是最有用的——星號越多,表示越有用。

第二,看到這句“p-value was highest for playtime”。這是提示你應該忽略圖表中的哪一個變數。此時,數學告訴你,遊戲時間不重要——我們不能根據遊戲時間判斷玩家是否打算離開遊戲。

總之,任何P值接近1(或沒有星號)的變數都應該從模型中除去。

為什麼?我不知道;這就是你的理論派上用場的地方。可能是,有些人在決定是否離開很猶豫,所以頻繁登入,反之,有些人離開得就很乾脆,甚至把網站都忘記了。除非你開始做一些該領域的開創性研究,否則你不會知道這些的。這就是要拿給遊戲設計或社群經理的東西!最後,你可能會發現一些有趣的東西,比如,有兩種不同的遊戲時間,只有一種能正確地提示玩家退出遊戲的打算。但現在,我們還是忽略這個有缺陷的變數,繼續往下看。

排除不和諧的變數後,再次執行模型,從主選單中選擇Test | Omit Variables,然後選擇忽略“playtime”和“experience gained”,點選OK。你會看到如下頁面:

gretl3(from gamasutra)

gretl3(from gamasutra)

現在你已經得到一個很棒的模型了,其中的變數都是真正有用的。每個變數都有一個真正的低P值。你設計的代數公式其實是:

(離開的概率) = 1.31132 – (0.0470642 * 登入次數)+ (0.0567763 * 離開的好友數)– (0.0795353 * 成就數)

所以我們怎麼在實際中運用這個公式呢?我們來看看用曲線表示的公式的結果。從主選單中選擇Graphs | Fitted, plot | Actual vs Fitted。你看到的影像如下:

gretl4(from gamasutra)

gretl4(from gamasutra)

你的模型顯示了確實離開的玩家得分是0.6或更高,留下來的玩家是0.4或更低。根據這個模型,你可能想開展推廣優惠活動或提供贈品給那些得分高於0.6的玩家——如果該玩家過去有大量消費的記錄,也可以給他確實不錯的東西鼓勵他繼續遊戲。

總結

這就是利用迴歸分析能做的事。我想鼓勵大家多學習,但坦白說,迴歸分析的某些部分確實很難學也很難教。

via:遊戲邦/gamerboom.com