SELECT cityname, avg(移动时间),avg(移动距离),avg(服务时间), count(t1.orderid)
FROM(
SELECT orderid, taskstatus, cityname,TIMESTAMPDIFF(second,start_time,end_time) AS 移动时间,distance as 移动距离, TIMESTAMPDIFF(second,accept_time,order_end_time)as 服务时间
FROM 表
WHERE orderstatus =订单完成状态 and taskstatus = 服务完成状态 ) t1
JOIN(
#目的是找到仅一个服务人员就完成的订单,排除异常状态
SELECT *
FROM(
SELECT orderid, COUNT(taskstatus) as only_one_task
FROM 表
WHERE orderstatus =订单完成状态
GROUP BY orderid) t
WHERE only_one_task = 1) t2
#通过订单id相同关联两个表
ON t1.orderid = t2.orderid
#按城市划分
GROUP BY cityname;
新的派单排序策略上线了——更换了服务资源的选择顺序,为了验证其效率需要进行数据分析。
这里,我采用的分析思路是假设,分析,验证的方式
假设:新策略会带来更短的移动距离和时间,和更快的做单时间
分析:对比方式。即用以往的订单数据进行分析,但根据具体业务场景需要特别注意几点:城市维度(每个城市的资源排布都不同),订单异常情况(即异常数据如何处理)。
在处理异常情况上花的时间比较久,最后是采用忽略非正常订单的数据方式进行对比:如一个order对应一个task, order需要完成状态等。
验证:等待数据中,过段时间来汇报