原子指标与派生指标
原子指标是对指标统计口径算法的一个抽象,等于业务过程(原子的业务动作)+ 统计方式。例如,支付(事件)金额(度量),曝光(事件)次数(度量)。
不同的派生指标可能具有相同的原子指标,这样派生指标就定义了一种等价关系,而属于相同的原子指标就构成了一个对指标体系的划分。在每一个划分中,存在一个可以派生出其他指标的最小派生指标,即最细粒度。
让我们规范化定义,记录 (业务过程事实表), 定义了一个统计方式(ex: sum, count, max, count distinct...)。
对于的一个分拆,如果,则具有派生的可加性,如sum, max, count...但是我们都知道count distinct(简写ctd)是一个例外,一般不具有可加性。这是因为count distinct 蕴含了一个分拆(count distinct c = count(select c from group by c)),而不是上述分拆的子分拆(,不存在)。
但是如果我们定义一个,而是的子分拆,这显然是可以找到的。那么我们就可以让ctd函数具有可加性,而可作为的维度属性。例如,用户每日购买的首个商品,用户归一化的来源渠道。
下面我们提出这样一个问题,是否可以找到一个,使得我们事实表中,同时满足上述ctd度量的可加性。答案是肯定的,前提是。
我们进一步提出这样一个想法,是否可以对每一个,,这样我们定义出便具有实际的意义。也就是我们将每一条记录赋予一个新的column,即,其中可以视为数据表的主键, surjective,即为新的一列,可视为的维度属性。则对于而言,,: fixed points, , non-fixed points。
然而这样的想法是保证不了严格的成立,设想数据中每一个用户都购买了某一种商品,其中有一些用户购买了商品,那么,因为是的函数,所以数据中每一条记录的都等于。那么对于而言,一定等于0。