本文是對Airbnb分析案例的匯總。本次分析圍繞用戶獲取&流量轉(zhuǎn)化展開捞挥,對產(chǎn)品的產(chǎn)品規(guī)模希柿,用戶特征诊沪,獲客渠道以及流量轉(zhuǎn)化幾方面進(jìn)行分析。本次分析利用Python進(jìn)行數(shù)據(jù)處理曾撤,利用Tableau進(jìn)行數(shù)據(jù)可視化端姚。
可視化成果鏈接:Airbnb產(chǎn)品數(shù)據(jù)情況
項目背景
Airbnb是一家聯(lián)系旅游人士和家有空房出租的房主的服務(wù)型網(wǎng)站,它可以為用戶提供多樣的住宿信息挤悉。獲取平臺傭金是Airbnb重要的收入方式渐裸,因而充足的用戶資源及轉(zhuǎn)化率至關(guān)重要。本項目從產(chǎn)品的角度出發(fā)尖啡,對用戶及流量進(jìn)行分析橄仆,為產(chǎn)品的進(jìn)一步優(yōu)化提供支持。
分析目標(biāo)
- 查看Airbnb用戶增長及轉(zhuǎn)化率的基本情況以及趨勢衅斩。
- 通過用戶畫像分析了解用戶基本特征盆顾,為獲客及運(yùn)營轉(zhuǎn)換提供支持。
- 渠道分析畏梆,從數(shù)量與質(zhì)量兩個角度去判斷渠道優(yōu)劣您宪,優(yōu)化獲客渠道奈懒。
- 通過漏斗分析,找出路徑中薄弱環(huán)節(jié)宪巨,為產(chǎn)品及運(yùn)營提供優(yōu)化方向磷杏。
數(shù)據(jù)來源及描述:
- 數(shù)據(jù)集來kaggle:https://www.kaggle.com/c/airbnb-recruiting-new-user-bookings/data
-
數(shù)據(jù)描述:
分析框架
數(shù)據(jù)導(dǎo)入
import pandas as pd
import numpy as np
dt_user = pd.read_csv(r".\airbnb-recruiting-new-user-bookings\airbnb-recruiting-new-user-bookings\train_users_2.csv")
dt_user.head()
dt_session = pd.read_csv(r".\airbnb-recruiting-new-user-bookings\airbnb-recruiting-new-user-bookings\sessions.csv")
dt_session.head()
數(shù)據(jù)清洗
# 查看dt_user數(shù)據(jù)情況
dt_user.duplicated(subset=['id'], keep='first').sum()
dt_user.isnull().sum()
dt_user.describe()
通過對dt_user數(shù)據(jù)查看:
- date_first_booking缺失124543個值,age缺失87990個值捏卓,first_affiliate_tracked缺失6065個值极祸。其中date_first_booking可能為未付費(fèi)用戶。
- 通過描述性統(tǒng)計怠晴,發(fā)現(xiàn)age最小為1歲遥金,最大為2014歲,可能為用戶未填寫真實(shí)信息蒜田,需要對其數(shù)據(jù)清洗稿械。
# 將小于7歲與大于75歲的年齡賦值為0
dt_user.loc[(dt_user['age'] < 7) | (dt_user['age'] > 75),'age'] = 0
dt_user[(dt_user['age'] < 7) | (dt_user['age'] > 75)]['age']
# 查看dt_session數(shù)據(jù)情況
dt_session.isnull().sum()
通過對dt_session數(shù)據(jù)缺失值查看,發(fā)現(xiàn)user_id, action, action_type, action_detail, secs_elapsed存在缺失值冲粤,可能由于系統(tǒng)未能跟蹤記錄導(dǎo)致美莫,對分析不產(chǎn)生影響,故不需要處理梯捕。
數(shù)據(jù)分析
1. 歷史注冊用戶增長及轉(zhuǎn)化率情況
# 查看數(shù)據(jù)類型厢呵,發(fā)現(xiàn)日期列為字符串類型,需要轉(zhuǎn)換
type(dt_user['date_account_created'][1])
dt_user_trend = dt_user
# 日期格式轉(zhuǎn)化科阎,同時添加'month_account_created'列述吸,記錄月份
dt_user_trend['month_account_created'] = pd.to_datetime(dt_user['date_account_created']).apply(lambda x:x.strftime("%Y-%m"))
# 按照'month_account_created'列分組,對id計數(shù)锣笨,獲得各月新增注冊用戶數(shù)
dt_user_trend = dt_user_trend.groupby(['month_account_created']).agg({'id':'count','date_first_booking':'count'}).rename(columns = {'id':'user_count','date_first_booking':'booking_numb'}).reset_index()
# 轉(zhuǎn)化率
dt_user_trend['booking_rate'] = dt_user_trend['booking_numb'] / dt_user_trend['user_count']
# 保存并可視化分析
dt_user_trend.to_csv(r".\airbnb-recruiting-new-user-bookings\airbnb-recruiting-new-user-bookings\after_data\dt_user_trend.csv")
用戶增長及轉(zhuǎn)化率:
- 注冊用戶數(shù)成穩(wěn)步上升趨勢蝌矛,產(chǎn)品規(guī)模持續(xù)增加
- 2013年開始,注冊用戶數(shù)增速提升错英,有呈質(zhì)數(shù)爆發(fā)式增長的趨勢
- 轉(zhuǎn)化率成明顯的下跌缺失入撒,由原先的60%跌到40%左右。
2. 用戶特征
2.1 用戶性別占比
# 對性別分組聚合
dt_user_gender = dt_user.groupby(['gender']).agg({'id':'count','date_first_booking':'count'}).rename(columns = {'id':'gen_numb','date_first_booking':'booking_numb'})
# 重置索引
dt_user_gender = dt_user_gender.reset_index()
# 去除無效值
dt_user_gender = dt_user_gender[dt_user_gender['gender'].isin(['FEMALE','MALE'])]
# 性別占比分析
dt_user_gender['gen_rate'] = dt_user_gender['gen_numb'].apply(lambda x:x/dt_user_gender['gen_numb'].sum())
# 轉(zhuǎn)化率
dt_user_gender['booking_rate'] = dt_user_gender['booking_numb'] / dt_user_gender['gen_numb']
# 保存并可視化分析
dt_user_gender.to_csv(r".\airbnb-recruiting-new-user-bookings\airbnb-recruiting-new-user-bookings\after_data\dt_user_gender.csv")
性別特征:
- 男性用戶與女性用戶在用戶注冊量上卻別不大椭岩,男性用戶較女性用戶多7.32%茅逮。
- 男女付費(fèi)轉(zhuǎn)化率相當(dāng),沒有明顯差異
2.2 用戶年齡分布
dt_user_age = dt_user
# 分箱及切分
dt_user_age['age_level'] = pd.cut(dt_user_age['age'],[7,10,20,30,40,50,60,70])
# 篩選不為Null部分
dt_user_age = dt_user_age[dt_user_age['age_level'] == dt_user_age['age_level']]
# 對年齡段分組聚合
dt_user_age_group = dt_user_age.groupby(['age_level']).agg({'id':'count','date_first_booking':'count'}).rename(columns = {'id':'age_level_numb','date_first_booking':'booking_numb'})
# 占比分析
dt_user_age_group['age_level_rate'] = dt_user_age_group['age_level_numb'].apply(lambda x:x/dt_user_age_group['age_level_numb'].sum())
# 轉(zhuǎn)化率
dt_user_age_group['booking_rate'] = dt_user_age_group['booking_numb'] / dt_user_age_group['age_level_numb']
# 重置索引
dt_user_age_group = dt_user_age_group.reset_index()
# 填充空值
dt_user_age_group.loc[0,'booking_rate'] = 0
# 保存并可視化分析
dt_user_age_group.to_csv(r".\airbnb-recruiting-new-user-bookings\airbnb-recruiting-new-user-bookings\after_data\dt_user_age_group.csv")
年齡分布:
- 產(chǎn)品注冊用戶集中在20-50歲判哥,占比高達(dá)86%
- 付費(fèi)轉(zhuǎn)化率基本均在50%到60%之間献雅,其中30-40歲年齡段轉(zhuǎn)化率最高57%,10-20歲年齡段轉(zhuǎn)化率最低47%
2.3 設(shè)備使用情況
# 使用設(shè)備占比
dt_device_type = dt_session['device_type'].value_counts(normalize=True).reset_index().rename(columns = ({'index':'device_type','device_type':'dt_rate'}))
# 保存并可視化分析
dt_device_type.to_csv(r".\airbnb-recruiting-new-user-bookings\airbnb-recruiting-new-user-bookings\after_data\dt_device_type.csv")
設(shè)備使用:
- PC設(shè)備使用率高達(dá)約60%塌计,明顯高于移動設(shè)備挺身,數(shù)據(jù)集為2010-2014年數(shù)據(jù),當(dāng)時移動互聯(lián)網(wǎng)還沒有大幅普及
- PC設(shè)備中锌仅,Mac的使用占比為34%章钾,較Windows設(shè)備25%高9%墙贱;移動設(shè)備中,Iphone占比為20%贱傀,明顯高于其他類型手機(jī)惨撇。
2.4 瀏覽器使用偏好
# 分組聚合
dt_user_browser = dt_user
dt_user_browser = dt_user_browser.groupby(['first_browser']).agg({'id':'count','date_first_booking':'count'}).rename(columns = {'id':'browser_numb','date_first_booking':'booking_numb'}).reset_index()
dt_user_browser = dt_user_browser[dt_user_browser['first_browser'] != '-unknown-']
# 占比分析
dt_user_browser['browser_rate'] = dt_user_browser['browser_numb'].apply(lambda x:x/dt_user_browser['browser_numb'].sum())
# 轉(zhuǎn)化率
dt_user_browser['booking_rate'] = dt_user_browser['booking_numb']/dt_user_browser['browser_numb']
# 保存并可視化分析
dt_user_browser.to_csv(r".\airbnb-recruiting-new-user-bookings\airbnb-recruiting-new-user-bookings\after_data\dt_user_browser.csv")
瀏覽器使用偏好:
- PC端瀏覽器使用主要集中在Chrome,Safari府寒,F(xiàn)irefox及IE魁衙;移動端主要為Safari,其他類型瀏覽器占比非常低椰棘,不足2%纺棺,這里圖表中沒有體現(xiàn)。
- Chrome的注冊用戶數(shù)及轉(zhuǎn)化率均為最高邪狞。
2.5 用戶旅行目的地偏好
# 排除NDF與other并對目的地占比進(jìn)行分析
dt_user_ct_d = dt_user[~dt_user['country_destination'].isin(['NDF','other'])]['country_destination'].value_counts(normalize=True)
# 重命名
dt_user_ct_d = dt_user_ct_d.reset_index().rename(columns = {'index':'country_destination','country_destination':'ct_d_rate'})
# 保存并可視化分析
dt_user_ct_d.to_csv(r".\airbnb-recruiting-new-user-bookings\airbnb-recruiting-new-user-bookings\after_data\dt_user_ct_d.csv")
旅行目的地偏好:
- 注冊用戶首次履行的地點(diǎn)多為美國本地,占比約79%茅撞。
- 境外出游目的地國家均為歐洲發(fā)達(dá)國家帆卓。
3. 營銷方式與渠道分析
3.1 各營銷方式流量占比及付費(fèi)轉(zhuǎn)換情況
# 分組聚合獲取注冊用戶數(shù)
dt_user_channel = dt_user.groupby(['affiliate_channel']).agg({'id':'count'}).rename(columns = {'id':'channel_numb'}).reset_index()
# 獲取付費(fèi)用戶數(shù)
dt_user_channel['channel_booking_numb'] = list(dt_user.groupby(['affiliate_channel']).agg({'date_first_booking':'count'}).rename(columns = {'date_first_booking':'channel_booking_numb'})['channel_booking_numb'])
# 付費(fèi)轉(zhuǎn)換率
dt_user_channel['channel_booking_rate'] = round(dt_user_channel['channel_booking_numb'] / dt_user_channel['channel_numb'],4)
# 保存并可視化分析
dt_user_channel.to_csv(r".\airbnb-recruiting-new-user-bookings\airbnb-recruiting-new-user-bookings\after_data\dt_user_channel.csv")
營銷方式:
- 從用戶注冊增長量來看,direct占比最高米丘,約70%剑令,其次是sem-brand與sem-non-brand。
- 從付費(fèi)轉(zhuǎn)化率來看拄查,direct/sem-brand/sem-non-brand轉(zhuǎn)化率相當(dāng)吁津。
3.2 各營銷來源流量占比及付費(fèi)轉(zhuǎn)換情況
# 分組聚合獲取注冊用戶數(shù)
t_user_provider = dt_user.groupby(['affiliate_provider']).agg({'id':'count'}).rename(columns = {'id':'provider_numb'}).reset_index()
# 獲取付費(fèi)用戶數(shù)
dt_user_provider['provider_booking_numb'] = list(dt_user.groupby(['affiliate_provider']).agg({'date_first_booking':'count'}).rename(columns = {'date_first_booking':'provider_booking_numb'})['provider_booking_numb'])
# 付費(fèi)轉(zhuǎn)化率
dt_user_provider['provider_booking_rate'] = round(dt_user_provider['provider_booking_numb'] / dt_user_provider['provider_numb'],4)
# 保存并可視化分析
dt_user_provider.to_csv(r".\airbnb-recruiting-new-user-bookings\airbnb-recruiting-new-user-bookings\after_data\dt_user_provider.csv")
營銷來源:
- 從注冊用戶數(shù)來看,direct占比最高堕扶,diret/google兩項占比約90%
- 從轉(zhuǎn)化率而言碍脏,direct/goole轉(zhuǎn)化率基本相當(dāng)。
4. 用戶轉(zhuǎn)化漏斗
# 漏斗路徑:
# 總用戶 -> 活躍用戶 -> 注冊用戶 -> 下單用戶 -> 實(shí)際支付用戶 -> 復(fù)購用戶
# 總用戶:即session用戶
# 活躍用戶:我們定義session超過10次為活躍用戶
# 注冊用戶:與user表匹配稍算,即為注冊的用戶
# 下單:action_detail = 'reservations'
# 實(shí)際支付:action_detail = 'payment_instraments'
# 復(fù)購:篩選payment_instraments典尾,對session user_id分組計數(shù)>=2即為復(fù)購
# 總用戶數(shù)
dt_funnel = pd.DataFrame()
dt_funnel['UV'] = dt_session.groupby(['user_id']).agg({'user_id':'count'}).count()
# 活躍數(shù)
dt_active = dt_session.groupby(['user_id']).agg({'user_id':'count'})
dt_funnel['Active'] = list(dt_active[dt_active['user_id'] >= 10].count())
# 注冊用戶數(shù)
dt_logon = dt_session
dt_logon = dt_logon[dt_logon['user_id'].astype('str').isin(list(dt_user['id']))]
dt_logon = dt_logon.groupby(['user_id']).agg({'user_id':'count'}).count()
dt_funnel['Logon'] = dt_logon
# 下單用戶數(shù)
dt_reserve = dt_session
dt_reserve = dt_reserve[dt_reserve['action_detail'] == 'reservations']
dt_funnel['Reserve'] = dt_reserve['user_id'].nunique()
# 實(shí)際支付用戶
dt_pay = dt_session
dt_pay = dt_pay[dt_pay['action_detail'] == 'payment_instruments']
dt_funnel['Pay'] = dt_pay['user_id'].nunique()
# 復(fù)購
# dt_repay = pd.DataFrame()
dt_repay = dt_pay.groupby(['user_id']).agg({'user_id':'count'})
dt_funnel['Repay'] = dt_repay[dt_repay['user_id'] >= 2].count()
# 重置索引
dt_funnel = dt_funnel.reset_index(drop = True)
#行列轉(zhuǎn)換
dt_funnel = dt_funnel.stack().reset_index().rename(columns = {'level_1':'Dimension',0:'numb'})[['Dimension','numb']]
# 保存并可視化分析
dt_funnel.to_csv(r".\airbnb-recruiting-new-user-bookings\airbnb-recruiting-new-user-bookings\after_data\dt_funnel.csv")
用戶轉(zhuǎn)化漏斗:
- 從用戶第一次接觸到登陸注冊的轉(zhuǎn)化率約為54%,從登陸到付費(fèi)的轉(zhuǎn)化率約為12%糊探,從付費(fèi)到復(fù)購轉(zhuǎn)化率為46%钾埂。
- 由漏斗可知,用戶登陸到用戶付費(fèi)環(huán)節(jié)科平,用戶流失率最高褥紫。復(fù)購率約46%,表現(xiàn)良好瞪慧。
總結(jié)
1. 用戶增長及轉(zhuǎn)化率:
分析總結(jié):
1)注冊用戶數(shù)成穩(wěn)步上升趨勢髓考,產(chǎn)品規(guī)模持續(xù)增加
2)2013年開始,注冊用戶數(shù)增速提升汞贸,有呈質(zhì)數(shù)爆發(fā)式增長的趨勢
3)轉(zhuǎn)化率成明顯的下跌缺失绳军,由原先的60%跌到40%左右印机。
策略建議
注冊用戶數(shù)持續(xù)增加,且增速逐漸加快门驾,整體趨勢良好射赛;但付費(fèi)轉(zhuǎn)化率則呈下降趨勢,結(jié)合漏斗分析奶是,用戶在初次使用到活躍到注冊楣责,轉(zhuǎn)化率都在60%以上,但從注冊到付費(fèi)轉(zhuǎn)化率銳減至14%聂沙,產(chǎn)品運(yùn)營在付費(fèi)轉(zhuǎn)化方面可能存在問題秆麸。此外,可能也與Airbnb處于發(fā)展期及汉,用戶規(guī)模的迅速擴(kuò)張是首要目標(biāo)沮趣。
2. 用戶畫像:
分析總結(jié):
1)性別特征:男女用戶在注冊及轉(zhuǎn)化率均相當(dāng),無明顯差異
2)年齡分布:產(chǎn)品用戶集中在20-50歲坷随,其中20-40歲占比70%房铭,40-50歲占比15%;轉(zhuǎn)化率方面20-50歲轉(zhuǎn)化率基本相當(dāng)
3)設(shè)備使用:PC用戶明顯高于移動端用戶温眉,其中Mac占34%缸匪,Windows占25%。
4)瀏覽器使用偏好:主要為PC端Chrome类溢,Safari凌蔬,F(xiàn)irefox及IE四類,占比約90%闯冷。移動端主要為Safair砂心,占比約10%
5)旅行目的地偏好:79%均為美國本土游,出境游更偏愛歐洲發(fā)達(dá)國家窃躲。
策略建議:
1)年齡分布:廣告內(nèi)容策劃可結(jié)合20-40歲人群的興趣愛好计贰,將產(chǎn)品特點(diǎn)融入其中,營造體驗式氛圍蒂窒,吸引這部分人群的使用躁倒;
2)設(shè)備及瀏覽器方面:推廣投放中心要放在PC端,可嘗試與Chrome洒琢,IE秧秉,F(xiàn)irefox,safari合作提升產(chǎn)品曝光量衰抑。
3)旅行目的地偏好:多數(shù)為本土出行象迎,可嘗試聯(lián)合本土出行攻略網(wǎng)站,在熱門的景區(qū)添加推廣,提升產(chǎn)品曝光量砾淌,此外可以與本土交通運(yùn)輸公司合作進(jìn)行推廣啦撮。
3.漏斗轉(zhuǎn)化
分析總結(jié):
1)從用戶第一次接觸到登陸注冊的轉(zhuǎn)化率約為54%,從登陸到付費(fèi)的轉(zhuǎn)化率約為12%汪厨,從付費(fèi)到復(fù)購轉(zhuǎn)化率為46%赃春。
2)從預(yù)約到付費(fèi),有13%的流量損失劫乱。
3)由漏斗可知织中,用戶登陸到用戶付費(fèi)環(huán)節(jié),用戶流失率最高衷戈。復(fù)購率約46%狭吼,表現(xiàn)良好。
策略建議:
1)注冊到預(yù)定流失率較高殖妇,可能因為產(chǎn)品無法滿足用戶的需求刁笙,沒有切中用戶痛點(diǎn),建議進(jìn)行進(jìn)一步用戶調(diào)研谦趣,優(yōu)化產(chǎn)品服務(wù)采盒;
2)預(yù)約到付費(fèi)轉(zhuǎn)化中有13%的流失,需要排查是否在付費(fèi)環(huán)節(jié)產(chǎn)品存在缺陷蔚润,導(dǎo)致用戶無法付費(fèi)造成流失。