1 项目摘要
Airbnb成立于2008年8月,是一个旅行房屋租赁社区,用户可发布、搜索度假房屋租赁信息并完成在线预定。2015年,Airbnb正式进入中国市场,在国内掀起了一波城市民宿的热潮。本项目基于Airbnb公开数据集,从用户角度出发,对Airbnb在北京地区的运营数据进行可视化处理,制作数据面板以探索北京地区的房源分布、价格趋势以及用户评价。
2 分析思路
需求理解——发掘用户关注点
假设一个从没到过北京的新用户访问了Airbnb北京地区的网页,TA首先希望了解的可能是该地区的房源分布、房屋类型,以便决定自己要住在哪里、有哪些房型可供选择,因此展示不同地段的房源分布和房型是有必要的;其次TA通常会看看各地区不同房型的租金,考虑是否符合自己的预算,那么我们需要提供房源价格的相关信息;接下来TA可能想进一步了解各种房源的评价,寻找一处舒心的居所或是避免踩坑,所以我们应该附上房源相关的评价信息……综上,可视化中需要包含的要素可以归纳如下
- 地理位置
- 房屋类型
- 房源价格
- 房源/房主评价
除了提供相关信息之外,考虑到需要呈现的数据量,采取何种方式聚合以及呈现数据也是需要斟酌的问题。在下文中将会结合使用的数据具体描述数据的呈现方式。
数据理解
Airbnb提供的数据集由6个表组成,包括39,732个房屋id及其对应的14,234个房东id,涵盖了地理位置、房源概况、住宿条件、预订要求、房东评价等方面的内容。主要表结构如下:
表名称 | 功能与结构 |
---|---|
listings_detail.csv | 房源的基本概况。用id和host_id区分每个房源及其房主,一条记录对应一个房源id,id具有唯一性。 |
reviews_detail.csv | 住客的评价信息。Listing_id对应listings表中的房屋id,每一行代表一位用户对一个房源的评价。 |
calendar.csv | 未来365天的房源预订信息。listing_id对应listings表中的id项,对于每个唯一的listing_id均有365条记录,表示该房源在未来365天内的每日预订信息。 |
neighbourhoods.geojson | 提供了北京各区的地理位置信息 |
其中,listings表和reviews表分别有一个子表项,用于快速展示部分字段内容;
listings_detail表由106个字段构成,记录了39,732个房源的基本情况,提供了制作数据面板的主要信息;reviews_detail表由298,807个带有6个属性的评论组成,提供了listings表中的超过2W条房源的评价详情;
calendar表提供了39,732个房源在未来365天内的详细预定信息,共计14,502,180条。包括日期,价格,最大/最小起订天数。
neighbourhoods表提供了geojson格式的地理位置信息,可以用于绘制各区域的地图。
围绕上述可能的用户关注点,结合所拥有的数据,选择需要展现的字段,然后就可以开始进入数据准备与可视化的阶段了。
3 数据准备
Airbnb提供的数据源主要为.csv格式,且数据量较大,为保证结果的准确可靠以及展示质量,在可视化之前需要检查数据完整性并筛选出需要的数据以避免不必要的资源消耗。本项目使用postgreSQL进行数据的预处理。
数据导入和导出
由于数据量较大,使用INSERT语句插