Sql 不同渠道之间收入的加权分配

Sql 不同渠道之间收入的加权分配,sql,Sql,我有两个表,一个是销售收入和会话计数以及导致销售的渠道。另一个表包含从开始到用户最后一次访问该站点的所有流量,包括导致销售的流量。例如: 表1 userID | sale session | channel | revenue -------------------------------------------------------- 6652 7 EMAIL 52.00 6832

我有两个表,一个是销售收入和会话计数以及导致销售的渠道。另一个表包含从开始到用户最后一次访问该站点的所有流量,包括导致销售的流量。例如:

表1

userID | sale session |       channel       |  revenue 
--------------------------------------------------------
6652         7               EMAIL               52.00
6832         3               DIRECT              64.32
 .           .                 .                   . 
 .           .                 .                   .
表2

userID | sessions |       channel       |  
----------------------------------------------
6652        1         Paid Search
6652        2         Organic Search NB
6652        3         Organic Search NB
6652        4         Display RT
6652        5         SEA Search Brand
6652        6         EMAIL
6652        7         EMAIL
6652        8         DIRECT
我们使用归因模型在不同渠道之间分配收入

如果我们只有一个频道(一个会话),那么100%的收入将流向该特定频道

如果我们有两个渠道(实际销售前只有一个渠道),我们将收入分成这两个渠道

如果我们有三个或三个以上的频道,我们将40%的频道分配给第一个频道,40%分配给第二个频道,20%分配给中间的其他频道

最后,我们将所有收入除以渠道,得出某个特定渠道占我们总收入的比例

在我们的例子中,“付费搜索”获得了$52.00的40%,“电子邮件”获得了40%,其余的20%进入了其余的频道(2/5为“有机搜索NB”,1/5为显示RT,1/5为“SEA搜索品牌”,1/5为“电子邮件”)。 第八次会议没有得到任何东西,因为它发生在销售完成时


如果有人能用SQL或任何其他算法提供解决方案,我将不胜感激。

根据您提到的结果,如果您有3个以上的频道,40%的频道会转到第一个(
“付费搜索”
)和最后一个(
“电子邮件”
)频道,不是吗?这个模型取自谷歌分析,叫做基于职位的。正如你所说的,第一个频道的40%,最后一个频道的40%,以及两个频道之间的20%。