Airbnb产品数据分析

本文通过对Airbnb用户数据的分析,揭示了用户画像的性别、年龄和地区分布特征,发现用户主要为中青年人群,男性稍多。在转化漏斗中,注册到下单环节的流失率最高,仅为14%,而活跃和复购用户比例良好。建议针对29-39岁男性进行精准营销,并优化下单至支付流程,减少流失。
摘要由CSDN通过智能技术生成

一、分析背景与目的
1.1、分析背景
Airbnb成立于2008年,短短9年时间成为了短租民宿行业的巨头,并且强烈的冲击着传统酒店行业的格局。目前Airbnb作为一款社区平台类产品,其业务遍布了191个国家,并且经常出现在商业分析的优秀案例中。Airbnb在做好了产品体验、房源美感、民宿共享服务之后,这款产品和背后的业务是否存在可以改进的地方?
1.2、提出分析问题
针对分析的目的,提出以下三个问题:
1.airbnb的目标用户群体具有什么样的特征?
2.当前的转化率和流失率中哪里哪一个环节存在问题,或者有较大的改进空间?

二、分析维度
2.1、根据问题,提出两个分析维度:
1、用户画像分析
-用户性别的分布特征;
-用户年龄的分布特征;
-用户地区的分布分布;
-中国地区去国外预定的地区占比;
2、转化漏斗分析
-注册用户占比
-活跃用户(非僵尸用户)占比
-下单用户占比
-实际支付用户占比
-复购用户占比

三、数据清洗3.1、数据集描述数据集名称:Airbnb顾客预订数据数据集来源:kaggle Airbnb产品数据集 数据集简介:此数据集是kaggle上的一个竞赛项目,主要用来制作目的地信息的预测模型。此数据聚集包含两张数据表,其中train_users_2表中为用户数据,sessions表中为行为数据。数据集量:21w * 15(train_users_2)、104w * 6(sessions)

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

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_2数据表中不存在重复值。

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

3.5数据清洗中使用的SQL

# 检查数据中是否包含重复值
SELECT id, COUNT(id) AS count_id
FROM mysql.train_users_2
GROUP BY id
HAVING count_id > 1;
#通过以下SQL对每一列进行查询,通过替换where之后的条件,查询每一列包含的空值数量。
SELECT date_first_booking<
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值