1.背景:目前由于包裹重出现比毛重大或者少的情况,导致刊登上架产品时,价格计算错误,导致定价过高无人购买,定价过低亏本出货,导致整天的利润率整体偏低(忽高忽低)。
2.价值说明:刊登调用的重量更加平均,提高出单的率同时,把整体的利润率提升5%以上
3.价值量:利润率提升5%以上。
4.真实的数据分析结果如下
K=1.5 , 异常核查数= 3885条, 异常率=3885/7111 =54.6%
K=2 , 异常核查数= 3270条, 异常率=3270/7111 =45.9%---------建议这个就可以了,K值可以配置,方便后面调整
K=2.5 , 异常核查数= 2931条, 异常率=2931/7111 =41%
K=3 , 异常核查数= 2590条, 异常率=2590/7111 =36.4%
1.必须是【客户订单】+【单品单件】包裹称重完成后,运费计算服务执行时,算法如下
①总公式:产品包裹重=称重值相加 / N次称重
A.若SKU称重次数 ≤ 3 次,则加权后的包裹重= 包裹A+B+C / SKU称重次数 (小于等于3次称重数据的,不需要使用四分位算法)
B.若4次 ≤ SKU称重次数 ≤ 15次(近15次,超过15也取15次),则加权后包裹重=包裹A+B+C .... / SKU称重次数 , 必须使用【四分位算法】K值默认取2(可进行修改参数),该算法自动选出异常的包裹值进行排除,正常包裹重值才进行加权计算,然后累加后 除以 N次称重
③若同一个包裹号有打回称重或重复称重时,会产生重复的的称重数据,只取最新更新的一条数据纳入计算。(可考虑去重复或者直接替换更新的方式处理)
④增量加权计算服务,每天执行一次且有包裹重量更新的产品才增加到产品库中。(晚上凌晨2~5点之间执行即可)
⑤最终的计算结果保留整数,且加权后插入产品的日志类型 需修改为“称重日志”。

2.测试案例的场景说明(禅道需求中含大量的测试案例)
①若2个包裹重 D01-20g,D02-30g 则结果= 20+30 / 2= 25g
②若3个包裹重 同上
③若4个及以上包裹重 D01-172g,D02-182,D03-184g,D04-184g,D05-184g 则因为称重次数超过4次, 故使用四分位算法后,正常包裹重182,184,184,184,异常包裹重:172,则结果=182+184+184+184 /4=184 (实际的结果为183.5,保留整数)
注:http://10.158.158.22:8080/wgtest.aspx 四分位算法测试工具,附件有大量的测试案例
3. 产品库-》基础信息,包裹重字段的问号提示语修改如下
①公式:产品包裹重=称重值相加 / N次称重
②若SKU发货次数 ≤ 3 次,则产品包裹重=称重值相加 / 条数
③若4次 ≤ SKU称重次数 ≤ 15次(近15次,超过15也取15次),则加权后包裹重=包裹A+B+C .... / SKU称重次数 ,则用异常包裹排除算法。
④案例说明(异常包裹排除法)
A.若2个包裹重 D01-20g,D02-30g 则结果= 20+30 / 2= 25g
B.若3个包裹重 同上
C.若4个及以上包裹重 D01-172g,D02-182,D03-184g,D04-184g,D05-184g 则算法执行后得出,正常包裹重182,184,184,184,异常包裹重:172,则包裹重=182+184+184+184 /4=184 (结果为183.5,保留整数).
4. 特殊要求:
①开发组长必须要构建好如何观察异常数据的机制 和出了问题后如何恢复或者修改正确的数据,才更新到产品库。
②开发人员必须要自测并且附带截图,否则测试人员可以拒绝测试。
5.详细执行流程如下图


特殊癖好:开发人员要做好自测,必须要有截图自测,否则测试可以拒绝。
测试人员做好监督,上线后不允许出现异常,否则要请我和开发组长喝饮料。

四分位算法的代码实现跟原先的有点差异,需要验证一下具体使用哪个版本