基于用户的产品分析之Cohort Analysis(群组分析,留存分析)
在产品正式上线后,我们需要对产品的客群对象进行分析,此时产品的群组分析会给予我们找到一定的方向。
核心的维度:产品 ->客群,时间->聚类周期现象
首先读取数据集:
import numpy as np
import pandas as pd
df = pd.read_excel('./Online Retail.xlsx')
查看数据前五列/info
#%%df.head()#%%df.info()
通过结果,我们可以看到数据有8个字段,其中,Description列和CustomerId列有缺失值,CustomerId列需要去空值
处理空值
#%%
#查看缺失值分布情况
df.isnull().sum()#%%df= df.dropna(subset=['CustomerID'])#%%
#查看空的列的和
df.isnull().sum().sum()
处理重复值
#%%
# 查看整体的重复行情况
df.duplicated().sum()#%%
# 删除重复行
df = df.drop_duplicates()#%%
# 查看处理后的结果
df.duplicated().sum()
处理完空值和重复值后,我们来查看数据的统计学参数,主要关注极大极小值。
df.describe()
注意: 存在0的单价值和negative的UnitPrice值,需要过滤
#%%
df=df[(df['Quantity']>0) & (df['UnitPrice']>0)]
df.describe() #%%
#查看数据集的shape(几行几列)
df.shape
现在开始做Cohort Analysis(未完待续)
这里简单做个脑图收敛一下需要分析的目标
#%%
#找出最早的购买月份
def get_month(x) : return dt.datetime(x.year,x.month,1)
df['InvoiceMonth'] = df['InvoiceDate'].apply(get_month)
grouping = df.groupby('CustomerID')['InvoiceMonth']
df['CohortMonth'] = grouping.transform('min')
#列出倒数5行
df.tail()
截了后半部分的图
#对月份跨度做diff,然后输出Index
def get_month_int (df,column):year = df[column].dt.yearmonth = df[column].dt.monthday = df[column].dt.dayreturn year, month , day invoice_year,invoice_month,_ = get_month_int(df,'InvoiceMonth')
cohort_year,cohort_month,_ = get_month_int(df,'CohortMonth')year_diff = invoice_year - cohort_year
month_diff = invoice_month - cohort_month df['CohortIndex'] = year_diff * 12 + month_diff + 1
df['CohortIndex']
# 计算每个群组的月活跃用户
grouping = df.groupby(['CohortMonth', 'CohortIndex'])
print(grouping)
# 返回对象中唯一元素的个数 cohort_data customerID的个数
cohort_data = grouping['CustomerID'].apply(pd.Series.nunique)
print(cohort_data)
# cohort_data.to_csv('cohort_data.csv')
# 抽出CohortMonth,CohortIndex的索引字段出来以做数据透视表
cohort_data = cohort_data.reset_index()
cohort_counts = cohort_data.pivot(index='CohortMonth',columns='CohortIndex',values='CustomerID')
cohort_counts
# 计算留存率
cohort_size = cohort_counts.iloc[:,0]
retention = cohort_counts.divide(cohort_size,axis=0) #axis=0 确保沿着行轴划分
retention.round(3) * 100 #to show t
#绘制热力图
plt.figure(figsize=(15, 8))
plt.title('Retention rates')
sns.heatmap(data=retention,annot = True,fmt = '.0%',vmin = 0.0,vmax = 0.5,cmap="BuPu_r")
plt.show()
结论:留存分析的纵轴我们可以看到产品的生命周期,横轴可以看到用户的生命周期,留存分析很容易的描绘出产品的生命周期,在AARRR模型里,如何提高用户留存是一个永恒的话题,产品留存的核心要素是什么,一直是我们分析产品核心价值的永恒话题,接下来我们可以做简单的RFM模型分析
基于用户的产品分析之Cohort Analysis(群组分析,留存分析)相关推荐
- 周五话运营 | 和用户谈一段不分手的恋爱(留存分析)
还有什么事情比看到新用户的到来更幸福么? 那一定是看到老用户又支持了我们的产品. 运营业界有一个众所周知的真理,拉新贵,留存难,促活烦.作为一名运营人员,每天工作超级难做,方法同质化,套路谁都懂,活动 ...
- 基于数据分析的“用户群组+推送”,提升用户粘性
背景 受众细分是精细化运营的重要方法之一.由于用户的偏好不同,对产品的需求也不一样,要想更好地培养用户粘性,就需要因人施策,精细化运营.受众细分是根据用户属性和行为数据,将具有相同或类似特征的用户归为 ...
- 分布分析和分组分析_如何通过群组分析对用户进行分组并获得可行的见解
分布分析和分组分析 数据分析 (DATA ANALYSIS) Being a regular at a restaurant is great. 乙 eing定期在餐厅是伟大的. When I sta ...
- 陈桥五笔用户编号获取_用户群组分析
目录: 项目介绍 定义阐述 分析流程 总结展示 一.项目介绍 背景: 当我们在做用户分析时,会遇到这样的一个问题,一个用户使用APP时,会留下一连串的使用数据,可能是一月份的购买了1次,二月份购买了2 ...
- 数据分析方法——用户群组分析
文章目录 数据分析方法--用户群组分析 内容摘要 一.群组分析方法介绍 二.项目背景及目的 三.python实操 (1)数据导入 (2)数据处理 (3)用户群组存留率计算 (4)用户群组存留率可视化 ...
- 简述linux下用户与组相关的配置文件,Linux用户和群组管理的主要配置文件
一. 用户和群组的类型 1.Linux用户账户的类型 Linux下的用户可以分为三类: 超级用户.系统用户.普通用户. 1)超级用户root root用户就是超级用户.系统管理员,UID为0. 2)系 ...
- Linux-新建用户/群组以及修改文件权限
Linux 基础 操作系统 操作系统 Operating System 简称 OS ,是软件的一部分,它是硬件基础上的第一层软件,是硬件和其它软件沟通的桥梁. 操作系统会控制其他程序运行,管理系统资源 ...
- Linux:用户与群组管理
1,用户与用户组 1.1,用户分类 超级用户(UID=0):root,它具有一切权限,只有进行系统维护(例如建立用户等)或其他必要情形下才用超级用户登录,以避免系统出现安全问题. 系统用户(UID=1 ...
- Linux用户与群组管理
用户账户与群组概念 Linux操作系统是多用户多任务的操作系统,系统依据账户来区分属于每个用户的文件.进程,任务,并给每个用户提供特定的工作环境(例如,用户的工作目录.shell版本以及图形化的环境配 ...
最新文章
- 华为公有云架构解决方案
- hdu 1556 Color the ball
- 好程序员Web前端分享程序的三大结构(二)while循环
- 在C#中使用Selenium WebDriver执行JavaScript
- 透过汇编另眼看世界之函数调用
- SAP CRM后台取数据逻辑的性能优化
- c语言算ex自定义函数,用C语言写定积分的通用函数:sin(x),cos(x),eX.
- echarts年龄饼图_echarts自定义饼图
- 房屋建筑与装饰工程工程量计算新旧规范对比(二)
- 自制 arduino 音符频率对照表(音符在arduino里对应的值)
- 智慧医疗整体解决方案
- 四级英语口语模拟测试软件,英语四级口语模拟题:非常有用
- OPenGL 基本知识(根据自己理解整理)
- C语言中用零作为终止标记,求出一批非零整数中的偶数.奇数的平均值,用零作为终止标记的程序...
- 【计算机网络】计算机网络总结
- hta 北京自动挂号器
- Linux用户权限特殊权限
- go-stat-reporter(1):golang开发通用报表展示系统,设计数据结构
- java 有序的list_Java 中的 List —— 有序序列
- 课程体系包括哪些要素_课程体系包括哪些要素
热门文章
- react-native电影简介app,了解一下?(android端)
- 计算机组成原理语言方框图,计算机组成原理实验报告3 语言方框图
- 应用计算机解数学模型之我见,计算机模拟算法在数学建模中的应用
- 信息学奥赛一本通1336:寻找树根和孩子(图论算法-树)详细讲解
- iOS 打开本地或下载excel文件
- 9.3.2另一种计算机器2
- Windows搭建青龙面板教程
- [LibreOJ 3124]【CTS2019】氪金手游【容斥原理】【概率】【树形DP】
- MySQL的数据库引擎介绍
- 今天是一位朋友的生日,送给她最美丽的祝福.