面向算法效果的数据统计案例

        现在需要做一个关于推荐算法的效果统计报表。产品希望知道算法在每个相关指标的效果如何,比如点击率,注册率。另外,算法工程师想知道算法的预估的效果和最终效果的差异有多大,比如预估的点击率和实际点击率的差异。

        来看看我们的思路:首先,延续我们做业务统计的经验,投放效果的公式很容易得到;另外,算法工程师在日志里给出了每次算法的预估效果。

 产品经理算法工程师
需求算法的效果算法预估效果与算法真实效果的差异
计划

使用业务统计的效果公式计算算法效果。

1.使用业务统计的效果公式计算算法效果

2.利用日志中的算法预估效果

        我们的第一版统计很快就出来了:点击率=总点击量/总展现量;预估点击率=总的预估点击量/总展现量。注册率=总注册量/总点击量;预估注册率=总的预估注册量/总的预估点击量=(点击后的预估注册量+展现后的预估注册量)/总的预估点击量。产品经理和算法工程师也很快的反馈了意见。

 产品经理算法工程师
反馈并非所有的展现都被算法处理过。展示出来的结果不符合预期
修改方案

调整公式为算法处理过的点击和展示。

SUM(IF(e_ctr>0,click_num,0))/SUM(IF(e_ctr>0,show_num,0))

*e_ctr是算法预估的点击率。有这个值代表算法处理过。

1.点击率的预估公式调整为

 SUM(IF(e_ctr>0,show_num*e_ctr,0))/SUM(IF(e_ctr>0,show_num,0))

2.预估注册量修改定义为算法干预过,且点击过的注册量

SUM(IF(e_ctr>0 AND CtoR>0,click_num*CtoR,0))

3.实际注册量修改为算法干预过,且点击过的注册量

SUM(IF(e_ctr>0 AND CtoR>0 AND click_num>0,reg_num,0))

*CtoR表示算法预估的点击导致注册的预估率

         如此修改的目的:

  1. 简化公式,让使用者可以看到最终一环的效果。
  2. 明确的文案定义,防止歧义解释。
  3. 算法预估的结果连续使用,将导致预估值非常小,失去意义,应该避免。
  4. 统计逻辑简单化,方便核对

         统计报表不应该有太复杂的逻辑,查找问题的链条会变得非常长。文案的解释应当明确,尤其是作为描述较复杂的业务的报表。 业务逻辑复杂的情况下,应该层层环节用独立的报表来描述,避免数据使用者的疑惑和降低数据问题查找的困难度。  

相关推荐