租车服务系统数据分析

本文对租车服务系统里的用户基础数据进行数据分析。

一、数据说明

在这里插入图片描述

二、分析思路

在这里插入图片描述

三、数据分析
(一)导入数据
import pandas as pd
from datetime import timedelta
data=pd.read_csv("用户订单基础数据.csv",encoding='gb18030')
#日期转换(由于数据质量较好,只需进行时间字段的转换)
data['order_day']=pd.to_datetime(data['order_day'])
data['book_day']=pd.to_datetime(data['book_day'])
(三)提前预定时间分析
data["days"]=(data['book_day']-data['order_day']).apply(lambda x:x.days)
data_days=data.groupby("days")["trade_order_id"].count()
data_days.plot()

在这里插入图片描述

#选取0-20天
axes=data_days.plot()
axes.set_xlim([0,20])

在这里插入图片描述

data_days[:3].sum()/data_days.sum()

在这里插入图片描述
提前两天之内预定的订单占据所有订单的84.2%。

(四)订单类别分析
#选取2016-2018年的数据
data_1=data[(data['order_day'].dt.year==2016)|(data['order_day'].dt.year==2017)|(data['order_day'].dt.year==2018)]
data_1["weekday"]=data_1['order_day'].dt.weekday
#计算各订单分类的数量
order_order_class_name=data_1.groupby(["order_order_class_name"])["trade_order_id"].count()
order_order_class_name

在这里插入图片描述

#绘制订单分类分布图
from pyecharts.charts import Pie
from pyecharts import options as opts
c =(Pie()
        .add("",[list(z) for z in zip(order_order_class_name.keys(),order_order_class_name.values.tolist())],radius=["40%","75%"], label_opts=opts.LabelOpts(is_show=True))
        .set_global_opts(title_opts=opts.TitleOpts(title="订单分类分布图"),legend_opts=opts.LegendOpts(orient="vertical",pos_top="15%",pos_left="2%"))
        .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{d}% "))
    
    )
c.render_notebook()

在这里插入图片描述
"专车-自营-直营"的订单类别占据所有订单的93.9%,"专车-自营-代理"的订单类别仅占据所有订单的0.04%。

  • 周期内各订单类别的订单数量分析
data_11=data_1[data_1["order_order_class_name"]=="专车-OTA"].groupby("weekday")["trade_order_id"].count().reset_index()
data_12=data_1[data_1["order_order_class_name"]=="专车-自营-代理"].groupby("weekday")["trade_order_id"].count().reset_index()
data_13=data_1[data_1["order_order_class_name"]=="专车-自营-直营"].groupby("weekday")["trade_order_id"].count().reset_index()
data_14=data_1[data_1["order_order_class_name"]=="出租车-OTA"].groupby("weekday")["trade_order_id"].count().reset_index()
data_order_class=pd.merge(data_11,data_12,on="weekday",how="outer")
data_order_class=pd.merge(data_order_class,data_13,on="weekday",how="outer")
data_order_class=pd.merge(data_order_class,data_14,on="weekday",how="outer")
data_order_class.columns=["weekday","专车-OTA","专车-自营-代理","专车-自营-直营","出租车-OTA"]
data_order_class

在这里插入图片描述

from pyecharts.charts import Bar,Line,Grid
from pyecharts import options as opts
from pyecharts.globals import ThemeType
bar=Bar(init_opts=opts.InitOpts(width='900px',height='600px',theme=ThemeType.DARK))
bar.add_xaxis(data_order_class["weekday"].tolist())
bar.add_yaxis("专车-OTA",data_order_class["专车-OTA"].tolist(),stack='stack1')
bar.add_yaxis('专车-自营-直营',data_order_class['专车-自营-直营'].tolist(),stack='stack2')
bar.add_yaxis('出租车-OTA',data_order_class['出租车-OTA'].tolist(),stack='stack3')
bar.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
bar.set_series_opts(markline_opts=opts.MarkLineOpts(
    data=[# 设置最大值的标记线
          opts.MarkPointItem(type_="max", name="最大值")
          ]))
bar.render_notebook()

在这里插入图片描述
在一周中,订单类别为"专车-自营-直营"的订单在周五,周六,周日比一周中其他日期多,并且在周五是最多的,比一周最少的周二高出了约11.26%。
同样,订单类别为"出租车-OTA"在一周中,周五的订单是最多的,比一周最少的周三高出了约66.7%。
而"专车-OTA"的订单类别在周一的订单是最多的。

  • 三年内各月份各订单类别的订单数量分析
data_1["month"]=data_1['order_day'].values.astype('datetime64[M]')
data_11=data_1[data_1["order_order_class_name"]=="专车-OTA"].groupby("month")["trade_order_id"].count().reset_index()
data_12=data_1[data_1["order_order_class_name"]=="专车-自营-代理"].groupby("month")["trade_order_id"].count().reset_index()
data_13=data_1[data_1["order_order_class_name"]=="专车-自营-直营"].groupby("month")["trade_order_id"].count().reset_index()
data_14=data_1[data_1["order_order_class_name"]=="出租车-OTA"].groupby("month")["trade_order_id"].count().reset_index()
data_order_class_month=pd.merge(data_11,data_12,on="month",how="outer")
data_order_class_month=pd.merge(data_order_class_month,data_13,on="month",how="outer")
data_order_class_month=pd.merge(data_order_class_month,data_14,on="month",how="outer")
data_order_class_month.columns=["month","专车-OTA","专车-自营-代理","专车-自营-直营","出租车-OTA"]
data_order_class_month=data_order_class_month.sort_values(by="month").reset_index(drop=True)
data_order_class_month=data_order_class_month.fillna(0)
data_order_class_month

在这里插入图片描述

