欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

面向算法效果的数据统计案例 博客分类: 工作经验

程序员文章站 2024-03-15 10:13:29
...

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

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

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

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

 

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. 统计逻辑简单化,方便核对

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