美文网首页商业分析学习
数据分析:商业分析方法进阶(三)

数据分析:商业分析方法进阶(三)

作者: 羋学僧 | 来源:发表于2021-07-29 16:28 被阅读0次

    三、分析原因

    根据“明确问题” 得出的分析目标,指定细分的分析策略:

    • 【P0: A→I 】部分是转化率低的问题,在零售行业中,【人货场】分析是最常用且有效的分析方法,故此案例也将应用该方法进行分析

    • 【P1: P→L】部分是用户复购表现很好,所以可以通过【用户复购分析】,挖掘、总结复购特征

    • 【P2: I→P】部分目的在与进一步透析用户购买行为,可以采用【AIPL+RFM】分析方法进行分析

    【P0: A→I 】转化率低,结合【人货场】分析找到原因

    1.人

    【人】的部分主要在于观察用户行为特点,以总结经验。当前数据维度有限,用户自身行为相关的数据除了商品就是时间,故此部分主要分析A到I高效转化的时间特征,以小时为基准进行分析。

    select  a.`小时`, `A-浏览行为`, `I-兴趣行为`,
        concat(round((`I-兴趣行为`/`A-浏览行为`),3)*100,'%') as 'A→I转化率'
    from
        (select hour(datetime) as '小时', count(*) as 'A-浏览行为' 
        from behavior
        where view=1
        group by hour(datetime)
    ) as a
    left join
        (select hour(datetime) as '小时', count(*)  as 'I-兴趣行为' 
        from behavior
        where favor = 1 or cart =1
        group by hour(datetime)
    ) as i
    on a.`小时` = i.`小时`
    order by a.`小时`;
    

    结果如图:

    以“平均值”作为对比的基准

    select  
        avg(`A-浏览行为`) as 'A-浏览行为 平均值', 
        avg(`I-兴趣行为`) as 'I-兴趣行为 平均值',
        concat(round(avg(`I-兴趣行为`)/avg(`A-浏览行为`),3)*100,'%') as 'A→I转化率 平均值'
    from
        (select hour(datetime) as '小时', count(*) as 'A-浏览行为' 
        from behavior
        where view=1
        group by hour(datetime)
    ) as a
    left join
        (select hour(datetime) as '小时', count(*)  as 'I-兴趣行为' 
        from behavior
        where favor = 1 or cart =1
        group by hour(datetime)
    ) as i
    on a.`小时` = i.`小时`
    order by a.`小时`;
    

    得到结果如图所示:

    因每个时段的浏览人数不同,为确保分析的结果有效,故需选择 浏览值大于平均值3733的时段来观察:在这些时段中, 我们认为转化率大于 平均值9.1%的时段,

    select * 
    from
    (select  a.`小时`, `A-浏览行为`, `I-兴趣行为`,
        concat(round((`I-兴趣行为`/`A-浏览行为`),3)*100,'%') as 'A→I转化率'
    from
        (select hour(datetime) as '小时', count(*) as 'A-浏览行为' 
        from behavior
        where view=1
        group by hour(datetime)
    ) as a
    left join
        (select hour(datetime) as '小时', count(*)  as 'I-兴趣行为' 
        from behavior
        where favor = 1 or cart =1
        group by hour(datetime)
    ) as i
    on a.`小时` = i.`小时`) as b
    where `A-浏览行为`>3733 and `A→I转化率`>=9.1
    order by `小时`;
    

    结论:可选择11点,15-17点,19点,22-23点作为投放选择时间,其中23点的转化率为最大值,可作为最佳投放时间

    2.货

    针对【人货匹配】的情况进行分析之前,先了解AI阶段涉及到的总商品和总商品分类:

    select  count(distinct item_id) as 'A' 
    from userbehavior
    where behavior_type ='pv';
    

    结果如图,共有60592款商品被有效浏览。

    接下来,计算用户感兴趣的商品:

    select count(distinct item_id) as 'I'
    from userbehavior
    where behavior_type in ('favor','cart');
    

    结果如图,用户共对5206款商品产生兴趣。

    结合【假设验证分析方法】,基于有效浏览机产生兴趣的商品数差异较大的情况,提出假设:用户偏好的商品主要集中在少数商品,而大部分长尾商品则是被错误地推荐到用户。

    验证思路:

    • 1. 将被浏览最多的前100款商品 以及 用户最感兴趣(即加购、收藏)的前100款商品 进行交叉查询
    • 2. 如果交叉出的商品数较少,则假设成立
    • 3. 反之,则假设不成立
    select item_id,count(*) as 'A'
    from userbehavior
    where behavior_type ='pv'
    group by item_id
    order by A desc
    limit 100;
    

    按验证思路里说的,分别A, I 热门的前100款单品交叉,查看交叉数量:

    select count(*) as 'a&i交叉商品数'
    from(
        select item_id,count(distinct item_id) as a_item
        from userbehavior
        where behavior_type='pv'
        group by item_id
        order by a_item desc
        limit 100)as m
    inner join
        (select item_id,count(distinct item_id) as i_item
        from userbehavior
        where behavior_type in('favor','cart')
        group by item_id
        order by i_item desc
        limit 100)as n
    on m.item_id=n.item_id;
    

    结果显示,仅有7款商品既是高浏览量,也是高收藏/加购的,故假设成立:用户偏好的商品主要集中在少数商品,而大部分长尾商品则是被错误地推荐到用户。进而可得出【人货匹配】效率低的结论。

    3.场

    【场】广义来说指的是与用户的触点,例如在线下零售业,则是门店; 在线上电商,则是在线店铺、平台、投放渠道等。

    从这个角度,分析此段时间淘宝平台的活动情况:

    • 1. 结合业务经验,数据时间段在双十一之后,双十二之前,即是两个大促的中间节点

    • 2. 查询2017年双十二的相关信息如下:

      • l 活动:天猫双12年终品牌盛典
      • l 预热时间:2017年12月7日00:00:00-2017年12月11日23:59:59;
      • l 上线时间:2017年12月12日00:00:00-2017年12月12日23:59:59。
    • 3. 由活动时间可知,分析时间段处于双十二预热时间前夕的低潮期,客观上营销效果整体比较平淡,进而影响AI转化率。

    4.总结

    人:为提高转化率,可选择在 浏览值大于3733 且 转化率大于 9.1%的时间段加大投放力度;其中,23点为转化率大于10%,为最佳投放时间

    货:人货匹配效率低,平台大部分商品为长尾商品,但它们并不能很好地吸引用户兴趣,需要进一步优化商品信息以提升转化率。

    场:从平台活动周期角度来说,分析时间段正处于大促活动预热前的低潮期,此客观因素也在一定程度上导致转化率低。

    【P1: P→L】用户复购表现很好,通过【用户复购分析】,挖掘、总结复购特征

    用户复购分析是为了优化用户触达策略,即何时何地想哪些已购用户推送什么商品可提升复购率。本案例中,因商品和受众特征数据不足,不进行商品推荐分析,将通过分析用户【复购周期】以解决业务中触达时间的问题,主要包括何时触达、触达多久。

    1.何时触达

    可通过计算用户平均回购周期,即可在用户发生购买行为后,在平均回购周期内对其进行营销触达。

    1) 通过以下语句先计算出每个用户每次消费的回购周期

    -- 创建消费次数视图
    create view consume as 
    select distinct user_id, dates, 
       dense_rank() over(partition by user_id order by dates) 'n_consume' 
       from behavior
    where buy=1
    
    select a.user_id, a.dates, a.n_consume,
        datediff(a.dates, b.dates) as '回购周期(天)'
    from
     (select * from consume) as a,
     (select * from consume) as b
    where a.user_id = b.user_id and 
    b.n_consume = a.n_consume-1;
    

    查询结果

    结果说明:如图,user_id 为100的用户 n_consume=2,回购周期=2天 即为期第二次消费时,与第一次消费间隔了2天,也就是说该用户在2天前进行了第一次消费。

    2)基于以上查询结果,可以将每人次的回购周期进行平均,取得最终的 平均回购周期

    select avg(datediff(a.dates, b.dates))  as '平均回购周期(天)'
    from
     (select * from consume) as a,
     (select * from consume) as b
    where  a.user_id = b.user_id
    and  b.n_consume = a.n_consume-1
    

    查询结果:

    结论:即在用户购买行为后的2-3天内对其进行触达。

    2.触达多久:即触达多久能覆盖用户在生命周期内的全部付费

    1)统计每个客户“首次消费日期”、“最后消费日期”后,相减即可算得每个客户的消费周期,命名为“最长消费间隔”。

    select  a.user_id,
      a.dates '首次消费日期',
      `最后消费日期`,
      datediff(`最后消费日期`,a.dates) as '最长消费间隔'
    from
      (select user_id, dates 
      from consume 
      where n_consume=1) as a
    left join
      (select user_id, max(dates) as '最后消费日期' 
      from consume 
      group by user_id) as b
    on a.user_id = b.user_id
    -- 仅针对复购人群
    where a.user_id in 
      (select distinct user_id 
      from consume 
      where n_consume>1);
    

    查询结果:

    2)基于上面的查询结果,按日期进行分组统计,计算得每天消费的客户平均最长消费间隔。

    select `首次消费日期`,
        weekday(`首次消费日期`)+1 as '星期几',
        avg(`最长消费间隔`) as '平均最长消费间隔'
    from
        (select a.user_id,
            a.dates as '首次消费日期',
            `最后消费日期`,
            datediff(`最后消费日期`,a.dates) as '最长消费间隔'
        from
            (select user_id, dates 
            from consume 
            where n_consume=1) as a
        left join
            (select user_id, max(dates) as '最后消费日期'
            from consume
            group by user_id) b
        on a.user_id = b.user_id
    -- 仅针对复购人群
        where b.user_id in 
            (select distinct user_id 
            from consume 
            where n_consume>1)
            ) as t
    group by `首次消费日期`
    order by `首次消费日期`;
    

    优化一下

    select `首次消费日期`,
        weekday(`首次消费日期`)+1 as '星期几',
        avg(`最长消费间隔`) as '平均最长消费间隔'
    from
        (select a.user_id,
            a.dates as '首次消费日期',
            `最后消费日期`,
            datediff(`最后消费日期`,a.dates) as '最长消费间隔'
        from
            (seleperformance_schemact user_id, dates 
            from consume 
            where n_consume=1) as a
        inner join
            (select user_id, max(dates) as '最后消费日期'
            from consumea
            where n_consume>1
            group by user_id) b
        on a.user_id = b.user_id) as c
    group by `首次消费日期`
    order by `首次消费日期`;
    

    结果如图,在周六(11-25) 首购的客户,最长消费间隔最长为5.9天。

    【P2:I→P】挖掘用户购买转化路径,采用【AIPL+RFM】进行分析

    1.用户首购特征

    有此前漏斗分析可知,平台用户复购率高达63%,也就是说用户只要突破0到1的消费,接下来就有63%的机会复购,所以此部分重点应放在如何提升AI→P。

    为了提高AI客户的购买转化率,可以通过高购买率客户与低购买率客户对比,挖掘高购买率客户特征,进而指导业务运营策略。

    先创建视图,以统计每个客户的购买率及其他数据。语句如下:

    create view user_feature as
    select user_id,
        sum(view) as '浏览',
        sum(favor) as '收藏', 
        sum(cart) as '加购', 
        sum(buy) as '购买',
        (sum(cart)+sum(favor))/sum(view) as '加购率',
        sum(buy)/(sum(view)+sum(cart)+sum(favor)) as '购买率',
        dense_rank() over(order by sum(buy)/(sum(view)+sum(cart)+sum(favor)) desc)  as '购买率排序'
    from behavior
    group by user_id;
    
    select * 
    from user_feature
    order by `购买率` asc;
    

    结果如图:

    1)购买率高 vs 购买率低

    根据二八原则,定位购买率前20%和后20%分别为高购买率和低购买率用户。根据视图统计,共387个购买率分层。即得到两个群组用户的特点

    select  avg(`浏览`) as '平均浏览数',
        avg(`收藏`+`加购`) as '平均兴趣数',
        avg(`加购率`) as '平均加购率'
    from user_feature
    where `购买率排序`<= 387*0.2;
    

    高购买率客户品类集中度:

    select count(distinct category_id) as '购买品类集中度' 
    from userbehavior
    where behavior_type ='buy'
    and user_id in (
        select distinct user_id 
        from user_feature
        where `购买率排序` <= 387*0.2);
    

    低购买率客户 特征:
    注意需剔除无购买人群影响

    select avg(`浏览`) as '平均浏览数',
        avg(`收藏`+`加购`) as '平均兴趣数',
        avg(`加购率`) as '平均加购率'
    from user_feature
    where `购买率排序` > 387*0.8 and `购买率` > 0;
    

    低购买率客户品类集中度:

    select count(distinct category_id) as '购买品类集中度' 
    from userbehavior
    where behavior_type ='buy'
    and user_id in (
        select distinct user_id 
        from user_feature
        where `购买率排序` > 387*0.8 and `购买率` > 0);
    

    2)总结

    • 高购买率用户浏览商品数36远小于低购买率用户浏览商品数194
    • 高购买率用户加购率11.68%大于低购买率用户加购率9.92%
    • 高购买率用户购买品类集中度399远大于低购买率用户浏览商品数97

    综上所述可得到不同人群画像特征:高购买率人群浏览商品数虽然少,但加购率高和购买率更高,大概率为决策型顾客,因个人需求看对商品就下手购买;相对比下,低购买率人群更多是纠结型顾客,需要反复浏览商品和收藏加购来确认最终想要的商品。同时低购买率人群关注品类集中度较高,可针对这些品类优化品类信息,减少用户浏览跳失率。

    2. AIPL + RFM分析

    为进一步促进用户购买,需进行精细化用户运营,可通过RFM分析实现。根据实际业务和数据,重新定义RFM:

    • R:最近一次购买离分析日期的距离,用以判断购买用户活跃状态
    • F:客户收藏、加购行为次数
    • M:客户购买行为次数

    即可得出详细用户分群及其人群特征:

    • 1.重要价值用户(R低F高M高):用户处于购买活跃期,感兴趣的商品多,购买次数也多
    • 2.一般价值用户(R低F高M低):用户处于购买活跃期,感兴趣的商品多,购买次数少
    • 3.重要发展用户(R低F低M高):用户处于购买活跃期,感兴趣的商品少,购买次数多
    • 4.一般发展用户(R低F低M低):用户处于购买活跃期,感兴趣的商品少,购买次数少
    • 5.重要唤回用户(R高F高M高):用户已不活跃,感兴趣的商品多,购买次数也多
    • 6.一般唤回用户(R高F高M低):用户已不活跃,感兴趣的商品多,购买次数少
    • 7.重要挽留用户(R高F低M高):用户已不活跃,感兴趣的商品少,购买次数多
    • 8.一般挽留用户(R高F低M低):用户已不活跃,感兴趣的商品少,购买次数少

    1)按以上定义,计算出每个客户的R、F、M值

    create view RFM as
    select r.user_id, R, F, M 
    from
        (select user_id, datediff('2017-12-03', dates) 'R' 
        from consume as a
        where n_consume = (
        select max(n_consume) 
        from consume b
        where a.user_id = b.user_id )
        )  as r
    left join
        (select user_id, sum(favor)+sum(cart) 'F', sum(buy) as 'M' 
        from behavior
        group by user_id) as fm
    on r.user_id = fm.user_id;
    

    2)为了划分R、F、M值的高 与低,这里采用常用的平均值法作为阈值

    select avg(R), avg(F), avg(M) 
    from RFM;
    

    3)根据以上RFM阈值,及RFM定义,将每个客户划分到不同的用户价值组中。

    create view user_RFM as
    select user_id,
        case
            when R < 2.4501 and F>9.3115 and M>2.8018 then '重要价值用户'
            when R < 2.4501 and F>9.3115 and M<2.8018 then '一般价值用户'
            when R < 2.4501 and F<9.3115 and M>2.8018 then '重要发展用户'
            when R < 2.4501 and F<9.3115 and M<2.8018 then '一般发展用户'
            when R > 2.4501 and F>9.3115 and M>2.8018 then '重要唤回用户'
            when R > 2.4501 and F>9.3115 and M<2.8018 then '一般唤回用户' 
            when R > 2.4501 and F<9.3115 and M>2.8018 then '重要挽留用户'
            when R > 2.4501 and F<9.3115 and M<2.8018 then '一般挽留用户'
            end as '用户价值族群'
    from RFM;
    

    结果如图:

    4)统计各个组的用户数及用户占比,用于对用户运营现状进行分析,并给出运营策略方向。

    select `用户价值族群`, count(user_id) '用户数',
        concat(round(count(user_id)/983*100,3),'%') as '用户数占比'
    from user_RFM
    group by `用户价值族群`
    order by `用户价值族群`
    

    如上图为RFM模型分组结果,对比分析需要对照组进行比照分析,因数据限制,此处结合业务经验进行判断:

      1. “重要”型用户累计占比26.8%(3.1%+3.5%+7.4%+12.8%),符合二八规律
      1. 从【用户RFM转化路径】角度来看:重要价值用户占比较少,而主要由一般价值用户、重要发展用户、重要唤回用户转化而来
      • l 一般价值、重要唤回用户基数较多,可优先对两个人群进行“升级”
      • l 其次,重要发展用户数量少,需要从基数较多的一般发展用户转化,之后再考虑将重要发展转为重要价值

    相关文章

      网友评论

        本文标题:数据分析:商业分析方法进阶(三)

        本文链接:https://www.haomeiwen.com/subject/rknzmltx.html