用python對(duì)游戲《野蠻時(shí)代》進(jìn)行數(shù)據(jù)分析

一最疆、字段含義與業(yè)務(wù)理解

《野蠻時(shí)代》是一款SLG游戲與早年的《帝國時(shí)代》相似,為了更好的理解數(shù)據(jù)我有去體驗(yàn)一段時(shí)間摔竿,以下就是我對(duì)這款游戲的業(yè)務(wù)理解间坐。

整體游戲的玩法是灾挨,你作為一個(gè)部落領(lǐng)袖要去建造升級(jí)自己部落的建筑如兵營、瞭望塔竹宋、要塞等劳澄,而這些建筑的升級(jí)需要木材與食物,同時(shí)還存在著一定依賴關(guān)系蜈七,比如你必須先升級(jí)要塞到7級(jí)才能升級(jí)兵營至7級(jí)秒拔。而這些建筑根據(jù)其用途可以分為這么幾類:

1.戰(zhàn)爭(zhēng)類
兵營、士兵小屋飒硅、治療小井砂缩、治療之泉、瞭望塔狡相、據(jù)點(diǎn)傳送門梯轻,其作用分別是訓(xùn)練士兵、提供士兵居所尽棕、給受傷士兵提供居所喳挑、治療受傷士兵、探測(cè)其它部落對(duì)我方發(fā)起的進(jìn)攻、將士兵傳送到我方據(jù)點(diǎn)伊诵。

2.聯(lián)盟類
你作為一個(gè)部落的首領(lǐng)单绑,并非形單影只還需要加入聯(lián)盟,因此也需要一些聯(lián)盟建筑曹宴,包括戰(zhàn)爭(zhēng)大廳搂橙、聯(lián)盟貨車、聯(lián)盟大廳笛坦。其作用是分別是與聯(lián)盟其它成員一起發(fā)動(dòng)戰(zhàn)爭(zhēng)区转,給其它成員運(yùn)送物資、給援軍提供住所版扩。

3.伙伴培養(yǎng)類
你不是一個(gè)人在戰(zhàn)斗废离,你還可以選擇召喚自己的1-5星伙伴和培養(yǎng)自己的巨龍。其包括的建筑有占卜臺(tái)礁芦、祭壇蜻韭、冒險(xiǎn)傳送門、天梯柿扣、龍秘境肖方,作用分別是招募伙伴、強(qiáng)化伙伴未状、打怪升級(jí)俯画、與其它玩家進(jìn)行PK、培養(yǎng)孵化巨龍娩践。

4.輔助類
包括的建筑有圣火活翩、智慧神廟、幸運(yùn)小屋翻伺、神秘水晶、魔法幸運(yùn)樹沮焕、工作間吨岭、倉庫、折扣商店峦树。其作用分別是點(diǎn)燃圣火增加資源生產(chǎn)速度辣辫、智慧神廟用來進(jìn)行科技研發(fā)、幸運(yùn)小屋給予每日登陸?yīng)剟?lì)魁巩、神秘水晶用來購買道具急灭、魔法幸運(yùn)物用來許愿免費(fèi)獲得資源、工作間用來完成每日任務(wù)和聯(lián)盟任務(wù)谷遂、倉庫用來保護(hù)資源和生產(chǎn)資源葬馋、折扣商店用來獲取便宜道具。

以上就是各種建筑和其作用,但游戲本身肯定不是天天升級(jí)建筑畴嘶,還需要一定給予玩家一定活動(dòng)空間蛋逾,而整體活動(dòng)可以分為四類:

  1. 打野怪、打巨龍與資源采集窗悯,你需要派自己的部隊(duì)到領(lǐng)土之外去擊敗野怪獲取資源区匣,或者是直接搜集現(xiàn)成資源。

  2. 進(jìn)行侵略蒋院,攻擊其它玩家營地來獲取資源亏钩。

  3. 讓自己召喚過來的伙伴進(jìn)行冒險(xiǎn),提升伙伴星級(jí)欺旧、等級(jí)姑丑、銘文。

4.部落入侵切端、霜火大陸爭(zhēng)奪戰(zhàn)(不同服玩家進(jìn)行戰(zhàn)爭(zhēng))彻坛,礦島爭(zhēng)奪戰(zhàn)。

