統計分析和智慧聚類在遊戲資料中的應用

遊資網發表於2021-01-20
2020年12月18日,數數科技在廣州舉辦了遊戲資料分析高階分享沙龍,特邀了擎天柱的資料負責人武彤老師進行分享。在本次活動中,武彤老師結合實際業務分享了企業在資料平臺的實踐經驗,包括行業內目前在資料體系建設上的常見問題,和資料分析的實戰案例,從資料統計到智慧聚類分析,由淺入深。本文為活動現場武彤老師的內容部分實錄,需要觀看完整視訊的可以訪問數數科技官網。

今天非常榮幸的能夠在這裡跟大家,做一些我們公司在資料工作業務上的一些分享。分享主要是三個內容:

01、平臺選型考量

在使用TA系統之前,我們內部是有一套系統的,實話說它應該是叫一個運營的工具,是這樣的一個定位,它包含我們的比如說封號發獎這樣一些功能,同時兼顧了資料庫的功能。我們在用我們自己搭建的平臺做資料分析的流程,其實是要把資料取到本地,在本地做一些計算,然後再得到相應的資料,這個過程大家可以想象,是非常漫長和痛苦的。在隨著數量和業務量的增長,我們就產生在外部選擇一個平臺的迫切需求。

對於我們中小型公司來說,自建平臺其實是一個成本很高的一個事情,尤其你的業務量不高的情況下,所以我們從三個角度去考量,當時也在市場上看了很多個,一個是成本,一個是效率,一個是服務。從成本這部分我們認為有顯性和隱性兩方面,顯性都很簡單,就是我們的開發以及後續迭代的成本,引進的成本包含溝通成本,也就是需求在實際落地的過程中的這些溝通成本,當需求越複雜的時候,溝通中的資訊損失就會越多,交接成本也是同樣的道理。但是作為中小型公司而言,我們無法投入專案,輸出這樣的一個人力資源和技術水平去做這件事。

02、關於服務

我們首先考慮的是第三方系統要支援私有化部署,也就是資料儲存在哪的問題,當然市面上是有些平臺是免費的,或者說收一部分費用,收費價格偏低,但是它存在的問題就是資料是要存在他們那邊的,不過,我們的資料儲存在本地是一個原則性的需求。綜合來看,我們認為 數數科技的TA系統價效比是相對高的,在效率上也非常高,支援私有化部署,在後續的客戶服務和功能迭代上,也是我們比較滿意的,尤其在客戶服務方面,數數科技的夥伴們也伴隨我們度過了很多個加班的夜晚。功能迭代這方面,我們也是配合從1.0做到現在的3.0的版本一步步走過來。

統計分析和智慧聚類在遊戲資料中的應用

03、TA系統下的應用經驗

接下來跟大家介紹一下我們在TA系統下的應用經驗。

先看流程部分,如果是我們傳統的BI報表,首先會遇到的一個問題是複雜度的問題,因為你的需求要同時去想,至少涉及到研發和平臺部,平臺又要分後端和前端分別負責計算和展示的部分,最後你做一個驗收。這套流程走下來,它的時間很長,而且跨度很大,跨部門的難度很大,中間萬一出了bug,是研發上報的資料有問題,還是平臺的計算邏輯有問題,還是平臺的前端展示有問題,很難排查。整個過程就會很漫長,它的成本也很高。在接入數數的TA之後,我們現在的流程依然是提出需求,但是隻需要研發做一個資料埋點,剛剛講到埋點的資料會直接回復到我們的平臺本身的資料庫裡面,然後我們只要對資料來源,資料本身做一個驗收就可以了。比如說我們去跑一下他的生成資料事件,看一下這個升級的資料是不是對的,就可以做我們的報表了,整個複雜度和時間是有很大優化的。所以我們可以說TA平臺提供的這套模組化的工具集帶來的一個流程優化比較顯著。

統計分析和智慧聚類在遊戲資料中的應用

我們圍繞TA系統的一些實踐和探索。包含三個部分:指標監控 / 週期報告 / 描述統計。

// 指標監控:

這部分其實就是大家理解的看板,我們給它分為三類,一個叫核心指標,一個叫系統玩法,一個叫異常監控。

統計分析和智慧聚類在遊戲資料中的應用

  • 核心指標這部分我們的目的就是讓策劃能夠一眼就很明確的知道遊戲現在的運營情況;
  • 系統玩法就是更細一級的讓每個負責系統的策劃去了解當前系統的一個情況;
  • 異常監控就是一些關鍵服務的監控。

統計分析和智慧聚類在遊戲資料中的應用

