背景

随着企业日常经营活动的进行,企业内部必然产生了各式各样的数据,如何利用这些数据得出有益的见解,并支持我们下一步的产品迭代以及领导决策就显得尤为重要。

A/B测试是互联网企业常用的一种基于数据的产品迭代方法,它的主要思想是在控制其他条件不变的前提下对不同(或同一、同质)样本设计不同实验水平(方案),并根据最终的数据变现来判断自变量对因变量的影响;A/B测试的理论基础主要源于数理统计中的假设检验部分,此部分统计学知识读者可自行探索。

数据说明

数据包括test.xlsx和city.xlsx两个数据集,test.xlsx为某次A/B test的数据集,利用该数据集判断实验条件对此次测试效果的影响是否显著。
city.xlsx为某城市的运营数据,利用该数据集探讨某高峰时间段的乘客需求得不到满足的原因,根据结论辅助决策

1.A/B test

1.1 计算投资回报率ROI

#计算优惠券投入相对gmv的ROI(投资回报率ROI = 收回价值/成本投入 *100%,这里的“收回价值”所表达的是收回了多少而非利润)
test['ROI']=test['gmv']/(test['coupon per trip']*test['trips'])
test.head()

1.2 requests检验

test.shape

requests方差齐次检验

1.记两组requests方差分别为c1,c2
2.零假设H0:c1 = c2,备择假设H1:c1 != c2
3.显著性水平取 0.05

requests_A = test[test.group =='control'].requests
requests_B = test[test.group =='experiment'].requestsimport scipy.stats as st
st.normaltest(requests_A)
print('requests_A的正态性检验结果为:',st.normaltest(requests_A))
st.normaltest(requests_B)
print('requests_B的正态性检验结果为:',st.normaltest(requests_B))
# st.levene(requests_A,requests_B)


认为requests_A,requests_B近似服从正态分布

这里说一下什么是方差分析:
方差分析就是方差齐性的检验
什么是方差齐性,方差齐性是指不同组间的总体方差是一样的
那为什么方差分析的前提是要组间的总体方差保持一致呢?先想想方差分析是做什么呢?
方差分析是用来比较多组之间的均值 是否存在显著差异的!!!!
也就是说,假如多组之间方差不一致,也就意味着值的波动是不一样的,如果此时均值之间存在显著差异,不一定能够说明这种显著差异是不同组之间带来的,而有可能是方差较大带来的;
如果多组之间的方差保持一致,也就意味着组与组之间的值的波动程度差不多,这时候在方差波动程度相同的情况下,如果不同组之间的均值存在显著差异,那么可以认为是不同组间处理带来的。

print(st.levene(requests_A,requests_B))
#levene适用于总体非正态的检验
print(st.bartlett(requests_A,requests_B))
#bartlett检验,通过求取不同组之间的卡方统计量,
#然后根据卡方统计量的值来判断组间方差是否相等。
#该方法极度依赖数据服从正态分布

这里用的levene检验,它适用于总体非正态的数据。

requests均值检验

1.该数据为同一样本实验前后的不同水平,因此选用配对样本t检验。
2.记两组requests均值分别为u1,u2
3.零假设H0:u1=u2;备选假设H1:u1≠u2
4.显著性水平取0.05

#配对样本t检验
st.ttest_rel(requests_A,requests_B)

1.3 gmv检验

同理对gmv进行方差和均值检验

gmv方差齐次性检验

gmv_A = test[test.group =='control'].gmv
gmv_B = test[test.group =='experiment'].gmv
import scipy.stats as st
st.normaltest(gmv_A)
print('gmv_A的正态性检验结果为:',st.normaltest(gmv_A))
st.normaltest(gmv_B)
print('gmv_B的正态性检验结果为:',st.normaltest(gmv_B))
# st.levene(requests_A,requests_B)
#gmv_A值接近0.05,近似认为正态分布;
#gmv_B大于0.05,服从正态分布