上面這些活動(dòng)和建筑的升級(jí)與建設(shè)就形成了這個(gè)游戲的核心玩法踏枣。而游戲盈利點(diǎn)也從中而來昌屉,主要包括三點(diǎn)點(diǎn):

  1. 建筑升級(jí)和訓(xùn)練士兵都需要時(shí)間,許多人不愿意等待茵瀑,那么勢(shì)必就需要付費(fèi)充值间驮,充值使我更強(qiáng)。

  2. 資源的獲取马昨,只有有了充足的木材竞帽、食物、魔法石等資源才能升級(jí)建筑和打造出更強(qiáng)的軍隊(duì)鸿捧。

  3. 伙伴與巨龍的強(qiáng)化屹篓,要想獲得5星伙伴,那你最好是充錢獲得抽取機(jī)會(huì)匙奴。

有了以上對(duì)業(yè)務(wù)的理解堆巧,那我們?cè)賮砜磳?duì)應(yīng)的數(shù)據(jù)就有了更深刻一些的體會(huì),我們來從擁有的數(shù)據(jù)集中選取部分字段來進(jìn)行分析泼菌,具體字段如下:

字段名 字段解釋 數(shù)據(jù)時(shí)間
user_id 用戶唯一標(biāo)識(shí) 永久
register_time 玩家注冊(cè)時(shí)間 永久
meat_reduce_value 肉消耗數(shù)量 前七日
wood_reduce_value 木材消耗數(shù)量 前七日
stone_reduce_value 石頭消耗數(shù)量 前七日
ivory_reduce_value 象牙消耗數(shù)量 前七日
magic_reduce_value 魔法石消耗數(shù)量 前七日
infantry_add_value 勇士招募數(shù)量 前七日
infantry_reduce_value 勇士損失數(shù)量 前七日
wound_infantry_add_value 勇士傷兵產(chǎn)生數(shù)量 前七日
wound_infantry_reduce_value 勇士傷兵恢復(fù)數(shù)量 前七日
general_acceleration_reduce_value 通用加速消耗數(shù)量 前七日
building_acceleration_reduce_value 建筑加速消耗數(shù)量 前七日
reaserch_acceleration_reduce_value 科研加速消耗數(shù)量 前七日
training_acceleration_reduce_value 訓(xùn)練加速消耗數(shù)量 前七日
treatment_acceleration_reduce_value 治療加速消耗數(shù)量 前七日
pvp_battle_count 玩家對(duì)玩家次數(shù) 前七日
pvp_lanch_count 主動(dòng)發(fā)起PVP次數(shù) 前七日
pve_battle_count 玩家對(duì)機(jī)器次數(shù) 前七日
pvp_win_count PVP勝利次數(shù) 前七日
pve_win_count PVE勝利次數(shù) 前七日
avg_online_minutes 平均在線時(shí)間 前七日
pay_price 消費(fèi)金額 前七日
pay_count 消費(fèi)次數(shù) 前七日
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

#選取相應(yīng)字段
select_columns=['user_id','register_time','stone_reduce_value','ivory_reduce_value','meat_reduce_value','magic_reduce_value',  \
                'infantry_add_value','infantry_reduce_value','wound_infantry_add_value','wound_infantry_reduce_value','general_acceleration_reduce_value' \
                ,'building_acceleration_reduce_value','reaserch_acceleration_reduce_value','training_acceleration_reduce_value','treatment_acceleration_reduce_value',  \
                'pvp_battle_count','pvp_lanch_count','pve_battle_count','pvp_win_count','pve_win_count','avg_online_minutes','pay_price','pay_count']
#數(shù)據(jù)讀取
original_data=pd.read_csv(r'F:\the-craft-of-selfteaching\game_data\data.csv',usecols=select_columns)

#顯示數(shù)據(jù)前五行
original_data.head()

以上代碼輸出如下:


image.png

二谍肤、數(shù)據(jù)清洗

  1. 查看空值
original_data.info()
image.png

我們能發(fā)現(xiàn)數(shù)據(jù)一共828934行,沒有空值哗伯。

  1. 異常值處理
original_data.info()
image.png

我們能從圖中發(fā)現(xiàn)沒有異常值荒揣,但是有一個(gè)非常奇怪的事情就是超過25%的玩家沒有進(jìn)行木材和食品的消耗,沒有消耗木材和食物進(jìn)行建筑搭建焊刹,基于對(duì)業(yè)務(wù)的理解系任,這是一個(gè)極其奇怪的事情恳蹲。這說明了一個(gè)問題,有極大比例用戶沒有完成注冊(cè)與激活這一步赋除。

  1. 重復(fù)值處理
