文章目录

  • 明确问题
  • 理解数据
  • 处理数据
    • 异常值处理
    • 标签处理
    • 新增计算列
  • 数据分析
    • 分析思路
    • 描述性分析
    • 探索性分析
      • 送达总时长时间过长,导致的差评
      • 骑手个人行为导致的差评
      • 商户行为导致的差评
      • 其他评价标签的白描
  • 建议

明确问题

美团骑手出现差评的原因是什么?影响因素是哪些?并给出改善方案。(骑手姓名重复默认为同一个骑手;同一个骑手可能在不同站点出现差评)
数据时间:无;数据地点:站点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代码实现相关推荐

  1. 美团 python_Python | 美团差评数据分析

    目录:数据理解 数据清洗 分析思路 分析过程 总结与建议 一.数据理解 数据来源于美团面试题,考点是分析差评原因,并给出改善方案. 字段理解: 数据大小:542 * 11 备注:骑手姓名重复默认为同一 ...

  2. 某家具店差评数据分析

    某家具店差评售后数据分析 近日得到了一份某家具店的差评数据,本着锻炼自己的数据分析实战能力,我分析该数据集,下面是分析内容和步骤. 由于该数据集是内部数据,故不展示具体数据. 1.数据预处理和基本思路 ...

  3. 不同原因的美团差评,如何回复?

    往往,客户在给出差评时,一定是各种方面的原因使得客户不满,那么商家一定要态度真诚地回复客户,帮助客户解决问题,拉近与客户之间的距离,让客户感受到诚意. 前言 不论是哪一行,差评的影响都非常大,都直接影 ...

  4. 618大促将至,用AI挖掘差评,零代码实现亿级评论观点情感分析

    马上就要到一年一度的618大促,我在添加购物车时,选择困难症又犯了. 如今的电商评论区,大量刷单行为淹没了重要的产品评价,有的被淹没在了追评区,有的甚至已经不分好评/中评/差评区了,而是"一 ...

  5. python编程大数据分析_大数据分析Python学习技巧

    大数据分析Python是任何开发人员都应该知道的重要编程语言.许多程序员使用这种语言来构建网站,创建学习算法以及执行其他重要任务.但是尝试学习大数据分析Python可能会令人感到恐惧,沮丧和困难,尤其 ...

  6. 为何总给外卖打差评?我们来数据分析一下!

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 燕雀安知鸿鹄之志哉? 本次项目使用 ...

  7. [爬虫-python]爬取京东100页的图书(机器学习)的信息(价格,打折后价格,书名,作者,好评数,差评数,总评数)

    Python爬取京东的机器学习类图书的信息 一,配置搜索关键字和页数, 二,查找用到的三个URL的过程 1. 搜索图书的URL 2. 评论总数,差评数,好评数的URL 3. 当前价格与打折前价格URL ...

  8. 美团外卖用户差评情况分析

    文章目录 分析背景和目的 数据集介绍 数据清洗 数据分析 1.站点分析 2.标签分析 2.1 送达超时标签分析 2.2 态度不好标签分析 3.总时长情况 建议 分析背景和目的 该数据源自美团面试分析题 ...

  9. 用Python实现手机抓包,获取当当图书差评数据!

    在这个万物互联的时代,手机端(App).电脑端(Web),连接着你我他. 本次学习了手机抓包的相关知识,了解了Charles-mitmproxy-Appium的基本使用,通过对当当图书评论的爬取,得以 ...

最新文章

  1. vue判断离开当前页面_js监听用户进入和离开当前页面
  2. 深入浅出python系列(一)包与模块
  3. 当机械课程设计遇上程序猿2017-12-19
  4. dhrystone测试结果_RTThread软件包可以对MCU进行性能测试,跑一个试试!
  5. Java TDD简介–第1部分
  6. 信息学奥赛一本通C++语言——1097:求阶乘的和
  7. php抽象类的构造函数,抽象类的构造函数
  8. [转]Android截屏及图片解析
  9. 在WinForm中使用Web Service来实现软件自动升级
  10. jQuery入门[1]-构造函数
  11. vue报错 Uncaught (in promise) NavigationDuplicated {_name:““NavigationDuplicated“... 的解决方法
  12. 当你发现你的Alter报错的时候请看看是不是粗心了
  13. maven jersey mysql_Maven和Jersey Framework开发REST风格Web Service
  14. 数理统计复习笔记四——区间估计
  15. 微软建议用户关闭Win7桌面小工具和侧边栏
  16. c# - - - 使用Chloe框架连接PostgreSQL数据库
  17. 小学计算机基础知识思维导图,简单易懂的小学除法思维导图
  18. 无线上外网,有线上内网的方式
  19. android 常用加密,Android的加密缓存(上)--JCA基础
  20. kubeadm快速部署一套K8S集群

热门文章

  1. Django (八) 中间件验证码富文本缓存
  2. 服务网关zuul之二:过滤器--请求过滤执行过程(源码分析)
  3. BZOJ 3362 Navigation Nightmare 带权并查集
  4. Linux Kernel ‘mp_get_count()’函数本地信息泄露漏洞
  5. A star算法优化二
  6. 怎么让sublime text3可以运行c/c++
  7. 糟糕的C语言睡眠排序算法
  8. 你知道GNU C 对C语言的扩展吗?
  9. 我这几年呆的这几个公司
  10. 电信无线网服务器是什么,怎样使用路由器共享电信天翼无线网络