【商业模型】客户活跃脚印分析

2020-02-17 13:09:08 浏览数 (1)

怎么样,这个标题很唬人吧。先看长相吧,如下:

如上所示,非常凶残的客户脚印。

客户脚印

什么是客户脚印?好好观察下面动态展示的变化:

如果客户在10天前购买,那么最后一个脚印就是10天前踩的;

如果客户突然来了购买,那么最后一个脚印就是刚刚新踩的。

不难想象:

  • 越新鲜的脚印,说明客户最近刚刚购买;
  • 越不新鲜的脚印,说明客户很久前购买,脚印就会变淡。

这样,我们通过脚印的深浅就可以很清楚的看出来客户的新鲜程度。对于不够新鲜的客户,他的脚印变淡了,我们就应该取激活他。

主体思路

思路:

  • 这里涉及两个区间:参考区间 历史区间。
  • 如果脚印出现在参考区间,则新鲜的,脚印深度:100,对应颜色深度:100%。
  • 如果脚印出现在历史区间,则不新鲜,脚印深度:100 × 距参考区间天数 / ( 参考区间天数 历史区间天数 ),对应颜色深度:X %。

这就是主体思路了。

X Y 度量值计算

但实际上的计算会比较复杂,因为 X 轴和 Y 轴,都受到筛选,而又要破除这个限制,不然就无法在历史中计算,因此,我们给出定制的计算,如下:

代码语言:javascript复制
Topic.X =
VAR t1 = MIN( 'Model_Calender'[Date] ) - [Var.X.Value]
VAR t2 = MAX( 'Model_Calender'[Date] )
VAR vPeriod = FILTER( ALL( Model_Calender[Date] ) , [Date] >= t1 && [Date] <= t2 )
RETURN
CALCULATE( [KPI.Sales] , vPeriod , REMOVEFILTERS( Model_Calender ) )

类似的,有:

代码语言:javascript复制
Topic.Y =
VAR t1 = MIN( 'Model_Calender'[Date] ) - [Var.X.Value]
VAR t2 = MAX( 'Model_Calender'[Date] )
VAR vPeriod = FILTER( ALL( Model_Calender[Date] ) , [Date] >= t1 && [Date] <= t2 )
RETURN
CALCULATE( [KPI.Profit] , vPeriod , REMOVEFILTERS( Model_Calender ) )

这里用到了 REMOVEFILTERS 和日期维度的配合,可以充分学习感受如何灵活驾驭时间智能。

注意,精确地讲,此处可以省略 REMOVEFILTERS( Model_Calender ),这是为什么?

这样在计算 X 和 Y 的时候就摆脱了默认的限制。

脚印深度计算

代码语言:javascript复制
Topic.User.Weight =

// 基本设置

VAR ColorLightMax = 40     // 最大饱和度,与原色构成层次
VAR ColorLightMin = 10     // 最小饱和度,太小的话人眼看不见
VAR Y_Value = [Topic.Y]
VAR Days = [Var.X.Value]

RETURN IF( Y_Value <> BLANK() ,

// 当前区间 [T1,T2]

VAR DateEnd = MAX( Model_Calender[Date] )
VAR DateStart = MIN( Model_Calender[Date] )
VAR OrdersInPeriod = FILTER( Model_Order , DateStart <= Model_Order[订单日期] && Model_Order[订单日期] <= DateEnd )

RETURN

    IF( NOT ISEMPTY( OrdersInPeriod ) , 100 , // 如果在当前区间有行为记录,则活跃,显示颜色100%
        // 否则,考察历史阶段,在当前区间前

        // 最后一次交易日期 = 订单的最大日期 [历史最早, T1)[T1,T2]
        VAR LastPurchaseDate = CALCULATE( MAXX( FILTER( Model_Order , Model_Order[订单日期] < DateStart ) , Model_Order[订单日期] ) , ALL( Model_Calender ) )

        // 距离当前区间的天数
        VAR RecentValue = DATEDIFF( LastPurchaseDate , DateStart , DAY )

        // 色彩饱和度
        VAR ColorLight =
            IF( RecentValue >= Days , ColorLightMin , // 如果超出了历史区间,最低透明度。

                // 否则,在历史考察范围内
                // 其中,RecentValue 肯定比 Days 小,同时兼顾最大颜色饱和度不能太大与原颜色要有层次感
                VAR X = MIN( 100 - ( RecentValue / Days * 100 ) , ColorLightMax )

                // 如果颜色太淡,则调回来点
                RETURN MAX( X , ColorLightMin )
            )

        RETURN ColorLight
    )
)

脚印深度的计算有点复杂,里面用到了非常多的技巧,全部注释如上。

脚印颜色计算

通过脚印深度就可以很好的计算颜色深度,如下:

代码语言:javascript复制
Topic.Color =

VAR ColorGreen = "#1AAB40" // 正数色
VAR ColorRed = "#D64554"   // 负数色
VAR Y_Value = [Topic.Y]
VAR ColorCurrent = IF( Y_Value > 0 , ColorGreen , ColorRed ) // 利润正负颜色处理
VAR ColorWeight = [Topic.User.Weight]
RETURN
    IF(
        ColorWeight = 100 ,
        ColorCurrent , ColorCurrent & FORMAT( ColorWeight , "00" )
    )

这样,主体就实现了。

智能化处理

这里我们还设计了很贴心的智能化批注和提示,如下:

非常清楚地知道重要信息,然后还可以看具体的人:

明细对照

此外还设计了明细,以便运营,如下:

为了便于核对,我们只选择一天参考区间和一天历史,可以看出上面的显示非常精确,计算的逻辑的精确另人兴奋以及惊叹。

驱动运营

我们知道任何分析最后都是要转化为行动的,在这里的行动就是去激活那些脚印变浅了的客户,于是有:

或者:

如何激活呢?方法太多了。

最近大家应该疯狂地收到我激活你们的信息了吧,哈哈,就是这样的。

总结

本文给出了客户活跃脚印分析的方法,思路,实现和里面的诸多技巧,尤其值得注意的是:

  • 颜色深度与脚印深度的对应关系
  • 时间的灵活控制
  • 动画显示的控制
  • 各种人性化智能提示
  • 转化为激活行动的落地

前几天看到了这个案例,立马吸收了,就是抄袭加创造,很明显这个价值没有我们这里给出的业务价值明显。这也给我们了启发,您可以学习不同来源和老师的知识,但要和自己的知识体系融合,变成自己的内容作用于自己的业务来创造价值。

参考:https://www.youtube.com/watch?v=yP791KGnrek

0 人点赞