#顯示每一列唯一值個(gè)數(shù)
print(original_data.nunique())
image.png

我們能看到user_id唯一值個(gè)數(shù)與行數(shù)相等阱缓,說明沒有重復(fù)值。

  1. 格式轉(zhuǎn)換
    由于register_time這列以日期時(shí)間格式顯示举农,我們要把后面的日期進(jìn)行去除荆针,也就是進(jìn)行格式清理。
#去除時(shí)間
original_data['register_time']=original_data['register_time'].apply(lambda x : x[0:10])
original_data['register_time'].head(5)
image.png

三颁糟、問題提出與分析

  1. 根據(jù)AARRR模型航背,用戶從注冊(cè)到激活,激活到留存棱貌,留存到付費(fèi)玖媚,轉(zhuǎn)化率如何,不同注冊(cè)時(shí)間用戶對(duì)應(yīng)各個(gè)指標(biāo)表現(xiàn)如何婚脱?
#不同注冊(cè)時(shí)間用戶對(duì)應(yīng)的注冊(cè)用戶數(shù)量
register_number_of_everyday=original_data['register_time'].value_counts().sort_index()
#不同注冊(cè)時(shí)間用戶對(duì)應(yīng)的激活用戶數(shù)量
active_user_number_of_everyday=original_data.loc[original_data['wood_reduce_value']!=0]['register_time'].value_counts().sort_index()
#不同注冊(cè)時(shí)間用戶對(duì)應(yīng)的留存用戶數(shù)量
retention_user_number_of_everyday=original_data.loc[(original_data['wound_infantry_add_value']!=0)|(original_data['pay_count']!=0)]['register_time'].value_counts().sort_index()
#不同注冊(cè)時(shí)間用戶對(duì)應(yīng)的付費(fèi)用戶數(shù)量
pay_user_number_of_everyday=original_data.loc[original_data['pay_count']!=0]['register_time'].value_counts().sort_index()
#總注冊(cè)用戶數(shù)量
total_register_number=original_data.shape[0]
#總激活用戶數(shù)量
total_active_user_number=original_data.loc[original_data['wood_reduce_value']!=0].shape[0]
#總留存用戶數(shù)量
total_retention_user_number=original_data.loc[original_data['wound_infantry_add_value']!=0].shape[0]
#總付費(fèi)用戶數(shù)量
total_pay_user_number=original_data.loc[original_data['pay_count']!=0].shape[0]
print('總注冊(cè)用戶數(shù)為:',total_register_number)
print('總激活用戶數(shù)為:',total_active_user_number)
print('總留存用戶數(shù)為:',total_retention_user_number)
print('總付費(fèi)用戶數(shù)為:',total_pay_user_number)

結(jié)果如下:
總注冊(cè)用戶數(shù)為: 828934
總激活用戶數(shù)為: 599557
總留存用戶數(shù)為: 149929
總付費(fèi)用戶數(shù)為: 19549

在上面我們用不同指標(biāo)篩選出對(duì)應(yīng)用戶今魔,在這里進(jìn)行相應(yīng)說明。
注冊(cè)用戶是指:已經(jīng)注冊(cè)的用戶
激活用戶是指:那些有消耗木材進(jìn)行建筑物建造的用戶障贸;
留存用戶是指:那些跟其它玩家發(fā)生沖突以至于有勇士傷兵產(chǎn)生的用戶或者是無傷兵產(chǎn)生但有付費(fèi)的用戶错森,
付費(fèi)用戶是指:付費(fèi)玩家。

光看數(shù)據(jù)我們很難有直觀體會(huì)篮洁,因此我們將相應(yīng)數(shù)據(jù)進(jìn)行可視化涩维。

import seaborn as sns 
#我們將不同注冊(cè)時(shí)間用戶對(duì)應(yīng)的數(shù)據(jù)進(jìn)行合并
total_data_everyday=pd.concat([register_number_of_everyday,active_user_number_of_everyday,retention_user_number_of_everyday,pay_user_number_of_everyday],axis=1)
#修改列名
total_data_everyday.columns=['register','active','retention','pay']
total_data_everyday
image.png

然后我們?cè)俑鶕?jù)這個(gè)數(shù)據(jù)進(jìn)行折線圖繪制。

