网站互动怎么做,怎么用手机自创游戏,自适应网站制作费用,360收录提交入口网址数据分析#xff1a;旅游景点销售门票和消费情况分析 文章目录数据分析#xff1a;旅游景点销售门票和消费情况分析一、前言二、数据准备三、分析数据四、用户购买门票数量分析五、用户复购分析六、用户回购分析七、占比分析1.每个月分层用户占比情况。2.每月不同用户的占比3…数据分析旅游景点销售门票和消费情况分析 文章目录数据分析旅游景点销售门票和消费情况分析一、前言二、数据准备三、分析数据四、用户购买门票数量分析五、用户复购分析六、用户回购分析七、占比分析1.每个月分层用户占比情况。2.每月不同用户的占比3.每月活跃用户的占比4.每月回流用户占比励志语录一、前言
旅游景区作为旅游业持续发展的重要载体,在旅游业中起到中流砥柱的作用。随着人们的生活水平的不断提升,对旅游服务质量的要求也越来越高,特别是在旅游景区,大部分游客已经不再满足于现有的旅游服务水平,因此旅游景区服务质量的改善提升对旅游景区的发展具有一定的现实意义。目前,由于互联网大数据时代的来临,网络数据呈爆炸式增长,可以通过各种网站游客的评论数据获得游客对于旅游景区的感知情况。但这类数据随意性、社会性、分散性等特点,很难直接使用,文本分析技术应运而生。本文使用文本分析技术从冗杂的评论数据中识别出用户谈论的主要文本内容,提炼旅游景区应该主要关注问题。本文基于游客感知的视角,通过分析、挖掘游客对旅游景区的网络评论了解游客对景区形象的评价和感受。来自于网络
二、数据准备
1.导入所需要的模块。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams[font.sans-serif][SimHei]# 用来正常显示中文标签
from datetime import datetime2.导入数据查看前十数据。
df pd.read_csv(rC:\Users\XWJ\Desktop\kelu.csv)
df.head()3.使用函数info():数据表的基本信息维度列名称数据格式所占空间等。
df.info()4…使用describe()函数计算数据集中每列的总数、均值、标准差、最小值、25%、50%、75%分位数以及最大值。
df.describe()根据平均分92和1/2分位得知大多数用户评分在100效果非常不错。 16年~19年门票价格都是110。
三、分析数据
1.每天销量分析。
df[time] pd.to_datetime(df[time],format%Y/%m/%d)
df.groupby(time)[rating].count().plot(figsize(12,4))整体来看每日销量呈现上升趋势但是在18年5月份前后234出现一次较大的波动销量急剧下滑猜测台风疫情运营推广不利。 6年9月~17年1月销量非常低每天平均2-3张门票猜测101观景台门票刚刚上线发售观景台刚刚对游客进行开放。
2.每月销量分析。
df[month] df[time].values.astype(datetime64[M]) #保留月份精度的日期
df.head()
df.groupby(month)[rating].count().plot(figsize(12,4)) #按照月份进度进行计数
plt.xlabel(月份)
plt.ylabel(销售数量)
plt.title(16~19年每月销量分析)月份整体销量依然呈现上升趋势但是在18年234月份月销量下滑明显。跟每天销量下降有关。猜测台风疫情运营推广不利。
3.每个用户的购买量和消费金额分析。
df1 pd.DataFrame({name:[zhangsan,lisi],group:[A,B]
})
df2 pd.DataFrame({name:[wangwu,lisi],score:[88,90],group:[C,D]
})
pd.merge(leftdf1,rightdf2,onname,howinner,suffixes[_1,_2])#按照游客分组统计每个游客的购买次数
grouped_count_author df.groupby(author)[frequency].count().reset_index()
#按照游客分组统计每个游客的消费金额
grouped_sum_amount df.groupby(author)[amount].sum().reset_index()
user_purchase_retention pd.merge(leftgrouped_count_author,rightgrouped_sum_amount,onauthor,howinner)
user_purchase_retention.tail(60)
user_purchase_retention.plot.scatter(xfrequency,yamount,figsize(12,4))
plt.title(用户的购买次数和消费金额关系图)
plt.xlabel(购物次数)
plt.ylabel(消费金额)四、用户购买门票数量分析
1.用户购买门票数量。
df.groupby(author)[frequency].count().plot.hist(bins50) #影响柱子的宽度宽度 最大值-最小值/bins
plt.xlim(1,17)
plt.xlabel(购买数量)
plt.ylabel(人数)
plt.title(用户购买门票数量直方图)绝大多数用户购买过1张门票用户在7000人次左右。 少数人购买过2~4张门票猜测可能是台北周边用户。
2.用户购买门票2次及以上情况分析。
df_frequency_2 df.groupby(author).count().reset_index()
df_frequency_2.head()
df_frequency_2[df_frequency_2[frequency]2].groupby(author)[frequency].sum().plot.hist(bins50)
plt.xlabel(购买数量)
plt.ylabel(人数)
plt.title(购买门票在2次及以上的用户数量)消费两次的用户在整体上占比较大大于2次的用户占小部分用户购买次数最多为8次。
3.查看购买2次及以上的具体人数。
df_frequency_2[df_frequency_2[frequency]2].groupby(frequency)[author].count()出去购买一次的顾客可以看出购买2次有402人购买3次的99人以此类推得知大多数据倾向于购买2~5。
4.购买次数在1~5次之间的用户占比分析。
#1.按照用户进行分组 2.取出购买次数 3.过滤出1~5次用户 4.绘制饼图
df_frequency_gte_1 df.groupby(author)[frequency].count().reset_index()
#过滤出5次的用户
values list(df_frequency_gte_1[df_frequency_gte_1[frequency]5].groupby(frequency)[frequency].count())
print(values)
plt.pie(values,labels[购买1次,购买2次,购买3次,购买4次,购买5次],autopct%1.1f%%)
plt.title(购买次数在1~5次之间的人数占比)
plt.legend()可以看出购买一次的占比83%其次逐渐递减。并且递减比较明显购买3.4.5的占比相近人数都很少。
5.购买次数在2~5次之间的用户占比分析。
#过滤出2次并且5次的用户
df_frequency_gte_2 df_frequency_2[df_frequency_2[frequency]2].reset_index()
values list(df_frequency_gte_2[df_frequency_gte_2[frequency]5].groupby(frequency)[frequency].count())
print(values)
plt.pie(values,labels[购买2次,购买3次,购买4次,购买5次],autopct%1.1f%%)
plt.title(购买次数在2~5次之间的人数占比)
plt.legend()在2~5次之间购买2.3次用户占比最大综合占据了80%
五、用户复购分析
1.复购率分析。 复购率在某一时间窗口内(多指一个月)内消费次数在两次及以上的用户在总消费用户的占比 三种情况 消费次数1为复购用户用1表示 消费次数1为非复购用户用0表示 消费次数0, 未消费用户用na表示 applymap:df处理每一个元素 apply:df处理每一行或者每一列数据 map:Serise处理每一个元素 pivot_count df.pivot_table(indexauthor,columnsmonth,valuesfrequency,aggfunccount).fillna(0)
pivot_count pivot_count.applymap(lambda x: 1 if x1 else np.NAN if x0 else 0)
# pivot_count[pivot_count[2016-09-01]1]
(pivot_count.sum()/pivot_count.count()).plot()
plt.xlabel(时间(月))
plt.ylabel(百分比(%))
plt.title(16~19年每月用户复购率)16年9月份复购率最高达到了7.5%然后开始下降趋于平稳在1.2%。
2.复购用户人数。
pivot_count.sum().plot()
plt.xlabel(时间/月)
plt.ylabel(复购人数)
plt.title(16~19年每月的复购人数折线图)整体来看复购人数长线上升趋势。 但是在18年2.3.4.10和19年2月份复购人数下降较为明显出现异常信号需要和业务部门具体分析情况。
六、用户回购分析
1.回购率分析。 回购率在某一个时间窗口内消费过的用户在下一个时间窗口仍旧消费的占比 pivot_purchase df.pivot_table(indexauthor,columnsmonth,valuesfrequency,aggfunccount).fillna(0)
pivot_purchase.head()def purchase_return(data): #data:代表的是每一名游客的所有月份消费记录status [] #存储每一个月回购状态for i in range(30):#遍历每一个月最后一个月除外####本月消费if data[i] 1:if data[i1] 1:#下个月有消费是回购用户1status.append(1)else:#na|未消费status.append(0) #非回购用户0else: ####本月未消费status.append(np.NaN)status.append(np.NaN)return pd.Series(status,pivot_purchase.columns)
pivot_purchase_return pivot_purchase.apply(purchase_return,axis1) #用户回购状态
(pivot_purchase_return.sum()/pivot_purchase_return.count()).plot()
plt.title(16年~19年每月的回购率)
plt.xlabel(月份)
plt.ylabel(回购率%)回购率最高在18年6月份达到4% 整体来看回购率呈现微弱上升趋势 出现了几次较大下滑分别是17年6月份18年1月份18年8月份19年1月份
2.回购人数分析。
pivot_purchase_return.sum().plot()
plt.title(16年~19年每月的回购人数)
plt.xlabel(月份)
plt.ylabel(回购人数)
print(pivot_purchase_return.sum())整体呈现上升趋势回购人数最多时在18年11月份人数未17人 其中有几次回购人数下降较为明显主要在分别是17年6月份18年1月份18年8月份19年1月份
七、占比分析
1.每个月分层用户占比情况。
#活跃用户|不活跃用户|回流用户|新用户
def active_status(data): #data每一行数据共31列status [] #存储用户31个月的状态new|active|unactive|return|unregfor i in range(31):#判断本月没有消费0if data[i] 0:if len(status)0: #前几个月没有任何记录也就是97年1月0status.append(unreg) else:#之前的月份有记录判断上一个月状态if status[i-1] unreg:#一直没有消费过status.append(unreg)else:#上个月的状态可能是new|active|unative|reuturnstatus.append(unactive)else:#本月有消费1if len(status)0:status.append(new) #第一次消费else:#之前的月份有记录判断上一个月状态if status[i-1]unactive:status.append(return) #前几个月不活跃现在又回来消费了回流用户elif status[i-1]unreg:status.append(new) #第一次消费else:#new|activestatus.append(active) #活跃用户return pd.Series(status,pivot_purchase.columns) #值status,列名18个月份
pivot_purchase_status pivot_purchase.apply(active_status,axis1)
pivot_status_count pivot_purchase_status.replace(unreg,np.NaN).apply(pd.value_counts)
pivot_status_count.T.plot.area()可以看出红色不活跃用户占据网站用户的主体 橙色新用户从17年的1月~19年1月呈现上升趋势但是在18年4月份左右新用户的量突然急剧下降异常信号 以后新用户又开始逐渐上涨回复稳定状态 绿色回流用户一直维持稳定稳定状态但是在18年2~4月份,出现异常下降情况异常信号
2.每月不同用户的占比
return_rate pivot_status_count.apply(lambda x:x/x.sum())
return_rate.T.plot()在17年1月份过后网站用户主体由不活跃用户组成新用户占比开始逐渐下降并且趋于稳定稳定在10%左右 活跃用户和会用户一直很稳定并且占比较小 16年9月前后新用户和不活跃用户发生较大的变化猜测活动或者节假日造成…
3.每月活跃用户的占比
return_rate.T[active].plot(figsize(12,6))
plt.xlabel(时间(月))
plt.ylabel(百分比)
plt.title(每月活跃用户的占比分析)在17年1月份活跃用户占比较高在0.5%但是在1-2月份急剧下降猜测春节的影响或者温度 结合历年1~2月份销量来看都会出现一定比例的下降再次验证我们的猜测春节的影响 在18年2月和5月出现异常门票销量下降猜测雨水或者台风影响
4.每月回流用户占比
return_rate.T[return].plot(figsize(12,6))
plt.xlabel(时间(月))
plt.ylabel(百分比)
plt.title(每月回流用户的占比分析)整体来看回流用户比例上升趋势但是波动较大 在17年1月和6月18年4月19年2月回流用户比例都出现了较大幅度下降表现为异常信号 不论是回流用户还是活跃用户在以上几个月份中都表现出下降趋势。 np.mean(return_rate.T[return])
#0.00736823576229978 回流用户平均值在0.73%左右 在17年9月份以后仅有连个异常点在平均值一下 在17年9月份以前所有数据都显示出回流用户比例低于平均值猜测景点开放不久很多游客尚未发现本景点本景点在该平台上线不久 励志语录
人生从来没有固定的路线决定你能够走多远的并不是年龄而是你的努力程度。无论到了什么时候只要你还有心情对着糟糕的生活挥拳宣战都不算太晚。迟做总比不做好