美团差评数据分析,python代码实现
文章目录
- 明确问题
- 理解数据
- 处理数据
- 异常值处理
- 标签处理
- 新增计算列
- 数据分析
- 分析思路
- 描述性分析
- 探索性分析
- 送达总时长时间过长,导致的差评
- 骑手个人行为导致的差评
- 商户行为导致的差评
- 其他评价标签的白描
- 建议
明确问题
美团骑手出现差评的原因是什么?影响因素是哪些?并给出改善方案。(骑手姓名重复默认为同一个骑手;同一个骑手可能在不同站点出现差评)
数据时间:无;数据地点:站点A-E;核心业务指标:顾客配送评分;比较对象:差评订单信息记录。
理解数据
序号:差评订单序号;
站点名称:站点A-F,查找发现美团站点就是美团商家。
骑手名称:骑手姓名;
顾客配送评分:顾客对配送订单的打分;
顾客配送评价标签:顾客针对配送订单选择的评价标签;
顾客评价内容:顾客手动填写的针对配送订单的评价内容;
订单备注:顾客手动填写的针对订单的备注内容;
骑手接单时长:顾客下单后到骑手接单之间所花时长;单位:分钟;
到店时长:骑手接单后到指定站点的时长;单位;分钟;
到店等餐时长:骑手到达指定站点后等待餐好所花时长;单位:分钟;
送达时长:骑手取餐后送至顾客处所花时长;单位:分钟。
处理数据
data.describe()
发现送达时长存在0这一不符合常理值,需要重点关注该值看做哪种操作,同时骑手接单时间259分钟的也需要关注,是何原因
异常值处理
data.query('送达时长==0')
#data[(data['送达时长']==0)] 数据量大使用query速度更快
查看该订单发现,实际送达时间为52min,不到三公里路程,可能是骑手直接点了送达,或者是系统错误,手动修正
data.loc[data.送达时长==0,'送达时长'] = 52
data.query('骑手接单时长>259')
该接单时长过长可能是位置偏远等问题,不需要做特殊处理
标签处理
data['顾客配送评价标签'].unique()
新增计算列
data=pd.merge(data,(data['顾客配送评价标签'].str.split('|',expand=True,n=1)),how='left',left_index=True,right_index=True)
data.rename(columns={0:'顾客配送评价标签1',1:'顾客配送评价标签2'},inplace=True)
data.info()
data.loc[:, '取餐时长'] = data['骑手接单时长'] + data['到店时长']+ data['到店等餐时长']
data.loc[:, '总时长']=data['取餐时长']+data['送达时长']
data
数据分析
分析思路
描述性分析
data.describe()
骑手接单时长、到店时长、到店等餐时长大部分的数值都在正常范围内,不是造成差评的主要原因,但上诉原因可能会影响总时长,由于在目前的数据中,没有更多的数据支撑,所以无法得出详细的结论,重点关注这些超过正常范围的订单,查看具体情况,分析原因。
data['顾客配送评价标签1'].value_counts()
差评原因在该份数据中大概集中在九类,其中送达超时、态度不好、其他、少餐/洒餐占了差不多4/5,其中送达超时占比最大,需要重点改进
data['站点名称'].value_counts()
差评商家在该份数据中,站点C、A、B得到的差评尤为多,需要重点关注,针对性的调整改善
data['骑手名称'].value_counts().describe()
骑手差评次数在该份数据中,75%的骑手都在一次左右,其中李,陈,刘,王差评次数大于5次,(骑手姓名重复默认为同一个骑手,所以不考虑*所代表的其他字符),上述四人数据需重点查看差评多的原因,做针对性调整安排。
data['骑手名称'].value_counts().head(40)
差评数前40名 分别是以上人员,需要对其进行专项培训,找出原因专项整治。
探索性分析
送达总时长时间过长,导致的差评
listBins = [0, 10, 20, 30, 40, 50, 60, 70,80,90,100,1000]
listLabels = ['0_10','11_20','21_30','31_40','41_50','51_60','61_70','71_80','81_90','91_100','101及以上']
data['总时长分布'] = pd.cut(data['总时长'], bins=listBins, labels=listLabels, include_lowest=True)
data['总时长分布'].value_counts()
从订单完成总时长分布可知,订单完成总时长主要分布在20-90分钟内。差评订单数前三分别是31_40,41_50,21_30。送达总时长过长是导致顾客差评的关键影响因素。同时由该分布可得出初步结论,三十分钟是一个可判断是否好差评的“魔法数字”,但正确与否,需要更多的数据来验证。
data['总时长分布'].value_counts('顾客配送评价标签1'=='送达超时')
data[data['顾客配送评价标签1']=='送达超时'].count()['总时长分布']
data[data['顾客配送评价标签1']=='送达超时'].groupby(['总时长分布']).总时长分布.count().sort_values(ascending=False)
从送达超时的订单完成总时长分布可知,订单完成总时长主要分布在40-70分钟内。41-50分钟内的差评订单数最多,可以优先匹配距离顾客近、熟悉顾客周围区域的骑手,尽量保证30分钟内送达。除此之外还存在0-15以及大于100的订单数,深入核查发现,11-20区间内的5个订单,有两个订单总订单完成时间小于15分钟,评价标签分别为“送达超时”和“提前点送达|送达超时|少餐/洒餐”,因此可能是顾客故意差评/不小心点到该标签。时长大于100分钟的订单数,深入核查发现,骑手接单时长、送达时长过长,其中有1条顾客评价表明骑手不熟悉路并且不主动联系顾客,针对这一现象,鼓励骑手有礼貌地提取询问顾客。
data[data['顾客配送评价标签1']=='送错餐品'].groupby(['总时长分布']).总时长分布.count().sort_values(ascending=False)
data[data['顾客配送评价标签1']=='少餐/洒餐'].groupby(['总时长分布']).总时长分布.count().sort_values(ascending=False)
从少餐/洒餐订单的总送达时长分布中可知,31-40分钟区间的订单数最多,其次是21-30分钟区间,可能因为骑手担心送达超时差评,所以取餐过于着急,送餐速度过快,导致送餐出错,少拿餐品,甚至外卖箱内的餐品倾洒,反而影响了顾客的食用体验。
可以鼓励商家使用更密封的餐盒,减少餐品倾洒现象的出现;同时可以设置骑手在店内取餐时,核对餐品,避免出现少餐现象。
骑手个人行为导致的差评
data[data['顾客配送评价标签1']=='态度不好'].groupby(['骑手名称']).骑手名称.count().sort_values(ascending=False).describe()
态度不好的骑手,在该数据中有82个,超过一次态度不好的骑手大概有20个,最多的次数有三次。可以对态度不好的骑手进行提示,多次得到态度不好差评者,应给予相应的惩罚和教育,或限制对应骑手接单次数,待好评率达到标准后,再恢复正常接单。
data[data['顾客配送评价标签1']=='提前点送达'].groupby(['骑手名称']).骑手名称.count().sort_values(ascending=False).describe()
提前点送达的骑手在该数据中,有33个,都是一次,推测可能是在发现该行为以后平台进行了干预,但不能说没有多次行为就可以忽视该行为,后续骑手培训,规范等都需要重视
data[data['顾客配送评价标签1']=='仪表不整'].groupby(['骑手名称']).骑手名称.count().sort_values(ascending=False).describe()
仪表不整的骑手在该数据中,有11个,都是一次,推测可能是在发现该行为以后平台进行了干预,但不能说没有多次行为就可以忽视该行为,后续骑手培训,规范等都需要重视
data[data['顾客配送评价标签1']=='骚扰威胁'].groupby(['骑手名称']).骑手名称.count().sort_values(ascending=False).describe()
骚扰威胁这个虽然只有一个骑手的一次行为,但这是在服务业严禁允许的,需要加强该方面的管控,强力整治。
商户行为导致的差评
listBins = [0, 10, 20, 30, 40, 50, 60]
listLabels = ['0_10','11_20','21_30','31_40','41_50','51_60']
data['等餐时长分布'] = pd.cut(data['到店等餐时长'], bins=listBins, labels=listLabels, include_lowest=True)
data['等餐时长分布'].value_counts()
取餐时长集中在10分钟以内,处于合理区间,因此推断这不是导致差评的主要原因。
data[data['顾客配送评价标签1']=='少餐/洒餐'].groupby(['站点名称']).站点名称.count().sort_values(ascending=False)
无法得出是否对差评有影响结论
data[data['顾客配送评价标签1']=='送错餐品'].groupby(['站点名称']).站点名称.count().sort_values(ascending=False)
无法得出是否对差评有影响结论
但可对站点C、A、B进行专项研究,分析具体原因。
其他评价标签的白描
包含“其他”差评标签的记录共112条,其中仅有“其他”差评标签的数据记录为75条。由于数据条数较少,所以人工核查“其他”差评发生的具体原因,如果数据条数过多,需另行采取方法。通过顾客评价内容发现,存在各种各样的原因,大致归为菜品不满意、没有送至楼上、骑手仪表态度、配送过慢以及不明原因。
可以根据顾客评价内容优化差评标签选择,精细化归类,鼓励顾客选择“其他”差评原因时,手动输入具体差评原因,避免恶意差评现象。
建议
从用户使用外卖软件的流程出发,在以下几个方面给出运营解决方案,以改善差评订单数:
用户下单
鼓励用户备注个人需求,如“少油少盐”等标签,方便站点配餐,提高用户用餐满意度。
顾客下单时,对预计等待时间进行说明,骑手接单时间超过某值时对顾客进行温馨提醒,确定顾客是否愿意继续等待。
可以设置送达时间区间,小于送达时长上限时顾客不能评价送达超时。可以为顾客设置温馨提醒,周围无骑手,如继续等待可能等待多久时间,避免顾客等候时间过长,给出差评的现象。
骑手接单
可以设置地区标签,骑手选择自己熟悉的地区标签,在顾客下单后,优先从熟悉该地区的骑手中派单;
骑手到店取餐
骑手到店等餐取餐应核对顾客点单,防止取错餐/少餐。
站点配餐
站点配餐尽量选用密封性强的餐盒,减少食物倾洒的现象;
在店铺中明确标注菜品口味,避免顾客盲目选择与自己口味不合的餐品,给出差评;
注意顾客针对餐品的备注标签。
骑手送餐
如果是对顾客所在区域并不熟悉的骑手,可以在骑手接单时提醒顾客,并鼓励骑手主动询问顾客路线,减少送达超时现象;
鼓励骑手在每天上班时进行仪容仪表打卡,确保派餐骑手仪容仪表过关;
对出现态度不好差评的骑手进行提醒,如若多次出现态度不好的差评,可以限制对应骑手接单数,待满足好评率/态度不错的好评标签条件后,再恢复骑手接单量。
优先匹配距离站点、顾客距离较近的骑手接单,减少骑手为赶时间,不能安全行驶,同时少餐/洒餐的现象;
可以限制骑手同一时间的最高接单量,避免骑手接单过多,导致送错餐/送达超时/洒餐等。
顾客评分
可以根据顾客评价内容优化差评标签选择,精细化归类,鼓励顾客选择“其他”差评原因时,手动输入具体差评原因,避免恶意差评现象。
美团差评数据分析,python代码实现相关推荐
- 美团 python_Python | 美团差评数据分析
目录:数据理解 数据清洗 分析思路 分析过程 总结与建议 一.数据理解 数据来源于美团面试题,考点是分析差评原因,并给出改善方案. 字段理解: 数据大小:542 * 11 备注:骑手姓名重复默认为同一 ...
- 某家具店差评数据分析
某家具店差评售后数据分析 近日得到了一份某家具店的差评数据,本着锻炼自己的数据分析实战能力,我分析该数据集,下面是分析内容和步骤. 由于该数据集是内部数据,故不展示具体数据. 1.数据预处理和基本思路 ...
- 不同原因的美团差评,如何回复?
往往,客户在给出差评时,一定是各种方面的原因使得客户不满,那么商家一定要态度真诚地回复客户,帮助客户解决问题,拉近与客户之间的距离,让客户感受到诚意. 前言 不论是哪一行,差评的影响都非常大,都直接影 ...
- 618大促将至,用AI挖掘差评,零代码实现亿级评论观点情感分析
马上就要到一年一度的618大促,我在添加购物车时,选择困难症又犯了. 如今的电商评论区,大量刷单行为淹没了重要的产品评价,有的被淹没在了追评区,有的甚至已经不分好评/中评/差评区了,而是"一 ...
- python编程大数据分析_大数据分析Python学习技巧
大数据分析Python是任何开发人员都应该知道的重要编程语言.许多程序员使用这种语言来构建网站,创建学习算法以及执行其他重要任务.但是尝试学习大数据分析Python可能会令人感到恐惧,沮丧和困难,尤其 ...
- 为何总给外卖打差评?我们来数据分析一下!
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 燕雀安知鸿鹄之志哉? 本次项目使用 ...
- [爬虫-python]爬取京东100页的图书(机器学习)的信息(价格,打折后价格,书名,作者,好评数,差评数,总评数)
Python爬取京东的机器学习类图书的信息 一,配置搜索关键字和页数, 二,查找用到的三个URL的过程 1. 搜索图书的URL 2. 评论总数,差评数,好评数的URL 3. 当前价格与打折前价格URL ...
- 美团外卖用户差评情况分析
文章目录 分析背景和目的 数据集介绍 数据清洗 数据分析 1.站点分析 2.标签分析 2.1 送达超时标签分析 2.2 态度不好标签分析 3.总时长情况 建议 分析背景和目的 该数据源自美团面试分析题 ...
- 用Python实现手机抓包,获取当当图书差评数据!
在这个万物互联的时代,手机端(App).电脑端(Web),连接着你我他. 本次学习了手机抓包的相关知识,了解了Charles-mitmproxy-Appium的基本使用,通过对当当图书评论的爬取,得以 ...
最新文章
- vue判断离开当前页面_js监听用户进入和离开当前页面
- 深入浅出python系列(一)包与模块
- 当机械课程设计遇上程序猿2017-12-19
- dhrystone测试结果_RTThread软件包可以对MCU进行性能测试,跑一个试试!
- Java TDD简介–第1部分
- 信息学奥赛一本通C++语言——1097:求阶乘的和
- php抽象类的构造函数,抽象类的构造函数
- [转]Android截屏及图片解析
- 在WinForm中使用Web Service来实现软件自动升级
- jQuery入门[1]-构造函数
- vue报错 Uncaught (in promise) NavigationDuplicated {_name:““NavigationDuplicated“... 的解决方法
- 当你发现你的Alter报错的时候请看看是不是粗心了
- maven jersey mysql_Maven和Jersey Framework开发REST风格Web Service
- 数理统计复习笔记四——区间估计
- 微软建议用户关闭Win7桌面小工具和侧边栏
- c# - - - 使用Chloe框架连接PostgreSQL数据库
- 小学计算机基础知识思维导图,简单易懂的小学除法思维导图
- 无线上外网,有线上内网的方式
- android 常用加密,Android的加密缓存(上)--JCA基础
- kubeadm快速部署一套K8S集群
热门文章
- Django (八) 中间件验证码富文本缓存
- 服务网关zuul之二:过滤器--请求过滤执行过程(源码分析)
- BZOJ 3362 Navigation Nightmare 带权并查集
- Linux Kernel ‘mp_get_count()’函数本地信息泄露漏洞
- A star算法优化二
- 怎么让sublime text3可以运行c/c++
- 糟糕的C语言睡眠排序算法
- 你知道GNU C 对C语言的扩展吗?
- 我这几年呆的这几个公司
- 电信无线网服务器是什么,怎样使用路由器共享电信天翼无线网络