#構(gòu)建折線圖函數(shù)
def get_lineplot(title,data):
    plt.figure(figsize=(25,13))
    plt.xlabel('date')
    all_graph=sns.lineplot( data=data)
    plt.title(title,fontsize=20)
    plt.show()
#先獲取注冊(cè)用戶和激活用戶的情況袁波,因?yàn)檫@兩個(gè)數(shù)據(jù)量級(jí)相差不大瓦阐,從圖像中可以看出相應(yīng)趨勢(shì)
get_lineplot('The number of register and active user ',total_data_everyday[['register','active']])

注冊(cè)用戶和激活用戶折線圖:


image.png
#留存用戶折線圖
get_lineplot('The number of retention user ',total_data_everyday['retention'])

留存用戶折線圖:

image.png
#付費(fèi)用戶折線圖
get_lineplot('The number of payment user ',total_data_everyday['pay'])

付費(fèi)用戶折線圖:

image.png

我們能從圖中看到,3月10號(hào)篷牌、3月13號(hào)睡蟋、3月16號(hào)、3月21號(hào)這四天從注冊(cè)數(shù)量到留存數(shù)量都呈“尖峰狀”枷颊,我們推測(cè)是有搞一些運(yùn)營活動(dòng)薄湿。然而3月10號(hào)與3月13號(hào)這兩天里的用戶卻在付費(fèi)方面表現(xiàn)極差,而3月16號(hào)與3月21號(hào)的用戶付費(fèi)意向高偷卧。所以如果只是單單想要極大增加留存用戶數(shù)就應(yīng)該進(jìn)行3月10日與3月16日的運(yùn)營活動(dòng),如果既想要高留存又要高付費(fèi)吆倦,那么后兩者的運(yùn)營活動(dòng)更為適合听诸。

看完了不同日期對(duì)應(yīng)的指標(biāo)分析,我們?cè)賮砜纯纯傮w情況是什么樣的蚕泽,并畫出相應(yīng)漏斗圖進(jìn)行分析晌梨。

from pyecharts import options as opts  
from pyecharts.globals import CurrentConfig, NotebookType
CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB
from pyecharts.render import make_snapshot
from pyecharts.charts import Funnel   
pyechart_data=[828934,599557,146013,19549] #不同階段用戶數(shù)量
labels = total_data_everyday.columns.to_list() #設(shè)置標(biāo)簽
def funnel_base() -> Funnel:
    c = (
        Funnel()
        .add("轉(zhuǎn)化", [list(z) for z in zip(labels,pyechart_data )])
        .set_global_opts(title_opts=opts.TitleOpts(title="AARR漏斗圖"))
    )
    return c
funnel_base().load_javascript()
funnel_base().render_notebook()
#請(qǐng)注意如果你跟我一樣使用的是jupyter lab 桥嗤,一定要將這些代碼放到3個(gè)cell里分別運(yùn)行,否則漏斗圖顯示不出來仔蝌,呈現(xiàn)一片空白
print(f'從注冊(cè)到激活轉(zhuǎn)化率為: {round(599557/828934*100,2)}%')
print(f'從激活到留存轉(zhuǎn)化率為: {round(149929/599557*100,2)}%')
print(f'從留存到付費(fèi)轉(zhuǎn)化率為: {round(19549/149929*100,2)}%')
print(f'用戶付費(fèi)率PR為: {round(19549/599557*100,2)}%')
loudou.png

從注冊(cè)到激活轉(zhuǎn)化率為: 72.33%
從激活到留存轉(zhuǎn)化率為: 25.01%
從留存到付費(fèi)轉(zhuǎn)化率為: 13.04%
用戶付費(fèi)率PR為: 3.26%

這里的付費(fèi)率是指付費(fèi)用戶占激活用戶百分比泛领。

游戲行業(yè)付費(fèi)率

我們能發(fā)現(xiàn)用戶付費(fèi)率最終為3.26%,而根據(jù)上圖TalkingData發(fā)布的18年5月移動(dòng)游戲數(shù)據(jù)指標(biāo)來看敛惊,模擬類游戲付費(fèi)率在安卓端和蘋果端僅為1.74%和2.25%渊鞋,所以《野蠻時(shí)代》的付費(fèi)率是相當(dāng)高的。而我們從漏斗圖中能看到激活用戶到留存用戶轉(zhuǎn)化率只有25%瞧挤,這回我們結(jié)合avg_online_minutes平均在線時(shí)長(zhǎng)進(jìn)行分析锡宋,看看留存下來的用戶與未留存下來的用戶,在在線時(shí)長(zhǎng)方面有什么差異特恬。

  1. 留存用戶與未留存用戶在在線時(shí)長(zhǎng)上的差別探究
