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需要完成状态等。
验证:等待数据中,过段时间来汇报