crosstab交叉表_《数据分析实战》书中案例分析 - 基础篇(二):用户流失探索【交叉列表统计】 - python实现...

bdcadc94826a5b8c7b24e93cdd95b686.png

分析基础篇(二):什么样的用户会选择离开 - 交叉列表统计

案例背景:

《黑猫拼图》的用户数本月比上月少了很多。

通过确认,商业推广、游戏活动(版本)均没有大的改动。

提出猜测,是某个用户群体出现了问题。

通过数据库的日活跃数据、用户信息,来从不同用户信息(属性)拆解日活。

使用数据:

●DAU(Daily Active User,每天至少来访 1 次的用户数据)

●user_info(用户属性数据)

分析流程:

  • 加载常用库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import sklearn
import seaborn as sns
  • 读入数据
dau = pd.read_csv('yourpath/R/section4-dau.csv')
user_info = pd.read_csv('yourpath/R/section4-user_info.csv')

dau.head()
user_info.head()

dd4db1daea6cfe4cf6b67c09db4b774f.png
dau预览

2cb1a1909e29070222434e8b0b0cb299.png
userinfo预览
  • 预处理数据

连接dau和userinfo表。同时增加一行月份列,方便按月统计

dau_userinfo = pd.merge(dau,user_info,on=['app_name','user_id'],how='left')
dau_userinfo['log_month'] = dau_userinfo.log_date.map(lambda x: str(x)[:7])

dau_userinfo.head()

35ea6358575f322e687d284be4cfc60a.png
dau_userinfo预览
  • 交叉列表统计

接下来,利用交叉列表统计,查看不同用户属性下的月活变化

  • 性别
pd.crosstab(index=dau_userinfo.log_month,columns=dau_userinfo.gender)

e876da765a10d86596487ba81dede67b.png
性别-月份交叉统计
  • 年龄区间
pd.crosstab(index=dau_userinfo.log_month,columns=dau_userinfo.generation)

d02a16ef04fda9a806fca67385c4d315.png
年龄区间-月份交叉统计
pd.crosstab(index=dau_userinfo.log_month,columns=[dau_userinfo.gender,dau_userinfo.generation])

ec28b0ebc89a63e2d500de7bd83b17ec.png
性别*年龄 - 月份变化

可以看到,性别、年龄月份并没有哪个区间尤为突出的变化。性别*年龄的交互项也并没有某项特别突出下降。

当然,最好的方式是可以利用卡方统计看一下,是否有哪个属性值统计显著变化。

  • 设备类型
pd.crosstab(index=dau_userinfo.log_month,columns=dau_userinfo.device_type)

aa64b3aae3dbd9f929baff0b2c9e66f2.png
设备 - 月份变化

显然,设备这里很明显可以看到,Android的下降尤为突出。

为了具体是哪一天的变化,查看两种设备的日活变化。

g = dau_userinfo.groupby(by=['log_date','device_type'])
dau_device = g['user_id'].count().reset_index()

c592f4e805bc12b4c17054ab810de624.png
两种设备的日活变化

据此,可以得出结论,Android设备在9月13日的日活显著大量下降,此后也未再回升,导致了整体的日活下降。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值