#留存用戶在線時(shí)長(zhǎng)
retention_user_avg_online_time=original_data.loc[original_data['wound_infantry_add_value']!=0]['avg_online_minutes']
#未留存用戶在線時(shí)長(zhǎng)
unretention_user_avg_online_time=original_data.loc[(original_data['wood_reduce_value']!=0)&(original_data['wound_infantry_add_value']==0)]['avg_online_minutes']
#對(duì)留存用戶在線時(shí)長(zhǎng)進(jìn)行描述性統(tǒng)計(jì)分析
retention_user_avg_online_time.describe()
image.png
#對(duì)未留存用戶在線時(shí)長(zhǎng)進(jìn)行描述性統(tǒng)計(jì)分析
unretention_user_avg_online_time.describe()
image.png

我們能通過對(duì)比發(fā)現(xiàn)一點(diǎn)百分之75%的未留存用戶平均在線時(shí)長(zhǎng)未超過6分鐘执俩,而留存用戶中則相反超過75%的留存用戶平均在線時(shí)長(zhǎng)超過6分鐘。所以顯而易見的一件事情是癌刽,許多玩家在還未熟悉游戲玩法時(shí)役首,就直接退出,所以新用戶引導(dǎo)設(shè)計(jì)還需要進(jìn)一步優(yōu)化显拜。

具體往哪方面優(yōu)化呢衡奥?我這里有一個(gè)建議,在體驗(yàn)過游戲后我發(fā)現(xiàn)前幾分鐘所有操作都是不停根據(jù)指令建造各種建筑讼油,玩家體驗(yàn)并不好杰赛,或者說根本沒有自主性,為什么不可以新玩家一進(jìn)入游戲那些新建筑就已全部搭建好了呢矮台?

舉個(gè)例子乏屯,新玩家一進(jìn)入游戲,1級(jí)兵營就已經(jīng)建造好并且手底下還有一些士兵瘦赫,然后你指引玩家對(duì)野外野怪進(jìn)行攻擊獲取資源辰晕,這樣自主操作空間就大了,不至于一開始就不停點(diǎn)點(diǎn)點(diǎn)搭建建筑确虱。當(dāng)然具體可行性含友,需要進(jìn)行A/B測(cè)試來驗(yàn)證。

除此之外校辩,我們?cè)谏厦鎯蓮垐D發(fā)現(xiàn)了三個(gè)異常值窘问。第一個(gè)異常是留存用戶中竟然有在線時(shí)長(zhǎng)為0的人,因?yàn)槲覀兪怯糜袀a(chǎn)生或者有付費(fèi)行為來定義留存宜咒,而有傷兵產(chǎn)生就意味著玩家一定有去操作惠赫,所以我們具體來看一下數(shù)據(jù)情況。

#留存用戶但在線時(shí)間為0
original_data.loc[((original_data['wound_infantry_add_value']!=0)|(original_data['pay_count']!=0))&(original_data['avg_online_minutes']==0)]
image.png
image.png

從上面兩張圖故黑,我們發(fā)現(xiàn)玩家主動(dòng)發(fā)起6次pvp但在線時(shí)長(zhǎng)是0儿咱,這說明后端系統(tǒng)有漏洞庭砍,導(dǎo)致數(shù)據(jù)異常,在工作中需要溝通混埠,定位問題然后去解決怠缸。

第二個(gè)異常是未留存用戶中也有在線時(shí)長(zhǎng)為零的,我們猜測(cè)也是系統(tǒng)出現(xiàn)問題導(dǎo)致數(shù)據(jù)異常钳宪。

#在線時(shí)間為0的未留存用戶
original_data.loc[(original_data['wood_reduce_value']!=0)&(original_data['wound_infantry_add_value']==0)&(original_data['pay_count']==0)&(original_data['avg_online_minutes']==0)]
image.png

一共有288條數(shù)據(jù)有木材消耗揭北,但無在線時(shí)長(zhǎng),還是系統(tǒng)漏洞使套。