首先核心指標這部分我們會使用他的看板功能,比如說這是TA看板,這條實線是當前月的一個流水的累積,這個虛線是上個月的累計,如果這裡有一個完整的資料,就可以看到兩個累計值在哪裡出現差異,它總體趨勢是怎麼樣的,能夠方便大家非常快速的建立一個整體的觀感,你在這裡可以對流水,新增,活躍這種關鍵資訊做一個統計,展示最關鍵的。在指標監控這個部分,核心指標這部分,我們會通過報表的形式去列出一段時間內的核心指標的變化,數值變化情況,同時也會用這種屬性拆分或者使用者產生的方式,就把它拆分成不同的玩家的情況,比如說我今天的新增活躍,但是付費額這部分我們會拆除新增的付費,我們主要會看常規的新增,活躍,付費以及關鍵商品,關鍵商品可能是月卡的這種核心玩法總結,這是核心指標的部分,這部分主要目的就是幫助大家迅速的,全面的建立遊戲資料中心。

統計分析和智慧聚類在遊戲資料中的應用

到了系統玩法這部分,各個玩法會有不同的側重。對於養成玩法來說,我們覺得還有參與意願,就是參與的一個情況和參與意願的情況,以及當前的養成進度的分佈的情況,尤其對於我們公司卡牌玩法會比較多,所以我們關注它的參與意願,以及它的分佈主要體現為範圍的分佈,你還會關注它的體驗,也就是平衡性的部分。平衡這個部分大家可以看到這是一點,比如說我們進攻陣容,會有一些陣容的配置,進攻陣容的偏好,按天的波動情況,可以看到有一個陣容它是異常的高,遠高於其他的。另外一個是單位時間收益,我們認為單位時間收益能夠顯著的影響玩家的體驗。所以我們關注這一點。資源的部分很簡單,如果是真實值的話,大家可以看到每天資源的產出或者消耗按途徑的分佈,就是它在哪些途徑產出和消耗,以及庫存的按天的一個溝通情況。比如說哪天的庫存高了,還是說它整體是一個很好的趨勢?我們活動這部分指標相對簡單一點,我們會把大量的報表塞看板裡面,讓策劃去看這個資料的時候,非常直觀的建立一個印象,就是我這期活動相比於之前的那一期是一個什麼樣的狀態,是什麼樣的水平?那麼商品就更簡單了,我們看商品的人數,次數和商品的種類,商品可以重新做分類。這是指標監控的部分,也是我們日常使用中最長的一個部分,日常觀看的部分。

統計分析和智慧聚類在遊戲資料中的應用

接下來還有一個是異常監控的部分,大家可以看到,比如說這裡就是同一個IP的角色資料監控我們遊戲內工作室的一個數量,因為是測試組的資料,所以大家可能看的不是很直觀,但是大家可以明顯的看到幾個IP是最高的,方便去定位我們當前的新的整個環境的地方,包括我們日質量監控的一些情況。

// 週期報告:

除了我們常規每天都要看的資料之外,我們可能會在一些週期性的節點做一個週期報告,比如說日報或者週報統計。在這裡面我們使用 TA系統的API的功能,直接從資料庫去拉取資料,然後結合我們其他資料庫的資料,我們本地資料做一個統一的計算。當然大家也可以把別的資料倒到資料庫裡,這樣也是可以的,這是我們的一個做法。

統計分析和智慧聚類在遊戲資料中的應用

// 描述統計:

統計分析和智慧聚類在遊戲資料中的應用

在講完了系統玩法和異常監控之外,就來到我們一些數值分析的部分,這裡我們的想法或者說思路其實也是比較傳統的,還是使用者分群或者說精細化運營這麼一套思路,具體我們是怎麼結合TA系統實現的呢?我們主要在這個部分用的是使用者標籤的功能,給使用者打上標籤,然後把標籤做一個抽樣,分出來相應的群,再去觀察它的使用者描述,觀察它的行為,以及觀察它的週期流轉。比如說我們會對玩家分類,就是邊緣日常玩家有100人,這是一個使用者描述的部分,行為統計可能是針對不同的玩家去看它的參與率,然後跟蹤,比如說使用者A在12月還是一個邊緣日常玩家,1月變成一個核心競技玩家,我們會關注使用者群的有關情況,在這裡我們主要用到的是他的使用者標籤功能。

統計分析和智慧聚類在遊戲資料中的應用

剛才我講到一個自定義條件,這種我們可以去定義它的時間,充值金額,首末次特徵以及指標值的標記,什麼情況下需要用到ID上傳呢?一般是這樣的幾個情況,一個是複雜資料結構,比如說一個多層巢狀,包含各種各樣奇怪資料型別。其他平臺資料有些時候是導進來也比較麻煩,複雜特徵處理,比如說你要對一系列的玩家,一系列的週期內的行為做一個數字特徵的處理,然後你要看他週期內的,就是他今天打了50場,他明天打了30場,你看這10天整個趨勢,它是負的還是正的,我們會在離線的時候去處理。數值獲取我們還是用他的這套系統去取一些使用者的當前屬性值,區間行為和歷史累計值,對其他的資料我們也會做一些特殊處理。

統計分析和智慧聚類在遊戲資料中的應用

