보민님의 블로그

[코드스테이츠 PMB 11기]호텔 예약 수요를 분석 후 파이썬으로 가시화하기_W6D4 본문

PMB/데일리과제

[코드스테이츠 PMB 11기]호텔 예약 수요를 분석 후 파이썬으로 가시화하기_W6D4

야옹씌 2022. 4. 22. 06:22

 

라쿠텐 트래블

라쿠텐 트래블은 일본 호텔 전문 예약사이트이다. 라쿠텐 트래블의 PM이 되었을 시를 가정하고 파이썬으로 데이터를 분석해보려 한다. 구글링 했을 때 라쿠텐에서 자체적으로 dataset을 연구목적으로 제공하는 듯했지만 당장 구할 수는 없어 kaggle에서 호텔 예약 수요에 대한 데이터를 구했다. 라쿠텐 트래블도 호텔 전문 예약 사이트이기에 kaggle의 데이터로 분석해보자

사용 데이터
 

Hotel booking demand

From the paper: hotel booking demand datasets

www.kaggle.com

총 119390의 행과 32개의 컬럼이 존재한다.

데이터 컬럼 :
hotel
is_canceled
lead_time
arrival_date_year
arrival_date_month
arrival_date_week_number
arrival_date_day_of_month
stays_in_weekend_nights
stays_in_week_nights
adults
children
babies
meal
country
market_
segment
distribution_channel
is_repeated_guest
previous_cancellations
previous_bookings_not_canceled
reserved_room_type
assigned_room_type
booking_changes
deposit_type
agent company
days_in_waiting_list
customer_type
adr
required_car_parking_spaces
total_of_special_requests
reservation_status
reservation_status_date

데이터 컬럼이 32개로 너무 많기에 분석에 필요한 데이터만 추출하여 사용할 것이다. 그중 내가 사용할 칼럼은 총 7개로 아래의 데이터를 바탕으로 3가지의 가설을 세우고 검증해보려 한다.

컬럼명 타입 설명
is_canceled Categorical 캔슬여부(1: yes / 0: no)
lead_time Integer 예약한 날짜와 호텔에 도착한 날짜 사이의 경과일
stays_in_weekend_nights
Integer 주말 숙박 일수
stays_in_week_nights Integer 평일 숙박 일수
children Integer 아동/청소년 인원 수
babies Integer 유아 인원 수
adr Numberic 평균 일일 숙박비

가설 1 : 자녀 수가 많을 수록 숙박 일수가 짧을 것이다.
가설 2 : 리드타임이 길수록 취소율이 높을 것이다.
가설 3 : 평균 일일 숙박비가 높으면 취소율이 낮을 것이다.

 

가설 1 : 여행에 동행한 자녀 수가 많을 수록 숙박 일수가 짧을 것이다.

아이와 함께 여행을 가게 되면 성인끼리 여행을 갈 때보다 신경 써야 할게 많다. 특히 유아기의 아이가 있으면 맘 편히 여행하지 못할 것이다. 동행한 자녀 수가 많을수록 장기여행보다는 단기 여행을 선호하여 숙박 일수가 짧아질 것이라 예상했다. 만약 이 가설이 맞다면 여행 인수에 따라 숙박 패키지를 달리 기획할 수 있을것이다.

분석방법- 데이터를 분석하기 위해서 청소년, 유아로 나눠져 있는 children과 babies 칼럼의 값을 더해 '자녀 수'라는 새로운 칼럼을 만들었다. 숙박 일수도 주중, 주말로 나뉘어 있어서 stays_in_weekend_nights과 stays_in_week_nights 칼럼의 값을 더해 '숙박 일수'라는 새로운 칼럼을 만들었다. 자녀 수 별 숙박 일수를 나타내 보았지만 자녀 수에 따른 데이터 격차가 크기 때문에 자녀 수 별로 평균 숙박 일수를 구해 '평균 숙박 일수' 칼럼에 추가하였다.
결과- 최종적으로 구한 게 자녀 수 별 평균 숙박일 그래프로 차이가 크지 않고 오히려 0명 보다 2명일 때가 숙박 일수가 더 길다는 것을 확인할 수 있다.

가설 False

 

가설 2: 도착일 며칠 전에 예약한 경우보다 1년 이상 전에 예약한 경우 취소율이 더 높을 것이다.

여행일이 가까워질수록 예약 취소 시 리스크(예약 취소금 등)도 높다. 하지만 리드타임이 길어질수록 사용자들에게 개인적인 사정이 생기거나 단숨 변심으로 인한 취소 확률이 높아질 것이다. 약 이 가설이 맞다면 리드타임이 긴 사용자들이 이탈하는 이유를 분석하고 취소율을 낮춰야 할 것이다.

분석방법-취소여부 칼럼 중 취소에 해당하는 데이터만 추출해 % 화 해 리드타임과 비교하였다.
결과-그래프를 보면 리드타임이 길수록 취소 확률이 100%에 가까워지는 것을 확인할 수 있다.

가설 True

 

가설 3 :평균 일일 숙박비가 높으면 취소율이 낮을 것이다.

숙박을 취소할 시 숙박비에서 10%를 추가로 지불해야 한다. 숙박비가 높을수록 위약금도 커지기에 일일 숙박비가 높은 방일수록 신중하게 예약할 것이라고 예상했다.

출처 : 서울신문


분석방법-취소여부 칼럼 중 취소에 해당하는 데이터만 추출해 % 화 해 평균 일일 숙박비와 비교하였다.
결과-평균 일일 숙박비가 높아도 취소와는 큰 상관관계를 나타내지 않았다. 오히려 미세하지만 숙박비가 높을수록 취소율이 높다.

가설 False




총 3개의 가설 중 1개가 True인 것을 확인할 수 있다. 이처럼 뇌피셜이 아닌 데이터를 기반으로 의사결정을 해야 한다는 것을 배울 수 있다.