1.记两组gmv方差分别为d1,d2
2.零假设H0:d1 = d2,备择假设H1:d1 != d2
3.显著性水平取 0.05

#方差检验
print(st.levene(gmv_A,gmv_B))
print(st.bartlett(gmv_A,gmv_B))
#bartlett检验,通过求取不同组之间的卡方统计量,
#然后根据卡方统计量的值来判断组间方差是否相等。
#该方法极度依赖数据服从正态分布。

gmv均值检验

1.该数据为同一样本实验前后的不同水平,因此选用配对样本t检验。
2.记两组gmv均值分别为v1,v2
3.零假设H0:v1=v2;备选假设H1:v1≠v2
4.显著性水平取0.05

#配对样本t检验(两独立样本t检验之前需检验是否齐方差,此处不需要)
st.ttest_rel(gmv_A,gmv_B)

1.4 ROI检验

同理对ROI进行齐方差和均值检验。

ROI方差检验

1.记两组gmv方差分别为e1,e2
2.零假设H0:e1 = e2,备择假设H1:e1 != e2
3.显著性水平取 0.05

#levene检验ROI是否齐方差ROI_A=test[test.group=='control'].ROI
ROI_B=test[test.group=='experiment'].ROIst.levene(ROI_A,ROI_B)

ROI均值检验

1.该数据为同一样本实验前后的不同水平,因此选用配对样本t检验。
2.记两组ROI均值分别为w1,w2
3.零假设H0:w1=w2;备选假设H1:w1≠w2
4.显著性水平取0.05

#配对样本t检验(两独立样本t检验之前需检验是否齐方差,此处不需要)
st.ttest_rel(ROI_A,ROI_B)

2.城市运营分析

city

#数据预处理
#有无缺失值
city.info()

#有无重复值
city.duplicated().sum()


无冗余值

2.1 数据探索

2.1.1单数最多的时间点

req_hour = city.groupby('hour').agg({'requests':sum},inplace = True)
req_hour.reset_index(inplace = True)
req_hour

import seaborn as sns
sns.set_style('white')
plt.figure(figsize = (8,5),dpi = 200)
plt.bar(req_hour.hour,req_hour.requests,width = 0.35,label = 'requests')
plt.xticks(req_hour.hour)
plt.legend()


午高峰出现在12点,订单需求量达到了8530,其次是13点,最后是11点平台在该时段需考虑增大车辆供应。

2.1.2 单量最多日期

req_day= city.groupby('date').agg({'requests':sum}).reset_index()
req_day

mpl.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus']=False
fig,axes = plt.subplots(dpi = 200,figsize = (9,6))
plt.plot(req_day['date'],req_day['requests'],label = 'requests')
plt.xticks(size =15,rotation = 90)
plt.title('每日订单请求变化趋势')
plt.legend()


1.请求订单数呈现周期性规律变化,周末出行需求旺盛,是订单需求高峰且12时为每日需求高峰,平台需要考虑在周末或者节假日增大车辆供应,
2.考虑到部分司机周末休息的情况,因此可健全给予周末接单的滴滴司机额外奖励的机制,激发司机的接单意愿,同时保障乘客的出行需求

2.1.3 各时间段的订单完成率

com_hour = city.groupby(['hour'],as_index=False).agg({'requests':sum,'trips':sum},inplace=True)
com_hour['rate']=com_hour['trips']/com_hour['requests']
com_hour


13时的订单完成率仅为47%,即超过一半的订单未得到及时接应,运营部门需重点关注13时低完成率的原因,进一步优化该时间段的订单接受、派发机制

2.1.4每日订单完成率

com_day = city.groupby(['date'],as_index=False).agg({'requests':sum,'trips':sum},inplace=True)
com_day['rate'] = com_day['trips']/com_day['requests']
com_day

fig,axes = plt.subplots(dpi = 200,figsize = (9,6))
plt.plot(com_day['date'],com_day['rate'],label = 'rate')
plt.xticks(size =15,rotation = 90)
plt.title('每日接单率变化趋势')
plt.legend()