舉例給大家說,比如說大家可以看到這裡是一個原始的付費情況,包含使用者的ID事件發生的時間,他購買的商品型別和他購買商品的一個金額,我們對這樣的原始資料做一個聚合的操作會得到什麼呢?使用者A在我們指定的區間充100塊錢,這100塊錢裡面有99塊錢買了戰力,有一塊錢買了禮包沒有買鑽石。在這裡我們把它的數值特徵轉化成比例特徵,使用者A這100塊錢裡面耗在戰力上的比例是99,在每日禮包的比例上是1,用在禮包上的比例就只有1%。特徵處理的這種目的是什麼?比如說它主要是做一個邊界值的轉換,如果只看這種聚合後的資料的話,大家可以看到玩家花了90多塊錢在戰力上,你說玩家是不是偏好戰力?我一個大R我在鑽石上花了5000塊錢,我一箇中R的鑽石上花了500塊錢,你說誰偏好鑽石?

你能定義這樣一個絕對值的邊界值去做使用者的分類或者分成,所以我們會把這種資料做一些特徵化的處理,特徵處理之後,我們會把這些特徵人工分類一些屬性特徵,比如說峰值100的我們叫小R (現在也是估值1000的),我們對於這種付費佔比的,可能以50%做一個標誌邊界,這是我們在日常工作中做特殊處理的一些基本的經驗。一些維度的部分我們是不需要做處理的,比如玩家的付費額,老玩家等級,玩家佔比。但剛剛講到的商品付費比例,這種我們做處理,還有消耗的比例之類的一些問題。

統計分析和智慧聚類在遊戲資料中的應用

然後在統計部分我們會有一些數字特徵的處理,比如說看離散程度,我們也會對一些資料做一個提示處理,也標準化,比如說明月的地緣日,一個是5月3號,一個是6月3號,可能3號是他的發行日,所以我們做標準化之後就能夠提取出這樣一個特徵,提取出特徵之後,我們就獲得了一個相當於特徵處理後的一些資料。對這些資料我們的目的是根據玩家的資料為玩家做一個不同的分類,我們當前使用的主要還是人工分類的方式,還是一個比較原始的方式。這個分類我們會首先把一些相近的資料提取出來,比如說總場次pvp佔比和pvp佔比,這都屬於戰鬥資料對吧?我們把這個部分和 pvp佔比的部分和它的數字提取出來,我們認為這是屬於一類。然後我們去觀察這個資料它有什麼樣的一個分佈特徵或者相關特徵呢?

我們會去回過頭來再依據這些特徵,把這一些多維的資料,一定是可預設到的,歸此類上。比如說使用者A它總場次是271,我們認為它是輕度競技無偏好的玩家。使用者B總場次是963,我們就認為它是重度偏好pvp玩家。同樣的道理,我們可以把這樣的方法運用到多種其它類別的這種特徵上,就會得到各種各樣的子類,然後再把這些子類做一個組合,我們就可以得到一系列很奇怪的或者說很長的一個類的描述,比如說輕度無偏好,弱付費低活躍,弱社交玩家。你來做對這些組合之後,最後我們會觀察它的一個分佈情況或者說人數情況,這方面主要還是基於你自己的業務理解和業務經驗,去對這些組合結果再做一個抽樣。

統計分析和智慧聚類在遊戲資料中的應用

比如說我們認為A就是1個邊緣日常型玩家,像這種還是比較好理解的,很好的就能夠把它歸類為它是什麼樣的一個玩家,在這個過程中我們還可能會遇到複雜的,有可能一個資料或者說一個類別的比重非常多,它可能有10個維度,這個時候我們通常採用的1個方法是判斷相關性。判斷相關性,我們就可以捨棄一些維度,這樣的話就可以達到效果。我們最近也在探索一些關於自動聚類方面的工作,就是利用 TA或者一些平時獲得一些方法,去做一些自動識別的探索,但自動識別裡面大家也知道存在一個比較難搞的問題,就是它的可解釋性非常的差,所以這方面是我們還在探索的一個部分,希望能跟大家多交流這方面的資源。

整體來說,我們基於他的使用經驗就是這些,其實在我們的日常運用,在我們的一些定製化需求,在我們的一些深度分析方面,TA系統都給到我們很強大的一個支撐,這是對於我們中小型公司來說,它的價效比是非常高的。還有一個非常重要的點沒有說,我們來看一下從TA得到的分類資料之後,因為我們剛剛已經通過TA取得了一些分類,通過把這些離線計算得到的分類,再回傳給TA這個平臺。然後回傳之後,我們就可以利用一些統計分析的模型和工具去做相應的分析了,比如說我們回訪回來的玩家是某一個型別的,我們可以觀察他的描述,描述觀察他的行為和觀察他的週轉。

這就是我們所有的分享的內容,謝謝大家。

統計分析和智慧聚類在遊戲資料中的應用

相關文章