支付宝营销策略分析

作者: Crystal_皓严 | 来源:发表于2020-07-24 14:59 被阅读0次
    涉及字段如下:
    • dmp_id:营销策略编号(源数据文档未作说明,这里根据数据情况设定为1:对照组,2:营销策略一,3:营销策略二)
    • user_id:支付宝用户ID
    • label:用户当天是否点击活动广告(0:未点击,1:点击)

    一. 数据清洗(python)

    1. 导入常用库并导入数据

    import pandas as pd
    import numpy as np
    data = pd.read_csv('E:\datalist\zf/effect_tb.csv')
    data.columns = ['dt','user_id','label','dmp_id']
    # 日志天数属性用不上,删除该列
    data = data.drop(columns = 'dt')
    data.head()
    
    image.png

    2. 重复值处理

    data.shape
    data.nunique()
    
    image.png
    • 数据行数与独立用户数不统一,检查是否存在重复行.
    data[data.duplicated(keep = False)].sort_values(by = ['user_id'])
    
    image.png
    • 不难看出user_id有重复行.
    data.drop_duplicates()
    data[data.duplicated(keep = False)]
    
    image.png
    • 删除重复值,并展示.

    3. 空值及数据类型

    data.info(null_counts = True)
    
    image.png
    • 数据集无空值且数据类型正常,无需进行处理。

    4. 保存数据

    data.to_csv("./output.csv", index = False)
    
    image.png

    二. 【A/B测试】(mysql)

    1. 导入数据

    • 目前的数据的保存格式为csv,需要先将数据导入到数据库当中才能执行查询,第一部选择一个库右键选择导入向导.


      image.png
    • 第二步选择导入类型,直接选择CSV文件.


      image.png
    • 第三步为选择数据源的路径,我们找到对应的数据后,勾选需要导入的表.


      image.png
    • 完成前文的操作之后便可以点击">>"跳至最后的步骤,中间的步骤由于数据十分工整,不需要进行额外操作.
    • 到达下图的界面,按照指引直接点击"开始",导入成功,会在日志兰中显示Finished successfully,如下图所示.
    image.png

    2. 假设检验

    • 通过营销策略编号分组,求出点击率.
    select dmp_id,avg(label) 点击率 
    from output 
    group by dmp_id;
    
    image.png
    • 首先假定我们希望新的营销策略能让广告点击率至少提升1个百分点.
    • 可以看到策略一和策略二相较对照组在点击率上都有不同程度提升。
    • 其中策略一提升0.2个百分点,策略二提升1.3个百分点,只有策略二满足了前面我们对点击率提升最小值的要求。
    • 接下来需要进行假设检验,看策略二点击率的提升是否显著。
    a. 零假设和备择假设
    • 记对照组点击率为p1,策略二点击率为p2,则:
    • 零假设 H0: p1 ≥ p2
    • 备择假设 H1: p1 < p2
    b. 分布类型、检验类型和显著性水平
    • 样本服从二点分布,独立双样本,样本大小n>30,总体均值和标准差未知,所以采用Z检验。显著性水平α取0.05。

    2.1 用户数

    • 后续的查询都是基于筛选后的数据,因此这里新建一个表user_num去储存查询结果.此处用到了联合查询(union).
    create table user_num as 
    (select dmp_id,count(dmp_id) 用户数
    from output where dmp_id=1
    union
    select dmp_id,count(dmp_id) 
    from output where dmp_id=3);
    
    image.png

    2.2 点击数

    • 同上新建表click.
    create table click as 
    (select dmp_id,count(dmp_id) 点击数
    from output where dmp_id=1 and label=1
    union
    select dmp_id,count(dmp_id) 
    from output where dmp_id=3 and label=1);
    
    image.png

    2.3 计算点击率

    • 新建表rate.
    create table rate as 
    (select a.dmp_id,b.`点击数`/a.`用户数` as 点击率
    from user_num a 
    join click b on a.dmp_id = b.dmp_id);
    
    image.png

    2.4 总和点击率

    select sum(b.`点击数`)/sum(a.`用户数`) 总和点击率
    from user_num a 
    join click b on a.dmp_id = b.dmp_id;
    
    image.png
    • 得出总和点击率为0.014.

    2.5 计算统计量Z

    select (list1.`差`)/sqrt(c.`总和点击率`*(1-c.`总和点击率`)*(list2.`和`)) 值 
    from 
    (select a.`点击率`-b.`点击率` 差 
    from rate a ,rate b where b.dmp_id =3 and a.dmp_id =1) list1,
    (select sum(`点击数`)/sum(`用户数`) 总和点击率 
    from user_num  join click  on user_num.dmp_id = click.dmp_id) c,
    (select (1/d.`用户数`)+(1/e.`用户数`) 和 
    from user_num d ,user_num e where d.dmp_id = 3 and e.dmp_id =1) list2;
    
    image.png
    image.png
    • z_alpha = -1.645, 检验统计量z = -59.566,该检验为左侧单尾检验,拒绝域为{z<z_alpha}。
    • 所以我们可以得出结论:原假设不成立,策略二点击率的提升在统计上是显著的。

    总结

    • 综上所述,两种营销策略中,只有策略二对广告点击率有显著提升效果,相较于对照组点击率提升了近一倍,因而在两组营销策略中应选择第二组进行推广。

    相关文章

      网友评论

        本文标题:支付宝营销策略分析

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