1.9月的3,11,13号接单率均低于40%,尤其是9月11日的该时段内的接单率更是直接降到23.35%。
2.引起9-11接单率较低原因可能是受前一日订单较少影响,许多司机担心订单数量依然较少,便没有第二日出门的接单意愿。
3.引起9-13接单率较低原因可能是当日为周五,乘客出行需求旺盛,但受前几日订单需求较少的情绪影响,司机接单意愿不高。
4.当日的司机流失率较高,公司的奖励机制、订单派发逻辑以当日出行需求的预判不准确都可能导致接单率较低,这会极大影响乘客出行体验,需要对这部分内容及时完善。

2.1.5 顾客等待时间

eta_hour = city.groupby(['hour'],as_index=True).agg({'pETA':np.mean,'aETA':np.mean},inplace=True)
eta_hour

plt.rcParams['figure.dpi']=200 #图像分辨率
plt.rcParams['figure.figsize'] =(11,8)#图像显示大小
eta_hour.plot(kind = 'bar')
plt.xticks(rotation = 0)
plt.ylabel('ETA/h')
plt.title('顾客各时段等待时间')


1.乘客的实际等待时间都长于预计等待时间,该时长预测算法有待改进,可以考虑结合司机的历史到达时间以及实况路段信息对算法进行改进;
2.优化订单派发的路径规划机制,保证乘客的等待时间不至于过长;
3.另一方面可以在11—13点的出行高峰设置接单奖励机制,给予司机该时段订单完成后的额外奖励

2.1.6 司机各时间段平均在忙率

city['busy'] = city['supply hours'] *city['utiliz']
city

busy_hour = city.groupby('hour').agg({'supply hours':sum,'busy':sum})
busy_hour['busy_rate'] = busy_hour['busy']/busy_hour['supply hours']
busy_hour


12点依旧是司机繁忙的高峰期,运营部门应考虑如何激励该时段的司机接单意愿,以加大车辆的投入满足该时段的出行需求。

总结:
1.接单率低原因
1)数据传输问题;
2)外部不可控因素:pest模型
3)内部因素:运营部门未及时意识到当日的订单需求过大导致的车辆供应不足;
4)逻辑树定位接单率低原因:三个维度:
(1)乘客出行需求相比以往,过于旺盛;
(2)司机接单意愿受前几日的情绪影响,奖励机制不足;
(3)系统的订单派发系统问题
2.出行高峰考虑加大车辆投入,并设立该时段的订单完成额外奖励机制。
3.结合司机的历史到达时间以及实况路段信息对算法进行改进,提升等待时长的预测算法性能,优化订单派发逻辑。
4.优化出行的路径规划,避开繁忙、拥挤路段,降低订单完成时间和司机在忙率。

注:全文参考https://www.heywhale.com/mw/project/5f06b0193af6a6002d0fa357

