主机游戏最早可追溯至上世纪70年代,从第一台家用游戏机雅达利的诞生到现在的XBoxSeries及PS5, 50年时间里游戏主机发生了翻天覆地的变化,搭载的主机游戏也由简单像素点的组合发展成可媲美现实的大作,主机游戏市场的容量和竞争亦不可同日而语。
Video Game Sales数据集中包含了1980-2016年间每款游戏在不同市场的销量数据。为了便于展开分析逻辑,本文将扮演一家理想情况下的新进游戏公司,通过数据集中数据帮助公司决策下一款主机游戏的开发和发售策略。
数据集介绍

数据集来源于Kaggle上的公开数据集Video Game Sales。
数据集中包含1980-2016年间每款游戏在不同市场共16600条销售数据,具体字段包含:
Rank:游戏全球销量历史排名
Name:游戏名
Platform:发行平台
Year:发行时间
Genre:游戏类型
Publisher:游戏发行商
NA_Sales、EU_Sales、JP_Sales、Other_Sales、Global_Sales:游戏在北美、欧洲、日本、其他地区、全球销量
数据清洗
Main_Sheet = pd.read_csv(r'C:\Users\1\Desktop\vgsales.csv',encoding="gbk")
Operate_Sheet = Main_Sheet.copy()
Operate_Sheet.info()
基于Python下pandas模块进行的描述性分析结果如下:

Operate_Sheet.drop_duplicates(['Name','Platform','Year','Publisher'])#重复值处理
Operate_Sheet.dropna(how='any',inplace=True)#缺失值处理
可以发现数据总量为16598条,且数据不平衡,‘Year’,‘Publisher’,‘Global_Sales’字段下共311行数据存在缺失值,鉴于缺失数据占总数据量占比较低(2%左右),且删除前后各项统计值未发生显著变化,故直接删除缺漏行。在针对'Name','Platform','Year','Publisher'字段进行重复值检索后未发现重复值。
接着基于年份对数据量作直方图

Operate_Sheet = Operate_Sheet.drop(Operate_Sheet[Operate_Sheet.Year > 2016].index)
发现数据集中存在2016年之后的数据,但数据集描述中显示数据记录时间截止到2016年,之后数据的真实性存疑,故删除2016年之后的数据。
数据分析与可视化
分析思路

主机游戏市场发展情况
由于数据集中数据多样性的限制,对主机游戏市场发展情况的分析主要从市场容量、产品及发行商数量方面衡量,忽略政策、技术、社会等其他方面的影响。游戏发行数量、发行商数量、游戏销量的趋势图如下:

发现整个游戏市场大致可以分为三个阶段:第一阶段为萌芽期(1980-1993),在此阶段游戏发行量及发行商数量均稳定上升,游戏销量则波动上升,此时主机游戏才刚刚起步,有远见的公司正在尝试进入这一领域,但整个市场还未做大;第二阶段为爆发期(1994-2007),经过前一阶段的技术积累,索尼于1994年推出PS游戏机,并随后与头部厂商世嘉进行价格战,最终索尼胜出,大幅提高了游戏主机普及率,为后续游戏数量和销量爆发打下了硬件基础,经过10多年的井喷式发展后,07年游戏发行数量超过1000款,全球销售额超过6亿美元;第三阶段为衰退期(2008-),在经济危机之后,游戏发行数量及全球游戏销量均呈现断崖式下跌,且未出现复苏迹象,此时主机游戏市场内已成红海,若新开发游戏没有出色的创意或过硬的品质很难在竞争中存活下来。
区域市场发展情况
尽管近年来主机游戏市场规模在逐渐萎缩,我们仍希望找出最具有比较优势的市场。为此,本文构建区域市场容量占比变量,通过计算各个区域市场销售额占占全球市场总销售额的比例来判断各市场的发展潜力。各区域市场折线图如下:

SaleNo = Operate_Sheet.groupby('Year')['NA_Sales','EU_Sales','JP_Sales','Other_Sales','Global_Sales'].agg(['sum'])
SaleNo.columns = ['NA_Sales','EU_Sales','JP_Sales','Other_Sales','Global_Sales']
SaleNo['NA_Shared'] = SaleNo['NA_Sales']/SaleNo['Global_Sales']
SaleNo['EU_Shared'] = SaleNo['EU_Sales']/SaleNo['Global_Sales']
SaleNo['JP_Shared'] = SaleNo['JP_Sales']/SaleNo['Global_Sales']
SaleNo['Other_Shared'] = SaleNo['Other_Sales']/SaleNo['Global_Sales']
从图中发现北美市场份额由1980年的接近100%跌落到2016年的30%附近,且下跌趋势已经持续5年以上;欧洲市场份额一直上升,并于2016年首次超越了北美市场;日本市场前期一直占有较高的市场份额,但自97亚洲金融危机之后便显现颓势,虽然2016年占比有所提升,但并不能充分说明日本市场已经回暖;其他市场份额同欧洲市场一样稳步上升,但增长幅度较慢。基于各个区域市场的表现来看,欧洲市场的增长潜力最大,北美市场的存量最大,二者的市场份额合计占全球市场份额的80%左右,因此开发一款符合欧美主流人群审美的主机游戏是比较好的选择。
行业环境
在只有游戏销售额数据的情境下,尝试通过衡量垄断水平来间接反应行业环境,具体来说,垄断水平越高,各类资源越向头部公司集中,新进入的公司越有可能失败,行业环境越差。下图使用每年前十大畅销游戏中出版商构成及其全球销量占比两方面来衡量行业环境:

TopGameSale = Operate_Sheet.sort_values(['Year','Global_Sales'],ascending=False)
TopGameSale = TopGameSale.groupby('Year').head(10)
TopGameSale = TopGameSale.groupby('Year').agg({'Global_Sales':'sum','Publisher':'nunique'})
TopGameSale.columns = ['Global_Sales','PublisherNum']
从出版商构成的角度来看,前十大畅销游戏的发行商呈现越来越多元化的倾向,说明很多公司都有可能做出畅销游戏,并不存在明显的技术、人员或资金门槛,亦或是行业资源分配还算均匀。

TopGameSale2 = Operate_Sheet.groupby('Year').agg({'Global_Sales':'sum'})
TopGameSale2.columns = ['Global_Sales']
TopGameSale['Shared'] = TopGameSale['Global_Sales']/TopGameSale2['Global_Sales']
从销售额占比的角度来看,前十大畅销游戏销售额占比大幅下降,既代表行业内可选择的游戏更多了,亦代表不同游戏间的品质差异正在缩小,很多公司都能做出接近一流的游戏。综上所述,可以认为行业资源流动还算充分,并没有出现垄断的现象,制作一款好游戏的技人员或者资金门槛不算太高,行业环境较好。
游戏主机寿命分布
游戏需要搭载至特定平台才能游玩, 转移至其它平台还需要额外的成本进行适配。在主机寿命的早期,主机保有量限制了游戏的销量;在主机寿命的晚期,剩余寿命增大了游戏回流资金的压力。下图是各个主机的寿命分布:

PlatformList = Operate_Sheet['Platform'].unique()
PlatformNo = Operate_Sheet.groupby('Platform').agg({'Year':['min', 'max']})
PlatformNo.columns = ['Start','End']
PlatformExit = PlatformNo.drop(PlatformNo[PlatformNo.End == 2016].index)
PlatformExit ['Listage'] = PlatformExit ['End']- PlatformExit ['Start']
PlatformExist = PlatformNo.drop(PlatformNo[PlatformNo.End < 2016].index)
PlatformExist ['Listage'] = PlatformExist ['End']- PlatformExist ['Start']
图1显示了所有已经退出市场的游戏主机寿命分布,发现大部分主机寿命都在3-10年左右,若以完成全寿命期间80%销量即为过时的标准计算,则寿命被压缩至2-8年左右。图2显示了所有正在流通的游戏主机,除了个人电脑比较特殊外,PS4,PSV,WiiU,XOne,3DS都处于主机寿命的中期,PS3,X360则处于主机寿命末期,因此应针对前者的主机性能开发游戏。
游戏主机份额分布
各个主流游戏主机的市场份额能够显著影响游戏销量,尤其对独占游戏来说,主机保有量决定了游戏的销售上限。在开发一款新游戏时,应尽量适配市场份额大的游戏主机,亦或在市场份额最大的游戏主机上独占以争取更高的分成比例。基于上一部分的结论,PS4,PSV属于索尼;XOne属于微软;WiiU,3DS属于任天堂,同一家公司旗下主机均向下兼容,更容易移植游戏。以3家公司旗下主机平台为区分的5年间各市场销售额堆叠图如下(同一公司旗下的主机视为一类):

