• 数据分析项目实战1——淘宝用户购买行为分析(天池)


    一、分析背景、数据来源、数据解释

    https://tianchi.aliyun.com/dataset/649
    由于userbehavior数据集的数据量较大,本次分析使用Navicat将前10万条数据导入MySQL。

    二、业务问题及分析思路

    在这里插入图片描述
    分析新视角:构建用户画像
    构建用户画像标签体系

    三、数据清洗

    3.1 子集选择

    选取10万条数据导入MySQL构成本次分析的数据集。

    3.2 列名重命名

    给导入的数据各字段命名
    用户id:userid
    商品ID:itemid
    商品类目id:categoryid
    行为类型:behavior
    时间戳:timestamps

    3.3 删除重复值

    在导入数据时,将userid、itemid和timestamps设为主键,确保数据没有重复值。

    3.4 缺失值处理

    select * from userbehavior
    where userid is null or itemid is null
    or categoryid is null or behavior is null
    or timestamps is null;
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    3.5 一致化处理

    将时间戳变为可读形式,并在原表中添加datetimes、dates和times两列用于存放时间戳、日期和时刻数据。

    alter table userbehavior add datetimes varchar(255);
    update userbehavior
    set datetimes = from_unixtime(timestamps);
    alter table userbehavior add dates varchar(255);
    update userbehavior
    set dates = from_unixtime(timestamps,'%Y-%m-%d');
    alter table userbehavior add times varchar(255);
    update userbehavior
    set times = from_unixtime(timestamps,'%H:%i:%s');
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    3.6 异常值处理

    查询日期的最大、最小值,判断是否存在不属于2017.11.25至2017.12.3之间的异常数据,结果如下。

    select max(dates),min(dates)
    from userbehavior;
    
    • 1
    • 2

    删除异常值,并验证结果。

    delete from userbehavior where dates < '2017-11-25';
    select max(dates),min(dates) from userbehavior;
    
    • 1
    • 2

    四、分析过程

    4.1 用户流失情况分析

    4.1.1 用户行为转化情况

    在这里插入图片描述
    通过对用户进行统计并可视化,可以发现整个购买流程的用户转化率很低。具体表现为点击商品详情页的占比将近90%,但将商品加入购物车和收藏的仅为8.2%,且最终下单购买的行为仅占2.1%。

    4.1.2 用户流失情况分析
    业务问题1: 用户在不同购物流程下的流失情况

    业务问题1:用户在不同购物流程下的流失情况如何?
    首先,根据用户的4种行为,对用户的购买流程进行归纳,得到以下4种情况。

    在这里插入图片描述
    接着,创建一个用户行为视图,用于查询各行为的数量。

    --用户行为视图
    create view userb as 
    select userid,itemid,
    	sum(case when behavior='PV' then 1 else 0 end ) as 'PV',
    	sum(case when behavior = 'cart' then 1 else 0 end) as 'cart',
      sum(case when behavior = 'fav' then 1 else 0 end) as 'fav'
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    PostgreSQL文本搜索(七)——自定义配置
    个人博客管理系统
    基于FPGA的PSRAM接口设计与实现
    03 【流程控制语句】
    驱动开发 基于gpio子系统来实现对stm32开发板的led亮灭实现,附加定时器实现一秒亮灭(软件:vscode)
    DevOps 如何帮助前端提升研发效率?
    Decoder-Only、Encoder-Only和Encoder-Decoder架构的模型区别、优缺点以及使用其架构的模型示例
    C++核心编程--对象篇
    【论文阅读】DeepLab:语义图像分割与深度卷积网络,自然卷积,和完全连接的crf
    聊一聊容器暂停退出
  • 原文地址:https://blog.csdn.net/qq_25886325/article/details/127833936