from pyecharts.charts import Line
line=Line(init_opts=opts.InitOpts(width='900px',height='600px',theme=ThemeType.DARK))
line.add_xaxis(data_order_class_month["month"].dt.date.tolist())
line.add_yaxis("专车-OTA",data_order_class_month["专车-OTA"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True)
line.add_yaxis("专车-自营-直营",data_order_class_month["专车-自营-直营"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True)
line.add_yaxis("出租车-OTA",data_order_class_month["出租车-OTA"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True)
# line.set_series_opts(markline_opts=opts.MarkLineOpts(
#           # 设置平均值的标记线
#     data=[opts.MarkPointItem(type_="average", name="平均值"),
#           # 设置最大值的标记线
#           opts.MarkPointItem(type_="max", name="最大值")
#           ]))
line.set_global_opts(title_opts=opts.TitleOpts(title=""))
line.set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts={"rotate":90}))
line.render_notebook()

在这里插入图片描述
横向对比,订单类别为"专车-自营-直营"的订单在这三年期间,每个月份的订单远远高于其他订单类别的订单;纵向对比,在2016年11月份到2017年4月份,订单类别为"专车-自营-直营"的订单数量,猛然激增,达到这三年的最高峰707,而在这之后到2018年6月,跌至三年谷底211。

  • 对订单类别为"专车-自营-直营"的订单渠道剖析
data_=data_1[data_1["order_order_class_name"]=="专车-自营-直营"]
data__=data_.groupby("source_type_name")["trade_order_id"].count()
data__

在这里插入图片描述

from pyecharts.charts import Pie
from pyecharts import options as opts
c =(Pie()
        .add("",[list(z) for z in zip(data__.keys(),data__.values.tolist())],radius=["40%","75%"], label_opts=opts.LabelOpts(is_show=True))
        .set_global_opts(title_opts=opts.TitleOpts(title='"专车-自营-直营"订单来源分布图'),legend_opts=opts.LegendOpts(orient="vertical",pos_top="15%",pos_left="2%"))
        .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{d}% "))  
    )
c.render_notebook()

在这里插入图片描述
订单类别为"专车-自营-直营"的订单渠道有平台渠道和专车渠道,来自平台渠道的订单数量占据所有订单数量的91.17%,来自专车渠道的订单数量占据所有订单数量的8.83%。

data_11=data_[data_["source_type_name"]=="专车"].groupby("month")["trade_order_id"].count().reset_index()
data_12=data_[data_["source_type_name"]=="平台"].groupby("month")["trade_order_id"].count().reset_index()
data_source_type_name=pd.merge(data_11,data_12,on="month",how="outer")
data_source_type_name.columns=["month","专车","平台"]
data_source_type_name=data_source_type_name.sort_values(by="month").reset_index(drop=True)
data_source_type_name=data_source_type_name.fillna(0)
data_source_type_name

line=Line(init_opts=opts.InitOpts(width='900px',height='600px',theme=ThemeType.DARK))
line.add_xaxis(data_source_type_name["month"].dt.date.tolist())
line.add_yaxis("专车",data_source_type_name["专车"].tolist(),
               is_smooth=True)
line.add_yaxis("平台",data_source_type_name["平台"].tolist(),
              # 设置折线是否平滑
              is_smooth=True)
line.set_series_opts(markline_opts=opts.MarkLineOpts(
    data=[# 设置最大值的标记线
          opts.MarkPointItem(type_="max", name="最大值")
          ]))
line.set_global_opts(title_opts=opts.TitleOpts(title=""))
line.render_notebook()

在这里插入图片描述
渠道剖析可得,订单类别为"专车-自营-直营"订单,在2016年11月份到2017年4月份,其订单数量猛涨,在2017年4月到2018年6月其订单数量又跌至三年的谷底,主要源自于专车渠道,而在2016年5月份之前,平台对于该订单类别的影响力大于专车渠道,但是在2016年5月份之后,专车渠道成为该订单来源的主要渠道。

(五)服务类型分析
service_type_name=data_1.groupby("service_type_name")["trade_order_id"].count()
service_type_name

在这里插入图片描述

from pyecharts.charts import Pie
from pyecharts import options as opts
c =(Pie()
        .add("",[list(z) for z in zip(service_type_name.keys(),service_type_name.values.tolist())],radius=["40%","75%"], label_opts=opts.LabelOpts(is_show=True))
        .set_global_opts(title_opts=opts.TitleOpts(title='服务类型分布图'),legend_opts=opts.LegendOpts(orient="vertical",pos_top="15%",pos_left="2%"))
        .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{d}% "))
    
    )
c.render("服务类型分布图.html")
c.render_notebook()

在这里插入图片描述
“接机”的服务类型订单占据所有订单的42.13%,“送机”的服务类型订单占据所有订单的39.93%,通往机场的租车服务订单成为租车订单的最主要角色;
另外,城市交通(时租)占据8.62%,接站占据5.03%,送站占据3.83%,除以上的服务类型之外,用户几乎不下单其余服务类型;
从接送机和接送站角度,“接机”的服务类型订单比“送机”的服务类型订单高2.2%,“接站”比“送站”高1.2%。

  • 周期内租车服务类型分析
data_11=data_1[data_1["service_type_name"]=="城市交通(时租)"].groupby("weekday")["trade_order_id"].count().reset_index()
data_12=data_1[data_1["service_type_name"]=="半日租"].groupby("weekday")["trade_order_id"].count().reset_index()
data_13=data_1[data_1["service_type_name"]=="日租"].groupby("weekday")["trade_order_id"].count().reset_index()
data_14=data_1[data_1["service_type_name"]=="接机"].groupby("weekday")["trade_order_id"].count().reset_index()
data_15=data_1[data_1["service_type_name"]=="送机"].groupby("weekday")["trade_order_id"].count().reset_index()
data_16=data_1[data_1["service_type_name"]=="接站"].groupby("weekday")["trade_order_id"].count().reset_index()
data_17=data_1[data_1["service_type_name"]=="送站"].groupby("weekday")["trade_order_id"].count().reset_index()
data_18=data_1[data_1["service_type_name"]=="接接机热门线路"].groupby("weekday")["trade_order_id"].count().reset_index()
data_19=data_1[data_1["service_type_name"]=="送热门线路"].groupby("weekday")["trade_order_id"].count().reset_index()
data_20=data_1[data_1["service_type_name"]=="接景点"].groupby("weekday")["trade_order_id"].count().reset_index()
data_21=data_1[data_1["service_type_name"]=="送景点"].groupby("weekday")["trade_order_id"].count().reset_index()
data_service_type=pd.merge(data_11,data_12,on="weekday",how="outer")
data_service_type=pd.merge(data_service_type,data_13,on="weekday",how="outer")
data_service_type=pd.merge(data_service_type,data_14,on="weekday",how="outer")
data_service_type=pd.merge(data_service_type,data_15,on="weekday",how="outer")
data_service_type=pd.merge(data_service_type,data_16,on="weekday",how="outer")
data_service_type=pd.merge(data_service_type,data_17,on="weekday",how="outer")
data_service_type=pd.merge(data_service_type,data_18,on="weekday",how="outer")
data_service_type=pd.merge(data_service_type,data_19,on="weekday",how="outer")
data_service_type=pd.merge(data_service_type,data_20,on="weekday",how="outer")
data_service_type=pd.merge(data_service_type,data_21,on="weekday",how="outer")
data_service_type=data_service_type.fillna(0)
data_service_type.columns=["weekday","城市交通(时租)","半日租","日租","接机","送机","接站","送站","接热门线路","送热门线路","接景点","送景点"]
data_service_type

在这里插入图片描述

line=Line(init_opts=opts.InitOpts(width='900px',height='600px',theme=ThemeType.DARK))
line.add_xaxis(data_service_type["weekday"].tolist())
line.add_yaxis("城市交通(时租)",data_service_type["城市交通(时租)"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True)
line.add_yaxis("接机",data_service_type["接机"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True)
line.add_yaxis("送机",data_service_type["送机"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True)
line.add_yaxis("接站",data_service_type["接站"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True)
line.add_yaxis("送站",data_service_type["送站"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True)
line.set_series_opts(markline_opts=opts.MarkLineOpts(
    data=[# 设置最大值的标记线
          opts.MarkPointItem(type_="max", name="最大值")
          ]))
line.set_global_opts(title_opts=opts.TitleOpts(title=""))
line.render_notebook()

在这里插入图片描述
从折线图直观看出,接送机订单远远高于其他服务类型订单,“接机”服务类型在一周中,周四和周五的订单量成为一周订单量折线图的高峰区,“送机”服务类型在一周中,周五和周六的订单量成为一周订单量折线图的高峰区;
“接站”服务类型在一周中,周五订单量成为一周订单量折线图的高峰点,“送机”服务类型在一周中,周四的订单量成为一周订单量折线图的高峰点;
“城市交通(时租)”服务类型,从周三开始,订单量不断上升,到周五和周六,达到一周的高峰区,周日又开始回落。

  • 三年内各月份各租车服务类型分析
data_1["month"]=data_1['order_day'].values.astype('datetime64[M]')
data_11=data_1[data_1["service_type_name"]=="城市交通(时租)"].groupby("month")["trade_order_id"].count().reset_index()
data_12=data_1[data_1["service_type_name"]=="半日租"].groupby("month")["trade_order_id"].count().reset_index()
data_13=data_1[data_1["service_type_name"]=="日租"].groupby("month")["trade_order_id"].count().reset_index()
data_14=data_1[data_1["service_type_name"]=="接机"].groupby("month")["trade_order_id"].count().reset_index()
data_15=data_1[data_1["service_type_name"]=="送机"].groupby("month")["trade_order_id"].count().reset_index()
data_16=data_1[data_1["service_type_name"]=="接站"].groupby("month")["trade_order_id"].count().reset_index()
data_17=data_1[data_1["service_type_name"]=="送站"].groupby("month")["trade_order_id"].count().reset_index()
data_18=data_1[data_1["service_type_name"]=="接热门线路"].groupby("month")["trade_order_id"].count().reset_index()
data_19=data_1[data_1["service_type_name"]=="送热门线路"].groupby("month")["trade_order_id"].count().reset_index()
data_20=data_1[data_1["service_type_name"]=="接景点"].groupby("month")["trade_order_id"].count().reset_index()
data_21=data_1[data_1["service_type_name"]=="送景点"].groupby("month")["trade_order_id"].count().reset_index()
data_service_type_month=pd.merge(data_11,data_12,on="month",how="outer")
data_service_type_month=pd.merge(data_service_type_month,data_13,on="month",how="outer")
data_service_type_month=pd.merge(data_service_type_month,data_14,on="month",how="outer")
data_service_type_month=pd.merge(data_service_type_month,data_15,on="month",how="outer")
data_service_type_month=pd.merge(data_service_type_month,data_16,on="month",how="outer")
data_service_type_month=pd.merge(data_service_type_month,data_17,on="month",how="outer")
data_service_type_month=pd.merge(data_service_type_month,data_18,on="month",how="outer")
data_service_type_month=pd.merge(data_service_type_month,data_19,on="month",how="outer")
data_service_type_month=pd.merge(data_service_type_month,data_20,on="month",how="outer")
data_service_type_month=pd.merge(data_service_type_month,data_21,on="month",how="outer")

data_service_type_month.columns=["month","城市交通(时租)","半日租","日租","接机","送机","接站","送站","接热门线路","送热门线路","接景点","送景点"]
data_service_type_month=data_service_type_month.fillna(0)
data_service_type_month

在这里插入图片描述

line=Line(init_opts=opts.InitOpts(width='1000px',height='600px',theme=ThemeType.DARK))
line.add_xaxis(data_service_type_month["month"].dt.date.tolist())
line.add_yaxis("城市交通(时租)",data_service_type_month["城市交通(时租)"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True)
line.add_yaxis("接机",data_service_type_month["接机"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True)
line.add_yaxis("送机",data_service_type_month["送机"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True)
line.add_yaxis("接站",data_service_type_month["接站"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True)
line.add_yaxis("送站",data_service_type_month["送站"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True)
# line.set_series_opts(markline_opts=opts.MarkLineOpts(
#     data=[# 设置最大值的标记线
#           opts.MarkPointItem(type_="max", name="最大值")
#           ]))
line.set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts={"rotate":90}))
line.set_global_opts(title_opts=opts.TitleOpts(title=""))
line.render("服务类型分析.html")
line.render_notebook()

在这里插入图片描述
服务类型为“接机”和“送机”的每月订单数量折线起跌波动一般具有一致性。
在2017年上半年,服务类型为“接机”和“送机”的订单数量成为三年间的订单数量折线图的一大高峰,但是在2017年5月,其订单数量不断下跌(“接机”服务类型的订单数量在2018年1月和2018年4月有一小高峰,“接机”在2018年1月有一小高峰),在2018年6月,跌至谷底。

(六)城市分布分析
data_1["year"]=data['order_day'].dt.year
data_11=data_1[data_1["year"]==2016].groupby("city_name")["trade_order_id"].count().reset_index()
data_12=data_1[data_1["year"]==2017].groupby("city_name")["trade_order_id"].count().reset_index()
data_13=data_1[data_1["year"]==2018].groupby("city_name")["trade_order_id"].count().reset_index()
data_city_name=pd.merge(data_11,data_12,on="city_name",how="outer")
data_city_name=pd.merge(data_city_name,data_13,on="city_name",how="outer")
data_city_name.columns=["city","2016","2017","2018"]
data_city_name

在这里插入图片描述

#三年遍布城市数量
data_city_name.count()

在这里插入图片描述

years=["2016","2017","2018"]
citys=list(data_city_name["city"]) 
datas=[]
for y in years:
    dict_year={}
    dict_year['time']=y
    data_list=[[i,j] for i,j in zip(citys,list(data_city_name[y]))]
    dict_year['data']=data_list
    datas.append(dict_year)
datas

在这里插入图片描述

import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Map, Timeline, Grid
from pyecharts.globals import ThemeType

t = Timeline()
for y in years:
    map_data=[i['data'] for i in datas if i['time'] == y][0]
    min_data,max_data = (
        min([d[1] for d in map_data]),
        max([d[1] for d in map_data])

    )
    map_chart = (
        Map(init_opts=opts.InitOpts(width='1000px',height='600px',theme=ThemeType.DARK))
            .add(
                "",
                map_data,
                "china-cities",
                label_opts=opts.LabelOpts(is_show=False),
                )
            .set_global_opts(
                title_opts=opts.TitleOpts(
                title="{}年车车分布图".format(y),
#                subtitle="GDP单位:亿元",
                pos_left="center",
                pos_top="top",
                title_textstyle_opts=opts.TextStyleOpts(font_size=25, color='black')
                ),
                visualmap_opts=opts.VisualMapOpts(min_=min_data,
                                              max_=max_data,
                                              pos_left="10",
                                              pos_top="bottom",
                                              is_piecewise=True,
                                              textstyle_opts=opts.TextStyleOpts(color="#000000"),
                                              )
        )
    )
    grid = (
        Grid()
            .add(map_chart, grid_opts=opts.GridOpts(pos_left="24%"))
    )

    t.add(grid, "")
    t.add_schema(
#        play_interval=500,  # 轮播速度
        is_timeline_show=True,  # 是否显示 timeline 组件
        is_auto_play=False,# 是否自动播放
        is_loop_play=True
        
    )
t.render("城市分布分析.html")
t.render_notebook()

在这里插入图片描述
2016年,租车服务只有在零星几个城市使用,使用率较高的城市有北京,成都,上海;2017年,租车服务在从这几个零星城市扩延,从66个使用城市扩展到86个使用城市,除了北京,成都,上海之外,昆明,广州,深圳,重庆也成为了使用率较高的城市;2018年,租车服务遍布长江三角及其以南的沿海地区,然而,深圳和广州相比2017年,使用率回落。

(七)RFM用户分层
# 数据中没有给出每个订单或每个车型具体花费的金额
# 按文档中给出的用户画像标签,推算出专车经济型  专车舒适型  专车豪华型  商务型 价格依次增加
# 假设
# 分专车经济型  专车舒适型  专车豪华型  商务型  假设花费的金额分别为
#     10            20          30        40
# 其余车型价值均记为5
def getM(df):
    if df['order_car_type_id'] == 1:
        return 10
    if df['order_car_type_id'] == 2:
        return 20
    if df['order_car_type_id'] == 3:
        return 30
    if df['order_car_type_id'] == 5:
        return 40
    return 5
data['MONEY'] = data.apply(getM,axis=1)
current_date = data.order_day.max()
# 计算用户最近一年内完成的订单数量记为freq
# 订单状态为完成态 order_status in (6,7)
data['freq'] = data.loc[(data.order_day<current_date-timedelta(days=360)) & 
                     ((data.order_status == 6) | (data.order_status == 7)),:].groupby(by = 'uid',as_index = False).count()['trade_order_id']
data['freq'].fillna(value=0,inplace=True)
# 计算每条数据离现在最近一次消费时间(R)
import datetime
def R(s):
    now = str(datetime.datetime.now()).split()[0]
    now = datetime.datetime.strptime(now,'%Y-%m-%d')
    r = now - s
    r = int(str(r).split()[0])
    return r
data['R'] = data['order_day'].map(R)
# 分组计算每个【COMPANY】,最小【R】,计数【AMOUNT】,合计【MONEY】
rfm = data.groupby(['uid']).agg({'R':'min','freq':'max','MONEY':'sum'}).reset_index()
rfm.rename(columns={'freq':'F','MONEY':'M'},inplace=True)
# 计算平均 RFM
rfm['avg_R'] = round(rfm['R'].mean(),0)
rfm['avg_F'] = round(rfm['F'].mean(),0)
rfm['avg_M'] = round(rfm['M'].mean(),0)
# 先小于平均值标记1,再大于平均值标记 1
rfm['flag_R'] = rfm['R'] < rfm['avg_R']
rfm['flag_R'] = rfm['flag_R'].map(lambda x: '1' if x else '0')
rfm['flag_F'] = rfm['F'] > rfm['avg_F']
rfm['flag_F'] = rfm['flag_F'].map(lambda x: '1' if x else '0')
rfm['flag_M'] = rfm['M'] > rfm['avg_M']
rfm['flag_M'] = rfm['flag_M'].map(lambda x: '1' if x else '0')
# 合并 RFM 指标,分组计算每种类型平均值
rfm['RFM'] = rfm['flag_R'] + rfm['flag_F'] + rfm['flag_M']
#rfm = round(rfm.groupby('RFM').mean()[['R','F','M']].reset_index(),0)
rfm

在这里插入图片描述

rfm_count=rfm.groupby("RFM")["uid"].count()
rfm_count=rfm_count.reset_index()
label_list=rfm_count["RFM"].tolist()
labels={}
labels={'111':'重要价值客户','101':'重要发展客户','011':'重要保持客户','001':'重要挽留客户','110':'一般价值客户','100':'一般发展客户','010':'一般保持客户','000':'一般挽留客户'}
rfm_count['用户标签']=[labels[label_list[i]] for i in range(0,len(label_list))]
rfm_count

在这里插入图片描述

from pyecharts.charts import Pie
from pyecharts.faker import Faker
c =(Pie()
        .add("",[list(z) for z in zip(rfm_count["用户标签"].tolist(),rfm_count["uid"].tolist())],radius=["40%","75%"])
        .set_global_opts(title_opts=opts.TitleOpts(title="客户分层分布图"),legend_opts=opts.LegendOpts(orient="vertical",pos_top="15%",pos_left="2%"))
        .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"))
    )
c.render("RFM用户分层分布图.html")
c.render_notebook()

在这里插入图片描述
一般挽留客户占据所有客户44.79%,一般发展客户占据25.55%,重要发展客户占据19.6%,而对于租车服务系统来说,最有价值的客户是重要价值客户,仅占据所有客户的1.67%。

(八)用户喜爱车型
rfm_=rfm[["uid","RFM"]]
data=data.merge(rfm_,how="left",left_on="uid",right_on="uid")
data_11=data[data["RFM"]=="000"].groupby("order_car_type_name")["RFM"].count().reset_index()
data_12=data[data["RFM"]=="010"].groupby("order_car_type_name")["RFM"].count().reset_index()
data_13=data[data["RFM"]=="001"].groupby("order_car_type_name")["RFM"].count().reset_index()
data_14=data[data["RFM"]=="011"].groupby("order_car_type_name")["RFM"].count().reset_index()
data_15=data[data["RFM"]=="100"].groupby("order_car_type_name")["RFM"].count().reset_index()
data_16=data[data["RFM"]=="110"].groupby("order_car_type_name")["RFM"].count().reset_index()
data_17=data[data["RFM"]=="101"].groupby("order_car_type_name")["RFM"].count().reset_index()
data_18=data[data["RFM"]=="111"].groupby("order_car_type_name")["RFM"].count().reset_index()
data_order_car_type_name=pd.merge(data_11,data_12,on="order_car_type_name",how="outer")
data_order_car_type_name=pd.merge(data_order_car_type_name,data_13,on="order_car_type_name",how="outer")
data_order_car_type_name=pd.merge(data_order_car_type_name,data_14,on="order_car_type_name",how="outer")
data_order_car_type_name=pd.merge(data_order_car_type_name,data_15,on="order_car_type_name",how="outer")
data_order_car_type_name=pd.merge(data_order_car_type_name,data_16,on="order_car_type_name",how="outer")
data_order_car_type_name=pd.merge(data_order_car_type_name,data_17,on="order_car_type_name",how="outer")
data_order_car_type_name=pd.merge(data_order_car_type_name,data_18,on="order_car_type_name",how="outer")

data_order_car_type_name.columns=["order_car_type_name","000","010","001","011","100","110","101","111"]
data_order_car_type_name.fillna(0)

在这里插入图片描述

from pyecharts.charts import Bar
from pyecharts import options as opts
duiji_bar=Bar(init_opts=opts.InitOpts(width='1000px',height='600px'))
duiji_bar.add_xaxis(data_order_car_type_name["order_car_type_name"].tolist())

duiji_bar.add_yaxis('重要价值客户',data_order_car_type_name['111'].tolist(),stack='stack1')
duiji_bar.add_yaxis('重要发展客户',data_order_car_type_name['101'].tolist(),stack='stack1')
duiji_bar.add_yaxis('重要保持客户',data_order_car_type_name['011'].tolist(),stack='stack1')
duiji_bar.add_yaxis("重要挽留客户",data_order_car_type_name["001"].tolist(),stack='stack1')
duiji_bar.add_yaxis('一般价值客户',data_order_car_type_name['110'].tolist(),stack='stack1')
duiji_bar.add_yaxis('一般发展客户',data_order_car_type_name['100'].tolist(),stack='stack1')
duiji_bar.add_yaxis('一般保持客户',data_order_car_type_name['010'].tolist(),stack='stack1')
duiji_bar.add_yaxis("一般挽留客户",data_order_car_type_name["000"].tolist(),stack='stack1')

duiji_bar.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
duiji_bar.set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts={"rotate":25}))
duiji_bar.render_notebook()

在这里插入图片描述
优选型,经济型,舒适型和商务型受重要价值用户欢迎的四大车型;
优选型和经济型成为最大客户群体即一般挽留客户喜爱的两大车型;
优选型,经济型和出租车成为第二大客户群体即一般发展客户(可能是新客户)的喜爱车型;
同样,优选型,经济型,舒适型和商务型也是受重要发展用户欢迎的四大车型。

(九)渠道分析
  • 渠道订单总数和订单取消率分析
data.groupby(["order_status","order_status_name"]).count()["trade_order_id"].reset_index().sort_values(by="order_status",ascending=False)

在这里插入图片描述

4448/(15520+4448+1+30+1)

在这里插入图片描述

订单的取消率高达22.24%

data_11=data[data["source_type_name"]=="OTA"].groupby("order_status_name")["RFM"].count().reset_index()
data_12=data[data["source_type_name"]=="专车"].groupby("order_status_name")["RFM"].count().reset_index()
data_13=data[data["source_type_name"]=="平台"].groupby("order_status_name")["RFM"].count().reset_index()
data_14=data[data["source_type_name"]=="携程平台"].groupby("order_status_name")["RFM"].count().reset_index()
data_source_type_name=pd.merge(data_11,data_12,on="order_status_name",how="outer")
data_source_type_name=pd.merge(data_source_type_name,data_13,on="order_status_name",how="outer")
data_source_type_name=pd.merge(data_source_type_name,data_14,on="order_status_name",how="outer")

data_source_type_name.columns=["order_status_name","OTA","专车","平台","携程平台"]
data_source_type_name=data_source_type_name.T
#将第一行作为表头
data_source_type_name.columns=data_source_type_name.iloc[0].values
data_source_type_name=data_source_type_name.iloc[1:,:].fillna(0)
data_source_type_name["总计"]=data_source_type_name["取消"]+data_source_type_name["已响应"]+data_source_type_name["已确认款项"]+data_source_type_name["服务开始"]+data_source_type_name["已派单"]
data_source_type_name["取消率"]=data_source_type_name["取消"]/data_source_type_name["总计"]
data_source_type_name["已确认款项率"]=data_source_type_name["已确认款项"]/data_source_type_name["总计"]
data_source_type_name

在这里插入图片描述
平台订单数量在这四个渠道中位居第二,但是其取消率为32.63%,订单取消率是四个渠道第一,比第二的专车取消率20.44%高了12.19%。

data["month"]=data['order_day'].values.astype('datetime64[M]')
data1=data[data["order_status_name"]=="取消"].groupby(["month","source_type_name"]).count()["trade_order_id"].reset_index()
data1["标签"]=data1["month"].apply(lambda x:str(x))+data1["source_type_name"]
data1
data2=data.groupby(["month","source_type_name"]).count()["trade_order_id"].reset_index()
data2["标签"]=data2["month"].apply(lambda x:str(x))+data2["source_type_name"]
data3=data2.merge(data1,how="left",left_on="标签",right_on="标签").drop(["标签","month_y","source_type_name_y"],axis=1)
data3.columns=["月份","渠道","总订单","取消"]
data3["取消率"]=data3["取消"]/data3["总订单"]
data3

在这里插入图片描述

data4=pd.pivot_table(data3,index=["月份"],columns=["渠道"],values=["取消率"]).fillna(0)
data4=data4.reset_index()
data4.columns=data4.columns.droplevel(1)
data4.columns=["月份","OTA","专车","平台","携程平台"]
data4

在这里插入图片描述

line=Line(init_opts=opts.InitOpts(width='1000px',height='600px'))
line.add_xaxis(data4["月份"].dt.date.tolist())
line.add_yaxis("OTA",data4["OTA"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True,label_opts = opts.LabelOpts(is_show=False))
line.add_yaxis("专车",data4["专车"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True,label_opts = opts.LabelOpts(is_show=False))
line.add_yaxis("平台",data4["平台"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True,label_opts = opts.LabelOpts(is_show=False))
line.add_yaxis("携程平台",data4["携程平台"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True,label_opts = opts.LabelOpts(is_show=False))
# line.set_series_opts(markline_opts=opts.MarkLineOpts(
#           # 设置平均值的标记线
#     data=[opts.MarkPointItem(type_="average", name="平均值"),
#           # 设置最大值的标记线
#           opts.MarkPointItem(type_="max", name="最大值")
#           ]))
line.set_global_opts(title_opts=opts.TitleOpts(title=""))
line.set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts={"rotate":90}))
#同样画出总订单量折线图
data4=pd.pivot_table(data3,index=["月份"],columns=["渠道"],values=["总订单"]).fillna(0)
data4=data4.reset_index()
data4.columns=data4.columns.droplevel(1)
data4.columns=["月份","OTA","专车","平台","携程平台"]
line1=Line(init_opts=opts.InitOpts(width='1000px',height='600px'))
line1.add_xaxis(data4["月份"].dt.date.tolist())
line1.add_yaxis("OTA",data4["OTA"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True,label_opts = opts.LabelOpts(is_show=False))
line1.add_yaxis("专车",data4["专车"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True,label_opts = opts.LabelOpts(is_show=False))
line1.add_yaxis("平台",data4["平台"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True,label_opts = opts.LabelOpts(is_show=False))
line1.add_yaxis("携程平台",data4["携程平台"].tolist() ,
              # 设置折线是否平滑
              is_smooth=True,label_opts = opts.LabelOpts(is_show=False))
# line1.set_series_opts(markline_opts=opts.MarkLineOpts(
#           # 设置平均值的标记线
#     data=[opts.MarkPointItem(type_="average", name="平均值"),
#           # 设置最大值的标记线
#           opts.MarkPointItem(type_="max", name="最大值")
#           ]))
line1.set_global_opts(title_opts=opts.TitleOpts(title=""))
line1.set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts={"rotate":90}))
#将两图拼在一起
grid = (
        Grid()
            .add(line, grid_opts=opts.GridOpts(pos_left="5%",pos_right="55%"))
            .add(line1, grid_opts=opts.GridOpts(pos_left="55%",pos_right="0%"))
        )
grid.render_notebook()

在这里插入图片描述
对于平台渠道,2016年8月之前,每个月份的订单取消率基本高于25%;其订单数量在2015年9月和2015年12月有两个高峰之后(第一个高峰期订单数量为352,第二个高峰期订单数量为296),一路下跌至谷底,在2016年8月之后,其订单数量不高于20,在2017年10月之后,其订单数量不高于5,渐渐归于0;订单取消率在2016年8月与2017年7月期间,波动较大,根源于平台订单数量较少。

与平台渠道不同,专车渠道在2016年5月之后,订单数量猛涨,在2017年4月,达到这三年的订单数量最高点,虽然在过了2017年4月之后,订单数量总体呈现下降走势(期间也有几个小高峰点),但从2016年5月,其订单数量一直高于其他渠道的订单数量;从总体上观察,其订单取消率也不断下降,从一开始2015年6月高达60%的订单取消率下降到2019年稳定在20%以下的订单取消率。

对于OTA渠道,从2017年4月,订单数量开始不为0(猜测该渠道在2017年4月正式开辟使用),其订单数量在2018年4月以及2019年4月份,2017年7,8月和2018年7,8月,2019年1,2月有高峰值点,总体趋势呈现上升;订单取消率波动不规律,除了2018年2月订单取消率超过30%,其余时间的订单取消率在30%以下。

  • 各渠道接单类型剖析
data_1.groupby("first_taken_driver_taken_type_name")["trade_order_id"].count().reset_index()

在这里插入图片描述

data_11=data_1[data_1["first_taken_driver_taken_type_name"]=="BOSS指派"].groupby("source_type_name")["trade_order_id"].count().reset_index()
data_12=data_1[data_1["first_taken_driver_taken_type_name"]=="OTA司机接单"].groupby("source_type_name")["trade_order_id"].count().reset_index()
data_13=data_1[data_1["first_taken_driver_taken_type_name"]=="保单供应商指派"].groupby("source_type_name")["trade_order_id"].count().reset_index()
data_14=data_1[data_1["first_taken_driver_taken_type_name"]=="保单自动指派(保单司机)"].groupby("source_type_name")["trade_order_id"].count().reset_index()
data_15=data_1[data_1["first_taken_driver_taken_type_name"]=="匹配单挂靠指派"].groupby("source_type_name")["trade_order_id"].count().reset_index()
data_16=data_1[data_1["first_taken_driver_taken_type_name"]=="接送机助手派单(订单大厅)?"].groupby("source_type_name")["trade_order_id"].count().reset_index()
data_17=data_1[data_1["first_taken_driver_taken_type_name"]=="播报抢单"].groupby("source_type_name")["trade_order_id"].count().reset_index()
data_18=data_1[data_1["first_taken_driver_taken_type_name"]=="立即单自动指派(非保单司机)"].groupby("source_type_name")["trade_order_id"].count().reset_index()
data_source_type_name=pd.merge(data_11,data_12,on="source_type_name",how="outer")
data_source_type_name=pd.merge(data_source_type_name,data_13,on="source_type_name",how="outer")
data_source_type_name=pd.merge(data_source_type_name,data_14,on="source_type_name",how="outer")
data_source_type_name=pd.merge(data_source_type_name,data_15,on="source_type_name",how="outer")
data_source_type_name=pd.merge(data_source_type_name,data_16,on="source_type_name",how="outer")
data_source_type_name=pd.merge(data_source_type_name,data_17,on="source_type_name",how="outer")
data_source_type_name=pd.merge(data_source_type_name,data_18,on="source_type_name",how="outer")
data_source_type_name.columns=["source_type_name","BOSS指派","OTA司机接单","保单供应商指派","保单自动指派(保单司机)","匹配单挂靠指派","接送机助手派单(订单大厅)?","播报抢单","立即单自动指派(非保单司机)"]
data_source_type_name

在这里插入图片描述

from pyecharts.charts import Bar
from pyecharts import options as opts
duiji_bar=Bar(init_opts=opts.InitOpts(width='800px',height='600px'))
duiji_bar.add_xaxis(data_source_type_name["source_type_name"].tolist())
duiji_bar.add_yaxis("BOSS指派",data_source_type_name["BOSS指派"].tolist(),stack='stack1')
duiji_bar.add_yaxis('OTA司机接单',data_source_type_name['OTA司机接单'].tolist(),stack='stack1')
duiji_bar.add_yaxis("匹配单挂靠指派",data_source_type_name["匹配单挂靠指派"].tolist(),stack='stack1')
duiji_bar.add_yaxis('接送机助手派单(订单大厅)?',data_source_type_name['接送机助手派单(订单大厅)?'].tolist(),stack='stack1')
duiji_bar.add_yaxis('播报抢单',data_source_type_name['播报抢单'].tolist(),stack='stack1')
duiji_bar.add_yaxis('保单供应商指派',data_source_type_name['保单供应商指派'].tolist(),stack='stack1')
duiji_bar.add_yaxis('保单自动指派(保单司机)',data_source_type_name['保单自动指派(保单司机)'].tolist(),stack='stack1')
duiji_bar.add_yaxis('立即单自动指派(非保单司机)',data_source_type_name['立即单自动指派(非保单司机)'].tolist(),stack='stack1')
duiji_bar.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
duiji_bar.set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts={"rotate":25}))
duiji_bar.render("抢单类型分析.html")
duiji_bar.render_notebook()

在这里插入图片描述
从上图可看出,专车接单类型最多样化,专车和平台接单类型以保单自动指派(保单司机)和播报抢单为主;而OTA接单类型较为单一,为OTA司机接单

在这里插入代码片#powerbi画图
data_11=data_1[data_1["first_taken_driver_taken_type_name"]=="BOSS指派"].groupby(["source_type_name","month"])["trade_order_id"].count().reset_index()
data_11["first_taken_driver_taken_type_name"]="BOSS指派"
data_12=data_1[data_1["first_taken_driver_taken_type_name"]=="OTA司机接单"].groupby(["month","source_type_name"])["trade_order_id"].count().reset_index()
data_12["first_taken_driver_taken_type_name"]="OTA司机接单"
data_13=data_1[data_1["first_taken_driver_taken_type_name"]=="保单供应商指派"].groupby(["month","source_type_name"])["trade_order_id"].count().reset_index()
data_13["first_taken_driver_taken_type_name"]="保单供应商指派"
data_14=data_1[data_1["first_taken_driver_taken_type_name"]=="保单自动指派(保单司机)"].groupby(["month","source_type_name"])["trade_order_id"].count().reset_index()
data_14["first_taken_driver_taken_type_name"]="保单自动指派(保单司机)"
data_15=data_1[data_1["first_taken_driver_taken_type_name"]=="匹配单挂靠指派"].groupby(["month","source_type_name"])["trade_order_id"].count().reset_index()
data_15["first_taken_driver_taken_type_name"]="匹配单挂靠指派"
data_16=data_1[data_1["first_taken_driver_taken_type_name"]=="接送机助手派单(订单大厅)?"].groupby(["month","source_type_name"])["trade_order_id"].count().reset_index()
data_16["first_taken_driver_taken_type_name"]="接送机助手派单(订单大厅)?"
data_17=data_1[data_1["first_taken_driver_taken_type_name"]=="播报抢单"].groupby(["month","source_type_name"])["trade_order_id"].count().reset_index()
data_17["first_taken_driver_taken_type_name"]="播报抢单"
data_18=data_1[data_1["first_taken_driver_taken_type_name"]=="立即单自动指派(非保单司机)"].groupby(["month","source_type_name"])["trade_order_id"].count().reset_index()
data_18["first_taken_driver_taken_type_name"]="立即单自动指派(非保单司机)"
data_= pd.concat([data_11,data_12,data_13,data_14,data_15,data_16,data_17,data_18])
data_=data_.sort_values(by="month")
#data_.to_excel("渠道抢单类型分析.xlsx")
data_

由于本次数据分析的数据涉及四个维度,所以使用powerbi进行分析,当然可以每个渠道画一个图,最后将四个渠道的图形拼在一起。

在这里插入图片描述
对于平台,2016年8月之前,接单类型以保单自动指派(保单司机)和播报抢单为主,并且有少量订单的接单类型为接送机助手派单(订单大厅)?; 在2016年8月之后,接单类型依旧以保单自动指派(保单司机)和播报抢单为主,附加一些OTA司机接单和匹配单挂靠指派;
2017年10月之后,接单类型以播报抢单和OTA司机接单为主,保单自动指派(保单司机)取消,这可能也是在2017年10月之后,其订单数量不高于5,渐渐归于0的主要原因,从2016年8月之前观测,保单自动指派(保单司机)为平台奉献大量订单。
在这里插入图片描述
对于专车,2016年8月之前,接单类型以保单自动指派(保单司机)和播报抢单为主,以立即单自动指派(非保单司机)和接送机助手派单(订单大厅)?为辅;
在2016年9月到2017年1月,接单类型依旧以保单自动指派(保单司机)和播报抢单为主,为辅的除了立即单自动指派(非保单司机)和接送机助手派单(订单大厅)?,也开辟了BOSS指派,OTA司机接单,匹配单挂靠指派等新的接单类型方式,接单类型多样化;
2017年6月之后,相比之前以播报抢单居多,此刻以保单自动指派(保单司机)居多,立即单自动指派(非保单司机)的接单类型也取消了。
在这里插入图片描述
OTA一直是OTA司机接单接单

  • 各渠道服务类型
data_11=data_1[data_1["service_type_name"]=="城市交通(时租)"].groupby("source_type_name")["trade_order_id"].count().reset_index()
data_12=data_1[data_1["service_type_name"]=="接机"].groupby("source_type_name")["trade_order_id"].count().reset_index()
data_13=data_1[data_1["service_type_name"]=="送机"].groupby("source_type_name")["trade_order_id"].count().reset_index()
data_14=data_1[data_1["service_type_name"]=="接站"].groupby("source_type_name")["trade_order_id"].count().reset_index()
data_15=data_1[data_1["service_type_name"]=="送站"].groupby("source_type_name")["trade_order_id"].count().reset_index()
data_16=data_1[data_1["service_type_name"]=="接热门线路"].groupby("source_type_name")["trade_order_id"].count().reset_index()
data_17=data_1[data_1["service_type_name"]=="送热门线路"].groupby("source_type_name")["trade_order_id"].count().reset_index()
data_source_type_name=pd.merge(data_11,data_12,on="source_type_name",how="outer")
data_source_type_name=pd.merge(data_source_type_name,data_13,on="source_type_name",how="outer")
data_source_type_name=pd.merge(data_source_type_name,data_14,on="source_type_name",how="outer")
data_source_type_name=pd.merge(data_source_type_name,data_15,on="source_type_name",how="outer")
data_source_type_name=pd.merge(data_source_type_name,data_16,on="source_type_name",how="outer")
data_source_type_name=pd.merge(data_source_type_name,data_17,on="source_type_name",how="outer")
data_source_type_name.columns=["source_type_name","城市交通(时租)","接机","送机","接站","送站","接热门线路","送热门线路"]
data_source_type_name

在这里插入图片描述

from pyecharts.charts import Bar
from pyecharts import options as opts
duiji_bar=Bar(init_opts=opts.InitOpts(width='800px',height='600px'))
duiji_bar.add_xaxis(data_source_type_name["source_type_name"].tolist())
duiji_bar.add_yaxis("城市交通(时租)",data_source_type_name["城市交通(时租)"].tolist(),stack='stack1')
duiji_bar.add_yaxis('接机',data_source_type_name['接机'].tolist(),stack='stack1')
duiji_bar.add_yaxis("送机",data_source_type_name["送机"].tolist(),stack='stack1')
duiji_bar.add_yaxis('接站',data_source_type_name['接站'].tolist(),stack='stack1')
duiji_bar.add_yaxis('送站',data_source_type_name['送站'].tolist(),stack='stack1')
duiji_bar.add_yaxis('接热门线路',data_source_type_name['接热门线路'].tolist(),stack='stack1')
duiji_bar.add_yaxis('送热门线路',data_source_type_name['送热门线路'].tolist(),stack='stack1')
duiji_bar.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
duiji_bar.set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts={"rotate":25}))
duiji_bar.render_notebook()

在这里插入图片描述
OTA服务类型以城市交通(时租)为主,专车和平台的服务类型以接机和送机为主,对比其他平台,专车除了接机和送机服务,接站和送站,城市交通(时租)的服务类型订单也较多。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值