PlateformSale = Operate_Sheet.loc[Operate_Sheet['Platform'].isin(['3DS','PC','PS3','PS4','PSV','WiiU','X360','XOne'])]
PlateformSale = PlateformSale.drop(PlateformSale[PlateformSale.Year < 2014].index)
PlateformSale = PlateformSale.groupby('Platform').agg({'NA_Sales':'sum','EU_Sales':'sum','JP_Sales':'sum','Global_Sales':'sum'})
PlateformSale.columns = ['NA_Sales','EU_Sales','JP_Sales','Global_Sales']
PlateformSale.loc['PS'] = PlateformSale.loc['PS3']+PlateformSale.loc['PS4']+PlateformSale.loc['PSV']
PlateformSale.loc['XBOX'] = PlateformSale.loc['X360']+PlateformSale.loc['XOne']
PlateformSale.loc['PC'] = PlateformSale.loc['PC']
PlateformSale.loc['Nintendo'] = PlateformSale.loc['3DS']+PlateformSale.loc['WiiU']
PlateformSale = PlateformSale.drop(['3DS','PS3','PS4','PSV','WiiU','X360','XOne'])
无论是在北美、欧洲还是日本市场。索尼的PS系列主机都占有接近一半的市场份额,北美和欧洲市场微软XBOX稳居第二,日本市场则是任天堂和索尼各占据半壁江山。结合上文市场分析的结果来看,游戏应基于XBOX和PS平台开发,若为独占游戏,则应选择PS平台独占。
最受欢迎的游戏类型
本文分别从消费者最爱购买的游戏类型和游戏发行商最爱制作的游戏类型两个方面来衡量最受欢迎的游戏类型。

GenreNos = Operate_Sheet.groupby(['Year','Genre']).agg({'Global_Sales':'sum'})
GenreNos.columns = ['Sales']
GenreNos = GenreNos.sort_values(['Year','Sales'],ascending=False)
GenreNos = GenreNos.groupby('Year').head(1)
从上图可以发现早期受制于平台机能的限制,消费者最爱购买的游戏类型为放置类游戏,近十年间则是动作类游戏占据了主流。

GenreNo = Operate_Sheet.groupby(['Year','Genre']).agg({'Genre':'count'})
GenreNo.columns = ['Genre_Count']
GenreNo = GenreNo.sort_values(['Year','Genre_Count'],ascending=False)
GenreNo = GenreNo.groupby('Year').head(1)
从发行商的角度来看,近十年间发行商最爱制作的游戏类型也是动作类游戏。综上所述,动作类游戏应是未来一段时期内最受欢迎的游戏。
主要对手是谁
本文分别从制作动作类游戏数量前三的公司和动作类游戏销售额前三的公司两个方面来识别主要竞争对手。

GenreMost = Operate_Sheet.loc[Operate_Sheet['Genre'].isin(['Action'])]
GenreMost = GenreMost.drop(GenreMost[GenreMost.Year < 2006].index)
GenreMost1 = GenreMost.groupby(['Year','Publisher']).agg({'Publisher':'count'})
GenreMost1.columns = ['Publishnum']
GenreMost1 = GenreMost1.sort_values(['Year','Publishnum'],ascending=False)
GenreMost1 = GenreMost1.groupby('Year').head(3)
GenreMost1 = GenreMost1.unstack().fillna(0).astype(int)
从制作游戏数量的角度来看,十年间Namco Bandai Games7次上榜,Activision7次上榜,Warner Bros. Interactive Entertainment6次上榜,但Namco Bandai Games主要面对的是日本玩家,画风也更偏向日本玩家的审美,在基于面向欧美市场开发游戏的方针下,主要对手为Activision和Warner Bros. Interactive Entertainment。

GenreMost2 = GenreMost.groupby(['Year','Publisher']).agg({'Global_Sales':'sum'})
GenreMost2.columns = ['Sales']
GenreMost2 = GenreMost2.sort_values(['Year','Sales'],ascending=False)
GenreMost2 = GenreMost2.groupby('Year').head(3)
GenreMost2 = GenreMost2.unstack().fillna(0)
从游戏销售额的角度来看,十年间Ubisoft7次上榜,Warner Bros. Interactive Entertainment6次上榜,Take-Two Interactive5次上榜,都可以认为是主要对手。值得注意的是,2016年各公司间动作类游戏销售额差异不大,是受全球销量不景气拖累还是当年游戏品质大同小异造成的?综上所述,主要对手为Activision、Warner Bros. Interactive Entertainment、Ubisoft、Take-Two Interactive四家公司。
总结
通过对Video Game Sales数据集的分析,发现目前主机游戏市场正处于衰退期,无论是厂商数量、游戏数量还是游戏销量都在下滑,除非有核心竞争优势,否则仅从市场容量的角度来看此时进入市场不是一个好选择,但市场环境对新进入者还算友好。若选择进入市场,欧洲市场潜力大,北美市场存量大,因此开发游戏应尽量符合欧美玩家的审美。在发售平台的选择上,PS平台因其占有率高成为首先考虑对象,XBOX在欧美市场也有不错的占有率;其中,PS系列的PS4,PSV,XBOX系列的XOne均处于平台寿命的成熟期,应首要考虑对这三个平台的适配。在游戏类型的选择上,应优先选择动作类游戏,并着重参考Activision、Warner Bros. Interactive Entertainment、Ubisoft和Take-Two Interactive的游戏设计思路和风格。