滴滴运营A/Btest城市运营分析相关推荐

  1. 运营商线路细分_电信运营行业细分领域分析

    电信运营行业细分领域分析 第一节 eSMI 卡时代 一.发展现状 (一) eSIM 卡介绍 SIM 卡向着微型化发展,但始终需与运营商绑定. SIM ( Subscriber Identity Mod ...

  2. 全球及中国认知文档处理行业运营策略与应用前景分析报告2022版

    全球及中国认知文档处理行业运营策略与应用前景分析报告2022版 --------------------------------------- [修订日期]:2021年12月 [搜索鸿晟信合研究院查看 ...

  3. 计算机网络在城市轨道交通运营中的应用,开题报告-GIS在宁波城市轨道交通建设、管理与运营中的应用分析.doc...

    毕业论文开题报告 地理科学 GIS在宁波城市轨道交通建设.管理与运营中的应用分析 一.选题的背景与意义 目前我国许多大城市正在筹备修建城市轻轨交通系统,以解决日益突出的交通问题:作为一种大容量.快捷. ...

  4. 社群运营的用户画像分析有哪些方法?

    社群运营中有个很关键的因素就是用户画像分析,为什么会有这个喃?那是因为只有通过对用户进行画像分析,商家才可以有效的掌握用户的准确信息,并通过画像分析出来的结果对用户进行分群.分层,最后有针对性的进行用 ...

  5. 中国智能电饭煲行业运营模式及趋势预测分析报告2022-2028年版

    中国智能电饭煲行业运营模式及趋势预测分析报告2022-2028年版 +           第1章:智能电饭煲行业综述及数据来源说明1.1 智能电饭煲行业界定 1.1.1 智能电饭煲行业界定 1.1. ...

  6. 中国再生聚酯纤维市场运营现状及投资战略分析报告2022-2028年

    中国再生聚酯纤维市场运营现状及投资战略分析报告2022-2028年 ═━┈┈━══━┈┈━══━┈┈━══━    [出版机构]:  中商经济研究网 第一章 再生聚酯纤维概述 第一节 再生聚酯纤维定义 ...

  7. 全球及中国零信任远程浏览器隔离行业运营规划与应用前景分析报告2022版

    全球及中国零信任远程浏览器隔离行业运营规划与应用前景分析报告2022版 --------------------------------------- [修订日期]:2021年12月 [搜索鸿晟信合研 ...

  8. 最新调研-核心业务运营服务市场究分析报告

    辰宇信息咨询市场调研公司最近发布-<2022-2028中国核心业务运营服务场调研报告> 内容摘要 从产品类型方面来看,商品业务占有重要地位,预计2028年份额将达到 %.同时就应用来看,中 ...

  9. 全球及中国呼叫中心服务行业运营模式及发展战略分析报告2022-2028年

    全球及中国呼叫中心服务行业运营模式及发展战略分析报告2022-2028年 详情内容请咨询鸿晟信合研究院! [全新修订]:2022年3月 [撰写单位]:鸿晟信合研究网 2021年全球呼叫中心服务市场规模 ...

  10. 全球及中国留学咨询服务行业运营形势与发展前景分析报告2022版

    全球及中国留学咨询服务行业运营形势与发展前景分析报告2022版 --------------------------------------- [修订日期]:2021年12月 [搜索鸿晟信合研究院查看 ...

最新文章

  1. python 做个创越火线挂_一日一技:用Python做个能挂墙上的大钟表
  2. Chrome控制台使用详解
  3. 动态规划:记忆化搜索
  4. hdu 3572(最大流)
  5. 六种方法,做一名更好的开发者
  6. 可以生成自动文档的注释
  7. 分享一篇关于饿了么的需求文档
  8. DataSet数据筛选和排序
  9. 503组史诗电影预告片音效合集动作破坏冲击紧张大气音效库 Hybrid Trailer
  10. js 手机或者座机电话号码验证
  11. 积分运算电路的设计方法详细介绍
  12. acfun怎么下载视频
  13. 手机相机好坏测试软件,专业相机测试 画质表现均为中上等_手机评测-中关村在线...
  14. ca42a_demo_c++_new_delete表达式
  15. (轉貼) 馬英九特別費案起訴書全文 (News)
  16. [ROS] KDL + DH 参数 + 正解
  17. BIT-MiniCC——semantic+icgen(lab6语义分析6+lab7中间代码生成)
  18. tableau各种精典示例经验总结01
  19. mingw64官方下载地址
  20. 基于深度学习的旋翼无人机机械臂抓取

热门文章

  1. 【内部流出,勿做商用】今日教大家如何抢聚划算
  2. 伊利诺伊计算机专业本科好入吗,伊利诺伊大学香槟分校本科有计算机专业吗?...
  3. clover 隐藏没用的启动项
  4. C ++ primer
  5. C语言系列1——hello world
  6. tezos multisig baker
  7. IDEA Tomcat 无法加载mysql驱动
  8. Badboy 安装 使用 常见问题 badboy当前页面脚本发生错误
  9. 计算机显示用户不存在,电脑出现未知设备提示驱动安装类无效或不存在如何解决...
  10. CSS3 Transition