Airbnb 爱彼迎产品数据分析

chin3990
chin3990 这家伙很懒,还没有设置简介...

0 人点赞了该文章 · 52 浏览

Airbnb 爱彼迎产品数据分析

一、分析背景与目的

1.1、分析背景

Airbnb成立于2008年,短短9年时间成为了短租民宿行业的巨头,并且强烈的冲击着传统酒店行业的格局。

目前Airbnb作为一款社区平台类产品,其业务遍布了191个国家,并且经常出现在商业分析的优秀案例中。Airbnb在做好了产品体验、房源美感、民宿共享服务之后,这款产品和背后的业务是否存在可以改进的地方?

1.2、提出分析问题

一款产品的发展必然伴随着不断的迭代。在AARRRR模型中,第一个A(用户获取)中,提高新用户获取的数量和质量是不断监测并优化的一个工作,哪些渠道的效果更好,企业就要及时调整和增加此渠道的投入,哪些渠道的效果很差,就要及时查找原因并给出解决。

另外转化漏斗分析也是数据分析环节的重要指标,可以从宏观角度了解整个产品的业务转化情况,企业针对流失率较高的漏斗环节进行改进,可以有效促进业务发展。

针对分析的目的,提出以下三个问题:

  • airbnb的目标用户群体具有什么样的特征?
  • airbnb当前的推广渠道有哪些是优质的、有哪些做的还不够好且需要改进?
  • 当前的转化率和流失率中哪里哪一个环节存在问题,或者有较大的改进空间?

  • 二、分析维度

    2.1、根据问题设立分析维度与分析指标

    根据问题,提出来三个分析维度:

    将着重从airbnb的用户画像、推广渠道分析、转化漏斗分析三个方面进行分析,去探索和分析airbnb在产品和业务上有哪些可以改进的地方,并给出实际性的建议,以提升和改进airbnb的渠道推广策略和产品设计。

    1、用户画像分析

    • 用户性别的分布特征;
    • 用户年龄的分布特征;
    • 用户地区的分布分布;
    • 中国地区去国外预定的地区占比;

    2、推广渠道分析

    • 每月新增用户
    • 不同用户端的注册量
    • 不同推广渠道的注册量
    • 不同营销内容的注册量
    • 不同推广渠道的转化率
    • 不同营销内容的转化率

    3、转化漏斗分析

    • 注册用户占比
    • 活跃用户(非僵尸用户)占比
    • 下单用户占比
    • 实际支付用户占比
    • 复购用户占比

    三、数据清洗

    3.1、数据集描述

    数据集名称:Airbnb顾客预订数据

    数据集来源:https://www.kaggle.com/c/airbnb-recruiting-new-user-bookings/data

    数据集简介:此数据集是kaggle上的一个竞赛项目,主要用来制作目的地信息的预测模型。此数据聚集包含两张数据表,其中train_user表中为用户数据,sessions表中为行为数据。

    数据集量:21w * 15(train_user)、104w * 6(sessions)

    3.1、列名称理解

    原数据表的字段的列名非常规范,无需对列名称进行重命名,数据分析之前需要理解每个列名称的含义。

    数据表一:数据表名称:train_users

    id:用户ID

    date_account_created:帐户创建日期

    date_first_booking:首次预订的日期

    gender:性别

    age:年龄

    signup_method:注册方式

    signup_flow:用户注册的页面

    language:语言偏好

    affiliate_channel:营销方式

    affiliate_provider:营销来源,例如google,craigslist,其他

    first_affiliate_tracked:在注册之前,用户与之交互的第一个营销广告是什么

    signup_app:注册来源

    first_device_type:注册时设备的类型

    first_browser:注册时使用的浏览器名称

    country_destination:目的地国家

    数据表二:数据表名称:sessions

    user_id:与users表中的“id”列连接

    action:埋点名称

    action_type:操作事件的类型

    action_detail:操作事件的描述

    device_type:此次会话所使用的设备

    3.2、重复值的处理

    • train_users为用户表中主键,所以每个用户只生成一条记录,所以如果train_users中id存在重复值,则需要处理。
    • sessions 为用户会话记录表,存在一个用户多条记录

    结论:只需要排查train_users中是否存在重复值。

    执行SQL后得出:count_id = 0。说明train_users数据表中不存在重复值。

    3.3、缺失值处理

    数据缺失数量较多,以下为存在缺失值的列:

    • date_first_booking(首次预定时间)存在缺失值数量:124544个。
    • gender(性别)存在缺失值数量:95688个。
    • age(年龄)存在缺失值数量:87991个。
    • first_affiliate_tracked(用户通过那个营销广告注册)存在缺失值数量:6065个。
    • first_browser(注册时浏览器)存在缺失值数量:27266个。
    • action_type(埋点的操作类型)存在缺失值数量:1126204个。
    • action_detail(用户操作行为的描述)存在缺失值数量:1126204个。

    缺失原因推测及处理

    • date_first_booking(首次预定时间)数据如果缺失,在业务上可以理解为此用户为“未预定用户”,也就是没有下单的用户。
    • 性别、年龄由于客户端中这部分信息选填,空值为用户未填写。
    • 其他四个数据是由于前端统计时数据没有统计到。

    处理:实际分析中需要在where条件排除掉空数据,再进行分析。

    3.4、异常值处理

    以下为异常值的处理说明。

    date_account_created异常值处理:

    date_account_created中最小值为‘0000-00-00 00:00:00’;因为此异常数据只有1条,所以删除此条数据。

    age(年龄)异常值处理:

    age(年龄)的异常数据非常多;0~150之间的数值都有,并且包含了2014、2015等数值。推测这些”脏数据”产生的原因是用户在客户端随意填写造成。

    3.5、数据清洗中使用的SQL

    #检查数据中是否包含重复值 SELECT id, COUNT(id) AS count_id FROM data.train_users GROUP BY id HAVING count_id > 1; #通过以下SQL对每一列进行查询,通过替换where之后的条件,查询每一列包含的空值数量。 SELECT date_first_booking, COUNT(date_first_booking) FROM data.train_users WHERE date_first_booking = '0000-00-00 00:00:00'; #通过查看数据的极值(极大值、极小值)是否符合实际情况,来判断数据中是否存在异常值。 SELECT min(age),max(age) FROM data.train_users; #异常值处理:对于年龄不在7~75区间的数据删除(设置为0-空值) SET sql_safe_updates = 1; UPDATE data.train_users SET age = 0 WHERE id NOT IN ( SELECT id FROM ( SELECT id FROM data.train_users WHERE age <= 75 AND age >= 7 ) a );

    发布于 2023-03-24 06:12

    免责声明:

    本文由 chin3990 原创或收集发布于 火鲤鱼 ,著作权归作者所有,如有侵权可联系本站删除。

    火鲤鱼 © 2024 专注小微企业服务 冀ICP备09002609号-8