数据运营-计算留存率和转化率(漏斗分析Python)
一、案例数据
在数据运营中,留存率分析和转化率(漏斗)分析是经常用到的,本文结合具体案例总结了如何利用python求n日留存率以及各环节间转化率。
指标释义
案例数据集介绍:
本文是利用淘宝app的运营数据进行分析的,数据集中包含以下字段(部分):
- user_id:用户id
- time:用户行为发生时间
- behavior_type:用户行为类型,具体可分为(1点击、2收藏、3加入购物车以及4支付购买)。
根据time字段可以得到以下特征数据:
- day:用户行为发生日期
- hour:时段
- weekday:周期
数据下载
二、留存率计算
留存用户:在某段时间开始使用产品,经过一段时间后仍然继续使用产品的用户,即为留存用户。
留存率=仍旧使用产品的用户量/最初的总用户量。
根据时间维度进行分类,留存率经常分为次日留存、3日留存、7日留存以及30日留存等。
程序逻辑:
- 识别出指定日期的新用户集合,记用户量为b
- 得到第n天用户集合
- 识别、计算指定日期新用户在第n天仍使用产品的数量,记用户量为a
- 留存率=a/b
#建立留存函数(里面默认data数据中有day/user_id两个字段数据,day为日期、user_id为用户id)#导入数据包
import pandas as pd
import numpy as np
from datetime import timedelta#建立n日留存率计算函数
def cal_retention(data,n): #n为n日留存user=[]date=pd.Series(data.day.unique()).sort_values()[:-n] #时间截取至最后一天的前n天retention_rates=[]for i in date:new_user=set(data[data.day==i].user_id.unique())-set(user) #识别新用户,本案例中设初始用户量为零user.extend(new_user) #将新用户加入用户群中#第n天留存情况user_nday=data[data.day==i+timedelta(n)].user_id.unique() #第n天登录的用户情况a=0for user_id in user_nday:if user_id in new_user:a+=1retention_rate=a/len(new_user) #计算该天第n日留存率retention_rates.append(retention_rate) #汇总n日留存数据data_retention=pd.Series(retention_rates,index=date)return data_retentiondata_retention=cal_retention(taobaoappDf,3) #求用户的3日留存情况
三、转化率计算(漏斗分析)
通过漏斗分析,我们可以发现在一个多步骤过程中每一步的转化和流失情况。
本案例的漏斗中,流程顺序为1点击-3加入购物车-2收藏-4支付(假设以上步骤只能依次进行或中断,不能跳过中间过程到下个节点)。
程序逻辑:分别计算进入各个环节的用户量,再分别比较。
#用户从点击到最终支付的过程中流失率(或转化率)情况def cal_funnel(data,datetime):data1=data.groupby([datetime,'behavior_type']).user_id.count().reset_index().rename(columns={'user_id':'total'}) #不同时间中,各用户行为的用户数量lose_rates=[] #流失率date2=pd.Series(data1[datetime].unique())for i in date2:data2=data1[data1[datetime]==i]click_to_car=1-data2[data2.behavior_type==3].reset_index().loc[0,'total']/data2[data2.behavior_type==1].reset_index().loc[0,'total']car_to_collect=1-data2[data2.behavior_type==2].reset_index().loc[0,'total']/data2[data2.behavior_type==3].reset_index().loc[0,'total']collect_to_pay=1-data2[data2.behavior_type==4].reset_index().loc[0,'total']/data2[data2.behavior_type==2].reset_index().loc[0,'total']lose_rate=[click_to_car,car_to_collect,collect_to_pay]lose_rates.append(lose_rate)data3=pd.DataFrame(lose_rates,index=date2,columns=['click_to_car','car_to_collect','collect_to_pay'])return data3a_hour_lose=cal_funnel(taobaoappDf,'hour')
a_day_lose=cal_funnel(taobaoappDf,'day')
a_weekday_lose=cal_funnel(taobaoappDf,'weekday')
数据运营-计算留存率和转化率(漏斗分析Python)相关推荐
- 阿里云大数据MaxCompute计算资源分布以及LogView分析优化
摘要: MaxCompute(原ODPS)的概念 海量数据处理平台,服务于批量结构化数据的存储和计算,提供海量数据仓库的解决方案以及针对大数据的分析建模服务.(官方文档有这里就不多做介绍了)官方文档链 ...
- 【数据运营】数据分析中,文本分析远比数值型分析重要!(下)
本文是<数据分析中,文本分析远比数值型分析重要!>的下篇,以一个实际案例来聊文本分析在实际运营如何落地.行为脉络如下:先简要讲述文本分析的分支---情绪分析的基本原理,然后以亚马逊的Kin ...
- 数据运营-常见问题 留存率/连续登陆等(SQL Hive)
一.问题:留存率计算(SQL) 字段及表说明: 表名:user_log 字段名: log_day:登录日期 device_id:用户设备id app_id:用户app的id,其中device_id和a ...
- 大数据毕业设计 网络舆情热点分析系统 - 情感分析 Python
文章目录 0 前言 1 课题背景 2 数据处理 3 文本情感分析 3.1 情感分析-词库搭建 3.2 文本情感分析实现 3.3 建立情感倾向性分析模型 4 数据可视化工具 4.1 django框架介绍 ...
- 运营数据分析模型—漏斗分析
漏斗分析(转化分析/路径分析) 漏斗分析是基于用户在产品上旅程的分析方法,能够从用户使用过程的角度考察用户的转化和流失,是最常见的分析模型,广泛应用于Web.APP以及线下产品的数据运营与数据分析中, ...
- 【App数据运营分析】
● 基础指标 1.用户:总用户数.新用户数.留存用户.转化率.地域分析: 2.活跃:日活跃(DAU).周活跃(WAU).月活跃(MAU): 3.营收:付费人数.付费率.付费点分布: 4.应用:启动次数 ...
- 数据分析模型:漏斗分析
01 什么是漏斗分析 漏斗分析是一套流程式的数据分析方法,能够科学地反映各阶段用户转化情况. 漏斗分析模型已经广泛应用于用户行为分析类产品,且功能十分强大:它可以评估总体或各个环节的转化情况.促销活动 ...
- ClickHouse 实现有序漏斗分析与数据可视化
Clickhouse 实现漏斗分析与数据可视化 1.前言 2.环境准备 2.1.测试表 2.2.插入伪造的样例数据 2.2.1.插入伪造的登录数据 2.2.2.插入伪造的浏览数据 2.2.3.插入伪造 ...
- 神策数据罗彦博:如何正确使用漏斗分析提升转化?
本文根据神策数据数字营销经理罗彦博<如何正确使用漏斗分析提升转化>直播整理而成.本文主要内容如下: 通过漏斗分析做 SEM 实时调整 推广落地页的转化路径设计 APP 推广中的数据拦截问题 ...
最新文章
- 视觉SLAM技术应用
- mysql where后面if_mysql查询语句where后面加if判断
- oracle创建表分区表,oracle创建分区表
- RAC安装时需要执行4个脚本及意义
- 2014 网选 广州赛区 hdu 5023 A Corrupt Mayor's Performance Art
- centos7.5 部署flask+nginx+uwsgi+python3
- “贵妇”必备的高价糖水,我给燕窝上了10年智商税
- 鱼哥,我怕蛇,可以搞Python么?
- list的一些常见用法总结(实用干货收藏)
- 产品配件类目税目分类_HS编码知识:汽车零部件怎么归类?
- 移动前端开发之viewport的深入理解
- 用Snoop工具来探测WPF窗体的构成
- 动易2006CMSSP3+动网论坛 DVBBS 7.1 SP1+Oblog 3.13绿色整合版
- 获取高德POI(关键词搜索法 多边形搜索法 周边搜索法)综合运用 2022新版高德poi下载
- 字体大宝库:25款很好看的手写字体下载
- 365赚钱宝养猫小程序程序源码下载
- 如何简单快速的破解PDF加密文档
- mysql 没有my.cnf文件_Linux mysql没有my.cnf,替代文件为mysql.conf.d
- 2022年样题五全国职业院校网络系统管理-网络部分
- 大整数加减法(基础,细节题型)
热门文章
- 2.Echart----绘制饼图
- 金融伦理学(Financial Ethcs)笔记
- 元宇宙带来的游戏变革会是怎样的?
- Java中如何将一个数组分割成多个等长度的数组
- 千巡科技再获千万融资,为何资本看好巡检机器人?
- k1658停运到什么时候_k1658列车到龙川一般会晚点吗因为我要转车时间只有四十分钟...
- Excel中CTRL+D的别样用法 隔行和隔列向下填充示例
- Linux mint cinnamon 64bit 17.3 使用体验(一)
- 用AI从零开始创建一个宫崎骏的世界
- 搭建Jumpserver服务器管理公司服务器