第三個(gè)異常是我們發(fā)現(xiàn)未留存用戶中有存在在線時(shí)長(zhǎng)超過1000分鐘的罐呼,我們來找到具體數(shù)據(jù)看看是異常值,還是正常值侦高。

#在線時(shí)間大于1000分鐘的未留存用戶
original_data.loc[(original_data['avg_online_minutes']>1000)&(original_data['wood_reduce_value']!=0)&(original_data['wound_infantry_add_value']==0)&(original_data['pay_count']==0)]
image.png

image.png

我們發(fā)現(xiàn)除了user_id為2619848的用戶數(shù)據(jù)異常外(因?yàn)樵诰€時(shí)長(zhǎng)幾十個(gè)小時(shí)嫉柴,但木材消耗量卻只有3700),其余皆為真實(shí)用戶數(shù)據(jù)奉呛,只不過這些用戶既不付費(fèi)也沒有因?yàn)榕c其它玩家交戰(zhàn)造成士兵傷亡计螺。

  1. 平均用戶收入、平均每付費(fèi)用戶收入瞧壮、一次性付費(fèi)用戶占比
pay_user=original_data.loc[original_data['pay_price']!=0].copy()
ARPU=round(pay_user['pay_price'].sum()/original_data.shape[0],2)
ARPPU=round(pay_user['pay_price'].sum()/total_pay_user_number,2)
one_pay_user_number_rate=round(pay_user.loc[pay_user['pay_count']==1].shape[0]/pay_user.shape[0],4)
one_pay_user_total_pay_price_rate=pay_user.loc[pay_user['pay_count']==1]['pay_price'].sum()/pay_user['pay_price'].sum()
print('ARPU平均每用戶收入貢獻(xiàn): {}'.format(ARPU))
print('ARPPU平均每付費(fèi)用戶收入貢獻(xiàn): {}'.format(ARPPU))
print('一次付費(fèi)用戶人數(shù)占比: {}%'.format(one_pay_rate*100))
print('一次性付費(fèi)用戶收入貢獻(xiàn)占比:{}%'.format(round(one_pay_user_total_pay_price_rate*100,2)))

ARPU平均每用戶收入貢獻(xiàn): 0.67
ARPPU平均每付費(fèi)用戶收入貢獻(xiàn): 28.49
一次付費(fèi)用戶人數(shù)占比: 43.04%
一次性付費(fèi)用戶收入貢獻(xiàn)占比:2.38%

我們通過分析發(fā)現(xiàn)了一個(gè)糟糕的現(xiàn)象登馒,那就是一次性付費(fèi)用戶占比太大,提供的收入太小咆槽,這個(gè)時(shí)候我們就應(yīng)該擠掉水分陈轿,算一算有效付費(fèi)率。
在這里我們定義有效付費(fèi)率=付費(fèi)率*(1-一次性付費(fèi)用戶占比)秦忿,最后得到有效付費(fèi)率為1.86%麦射,高于模擬類游戲行業(yè)平均水準(zhǔn),還是不錯(cuò)的灯谣。

4.鯨魚用戶收入貢獻(xiàn)與畫像分析

在游戲行業(yè)中將付費(fèi)用戶分為小魚用戶潜秋、海豚用戶、鯨魚用戶胎许,鯨魚用戶是游戲運(yùn)營中的重頭戲峻呛,甚至?xí)iT分析鯨魚用戶的留存率,原因在于少量的鯨魚用戶往往為游戲貢獻(xiàn)了超過80%的收入辜窑。接下來我們來看看鯨魚用戶對(duì)收入的貢獻(xiàn)钩述,然后對(duì)比留存非付費(fèi)用戶,看看兩類群體在行為上有什么差異穆碎。

我們將付費(fèi)金額排在前20%的當(dāng)做鯨魚用戶也就是高價(jià)值用戶

#我們將付費(fèi)金額排在前20%的當(dāng)做鯨魚用戶也就是高價(jià)值用戶
high_value_pay_user=original_data.loc[original_data['pay_price']!=0].sort_values(by='pay_price',ascending=False).head(int(19549*0.2))
#鯨魚用戶對(duì)收入貢獻(xiàn)率
high_value_user_payrate_of_total=high_value_pay_user['pay_price'].sum()/original_data.loc[original_data['pay_price']!=0]['pay_price'].sum()
#留存下來但卻不付費(fèi)的用戶切距,我們當(dāng)做活躍非付費(fèi)用戶
active_user_not_pay=original_data.loc[(original_data['wound_infantry_add_value']!=0)&(original_data['pay_price']==0)]
print('鯨魚用戶收入貢獻(xiàn)為:{}%'.format(round(high_value_user_payrate_of_total*100,2)))

