1 项目背景
使用2015年7月到2017年8月两年的订单数据进行分析,了解酒店预订需求的基本情况,找出导致订单取消的特征。
2 数据初步探索
2.1 数据结构梳理
拿到数据之后,首先看看里面具体有哪些内容,理解每个字段(变量)的意思,具体的数值代表什么,数据之间有哪些关系。根据二八法则,简单的数据分析、结构梳理和数据清洗的工作占数据分析80%以上的工作量,虽然很基础枯燥,没什么技术含量,但是这些前提工作必须要做好,才可能把项目理解透彻,很大程度上决定了项目的成败。
这里的每一行数据代表着一个订单。
id | 字段名 | 解析 |
---|---|---|
1 | hotel | 酒店类型:city hotel(城市酒店),resort hotel(度假酒店) |
2 | is_canceled | 订单是否取消:1(取消),0(没有取消) |
3 | lead_time | 下单日期到抵达酒店日期之间间隔的天数 |
4 | arrival_date_year | 抵达年份:2015、2016、2017 |
5 | arrival_date_month | 抵达月份:1月-12月 |
6 | arrival_date_day_of_month | 抵达日期:1-31日 |
7 | arrival_date_week_number | 抵达的年份周数:第1-72周 |
8 | stays_in_weekend_nights | 周末(星期六或星期天)客人入住或预定入住酒店的次数 |
9 | stays_in_week_nights | 每周晚上(星期一至星期五)客人入住或预定入住酒店的次数 |
10 | adults | 成年人数 |
11 | children | 儿童人数 |
12 | babies | 婴儿人数 |
13 | meal | 预订的餐型:SC\BB\HB\FB |
14 | country | 原国籍 |
15 | market_segment | 细分市场 |
16 | distribution_channel | 预订分销渠道 |
17 | is_repeated_guest | 订单是否来自老客户(以前预订过的客户):1(是)0(否) |
18 | previous_cancellations | 客户在当前预订前取消的先前预订数 |
19 | previous_bookings_not_canceled | 客户在本次预订前未取消的先前预订数 |
20 | reserved_room_type | 给客户保留的房间类型 |
21 | assigned_room_type | 客户下单时指定的房间类型 |
22 | booking_changes | 从预订在PMS系统中输入之日起至入住或取消之日止,对预订所作的更改/修改的数目 |
23 | deposit_type | 预付定金类型,是否可以退还:No Deposit(无订金)Non Refund(不可退)Refundable(可退) |
24 | agent | 预订的旅行社 |
25 | company | 下单的公司(由它付钱) |
26 | days_in_waiting_list | 订单被确认前,需要等待的天数 |
27 | customer_type | 客户类型 |
28 | adr | 平均每日收费,住宿期间的所有交易费用之和/住宿晚数 |
29 | required_car_parking_spaces | 客户要求的停车位数 |
30 | total_of_special_requests | 客户提出的特殊要求的数量(例如。 双人床或高层) |
31 | reservation_status | 订单的最后状态:canceled(订单取消)Check-Out(客户已入住并退房)No-show(客户没有出现,并且告知酒店原因) |
32 | reservation_status_date | 订单的最后状态的设置日期 |
ps:当is_canceled为1(取消)时,后面的数据并不是都为0,而是正常的数值,说明,这里的信息代表的是预订的时候的信息,比如lead_time,代表的是预订之日,到预计抵达之日之间间隔的日期,而非实际抵达的日期。
2.2 简单探索性数据分析
简单的探索性数据分析主要用于研究数据的分布结构,比如一个变量的极大值、极小值、中位数是什么,数据的分布情况是怎样,通过探索性分析,可以直观地掌握数据的各项特征,为后续的数据清洗工作提供有效的帮助,对清洗后的数据进行探索性分析,将有利于后续分析中选取更合适的数据分析技术。