鯨魚用戶收入貢獻(xiàn)為:89.71%

付費(fèi)用戶之所以會(huì)付費(fèi)主要在于充錢使我更強(qiáng),而這個(gè)游戲里要想直觀體會(huì)到自己比其它玩家強(qiáng)惨远,那就是建筑等級(jí)還有發(fā)起PVP直接進(jìn)攻其它玩家谜悟,所以我們猜測(cè)付費(fèi)玩家加速道具使用頻率高,同時(shí)PVP北秽、PVE之類的指標(biāo)都要比活躍非付費(fèi)用戶高葡幸。

pd.set_option('display.max_columns', 40)
high_value_pay_user.describe()
高價(jià)值付費(fèi)用戶加速道具使用狀況
active_user_not_pay.describe()
活躍非付費(fèi)用戶加速道具使用狀況

上面兩圖每行數(shù)據(jù)的含義是數(shù)據(jù)行數(shù)、平均值贺氓、最小值蔚叨、第一四分位數(shù)、中位數(shù)辙培、第三四分位數(shù)蔑水、最大值。我們可以看到在所有加速道具的使用上高價(jià)值付費(fèi)用戶都全面領(lǐng)先扬蕊。

高價(jià)值付費(fèi)用戶
活躍非付費(fèi)用戶
print(f'高價(jià)值付費(fèi)玩家PVP平均勝率為:{round(34.021745/43.138654*100,2)}%')
print(f'高價(jià)值付費(fèi)玩家PVE平均勝率為:{round(67.859043/74.298286*100,2)}%')
print(f'活躍非付費(fèi)玩家PVP平均勝率為:{round(3.890129/9.531600*100,2)}%')
print(f'活躍非付費(fèi)玩家PVE平均勝率為:{round(12.149110/13.559327*100,2)}%')

高價(jià)值付費(fèi)玩家PVP平均勝率為:78.87%
高價(jià)值付費(fèi)玩家PVE平均勝率為:91.33%
活躍非付費(fèi)玩家PVP平均勝率為:40.81%
活躍非付費(fèi)玩家PVE平均勝率為:89.6%

我們能發(fā)現(xiàn)兩類用戶在PVP搀别、PVE數(shù)量上都有顯著差距,在PVE勝率上差距不大在PVP勝率上有一定差距尾抑。

玩家付費(fèi)從數(shù)據(jù)來看就是他的數(shù)據(jù)到達(dá)某個(gè)閾值歇父,然后自然而然發(fā)生的事情。綜合加速道具使用和PVP再愈、PVE情況榜苫,我們可以在前期給予這些活躍非付費(fèi)用戶更多加速道具培養(yǎng)他們使用習(xí)慣,而我們也能看到活躍非付費(fèi)玩家PVP勝率只有40.81%翎冲,我們可以適度給予非付費(fèi)玩家一些戰(zhàn)爭(zhēng)道具如偽裝術(shù)使自己部隊(duì)數(shù)在對(duì)方偵查時(shí)翻倍或者是12小時(shí)防御加成垂睬,來使玩家體驗(yàn)得以提升。此外對(duì)于那些能夠巧妙避開所有付費(fèi)抗悍,但同時(shí)活躍度高的玩家驹饺,我們可以挖掘其社交屬性,讓他把這款游戲分享給別人時(shí)得到相應(yīng)道具獎(jiǎng)勵(lì)檐春,完成AARRR模型的最后一步逻淌。

結(jié)論

  1. 根據(jù)AARRR模型從獲取到付費(fèi)每個(gè)階段的轉(zhuǎn)化率分別為72.32%,25%疟暖,13.04%卡儒,整體付費(fèi)率為3.26%,與行業(yè)平均付費(fèi)率1.74%相比俐巴,要高接近兩倍骨望。
  2. 針對(duì)不同注冊(cè)時(shí)間用戶進(jìn)行轉(zhuǎn)化率分析,發(fā)現(xiàn)由于運(yùn)營活動(dòng)3月10號(hào)與3月13號(hào)這兩天里的用戶在激活欣舵、留存轉(zhuǎn)化方面表現(xiàn)優(yōu)異但在付費(fèi)方面表現(xiàn)極差擎鸠,而3月16號(hào)與3月21號(hào)的用戶在激活、留存缘圈、轉(zhuǎn)化方面表現(xiàn)良好并且付費(fèi)意向也高劣光。所以要想提高留存運(yùn)營活動(dòng)偏前者袜蚕,要想提高付費(fèi)運(yùn)營偏后者。
  3. 根據(jù)留存用戶與未留存用戶在線時(shí)長(zhǎng)分析绢涡,我們發(fā)現(xiàn)超過75%的未留存用戶在線時(shí)長(zhǎng)不超過6分鐘牲剃,而留存用戶則75%以上都超過6分鐘。所以我們建議在新手引導(dǎo)方面做出相應(yīng)改善雄可,直接跳過1級(jí)建筑建設(shè)過程凿傅,引導(dǎo)用戶進(jìn)行更有操作性的伙伴抽取、打野怪等行動(dòng)数苫。
  4. 通過計(jì)算我們得到ARPU平均每用戶收入貢獻(xiàn): 0.67聪舒,ARPPU平均每付費(fèi)用戶收入貢獻(xiàn): 28.49,一次付費(fèi)用戶人數(shù)占比: 43.04%虐急,一次性付費(fèi)用戶收入貢獻(xiàn)占比:2.38%箱残,所以雖然整體付費(fèi)率有3.26%,但一次性付費(fèi)用戶占比大收入貢獻(xiàn)小戏仓,小魚用戶過多疚宇,導(dǎo)致整體付費(fèi)率不能真正體現(xiàn)游戲的收入轉(zhuǎn)化機(jī)制是否設(shè)計(jì)良好,所以我們改變算法赏殃,計(jì)算出有效付費(fèi)率為1.86%敷待,高于行業(yè)平均水準(zhǔn)。
  5. 我們對(duì)比鯨魚用戶與活躍非付費(fèi)用戶數(shù)據(jù)仁热,發(fā)現(xiàn)在加速道具使用榜揖、PVP次數(shù)、PVE次數(shù)抗蠢、PVP勝率上举哟,鯨魚用戶都遠(yuǎn)高于活躍非付費(fèi)用戶。所以我們建議在前期多提供一些道具迅矛,培養(yǎng)活躍非付費(fèi)用戶使用習(xí)慣妨猩,這樣等后面沒有那么多道具贈(zèng)送時(shí),他們就會(huì)忍不住購買秽褒。至于那些肝帝壶硅,則要發(fā)揮他們的社交影響力,讓他們完成分享游戲的任務(wù)销斟,發(fā)揮自己的余熱庐椒。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蚂踊,隨后出現(xiàn)的幾起案子约谈,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件棱诱,死亡現(xiàn)場(chǎng)離奇詭異泼橘,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)军俊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門侥加,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人粪躬,你說我怎么就攤上這事∥粞ǎ” “怎么了镰官?”我有些...
    開封第一講書人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)吗货。 經(jīng)常有香客問我泳唠,道長(zhǎng),這世上最難降的妖魔是什么宙搬? 我笑而不...
    開封第一講書人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任笨腥,我火速辦了婚禮,結(jié)果婚禮上勇垛,老公的妹妹穿的比我還像新娘脖母。我一直安慰自己,他們只是感情好闲孤,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開白布谆级。 她就那樣靜靜地躺著,像睡著了一般讼积。 火紅的嫁衣襯著肌膚如雪肥照。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,046評(píng)論 1 285
  • 那天勤众,我揣著相機(jī)與錄音舆绎,去河邊找鬼。 笑死们颜,一個(gè)胖子當(dāng)著我的面吹牛吕朵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播掌桩,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼边锁,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了波岛?” 一聲冷哼從身側(cè)響起茅坛,我...
    開封第一講書人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后贡蓖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體曹鸠,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年斥铺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了彻桃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晾蜘,死狀恐怖邻眷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情剔交,我是刑警寧澤肆饶,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站岖常,受9級(jí)特大地震影響驯镊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜竭鞍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一板惑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧偎快,春花似錦冯乘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至惋戏,卻和暖如春领追,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背响逢。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來泰國打工绒窑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人舔亭。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓些膨,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親钦铺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子订雾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容