岳松同学

2020-09-28   阅读量: 625

某红书销售额增长解决方案

扫码加入数据分析学习群

一、背景描述

小红书是一个生活方式平台和消费决策入口,是当前著名的电商平台。和其他电商平台不同,小红从社区起家。在小红书社区,用户通过文字、图片、视频笔记的分享,记录了这个时代年轻人的正能量和美好生活。

二、方案描述

通过数据分析进行锁定最有价值的用户,有针对性的提供有差异性的服务,吸引更多更有价值的用户使用小红书并下单,从而提高销售额。

Image Name

三、数据说明

  • 数据集包含29452条数据,数据字段说明

  • Revenue 用户下单的购买金额

  • 3rd_party_stores 用户过往在app中从第三方购买的数量,为0则代表只在自营商品中购买

  • Gender 性别 1:男 0:女 未知则空缺

  • Engaged_last_30 最近30天在app上有参与重点活动(讨论,卖家秀)

  • Lifecycle 生命周期分为A,B,C (分别对应注册6个月内,1年内,2年内)

  • days_since_last_order 最近一次下单距今的天数 (小于1则代表当天有下单)

  • previous_order_amount 以往累积的用户购买金额

四、数据探索

In [106]:

import pandas as pdimport numpy as npimport randomfrom matplotlib import pyplot as pltfrom pyecharts import options as optsfrom pyecharts.charts import Barfrom pyecharts.charts import Boxplotfrom pyecharts.charts import Scatterfrom pyecharts.charts import EffectScatterfrom pyecharts.globals import ThemeType as timport matplotlibimport seaborn as sns%matplotlib inlineplt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=False sns.set_style('white',{"font.sans-serif":['simhei','arial']})pd.set_option("display.max_column",None)pd.set_option("display.max_row",None)

In [107]:

#导入数据df=pd.read_csv('D:\\Data analysis\\kesci\\31_l2_week2.csv')df.head()

Out[107]:


revenuegenderageengaged_last_30lifecycledays_since_last_orderprevious_order_amount3rd_party_stores
072.981.059.00.0B4.262343.8700
1200.991.051.00.0A0.948539.8720
269.981.079.00.0C4.291687.6461
3649.99NaNNaNNaNC14.903498.8460
483.59NaNNaNNaNC21.133968.4904

In [110]:

#查看数据信息df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 29452 entries, 0 to 29451
Data columns (total 8 columns):
revenue                    29452 non-null float64
gender                     17723 non-null float64
age                        16716 non-null float64
engaged_last_30            17723 non-null float64
lifecycle                  29452 non-null object
 days_since_last_order     29452 non-null float64
previous_order_amount      29452 non-null float64
3rd_party_stores           29452 non-null int64
dtypes: float64(6), int64(1), object(1)
memory usage: 1.8+ MB

In [111]:

#数据总体情况df.shape

Out[111]:

(29452, 8)

In [112]:

#查看数据是否有重复df.duplicated().sum()

Out[112]:

1

In [113]:

#查看数据是否有缺失值df.isnull().sum()

Out[113]:

revenue                        0
gender                     11729
age                        12736
engaged_last_30            11729
lifecycle                      0
 days_since_last_order         0
previous_order_amount          0
3rd_party_stores               0
dtype: int64

‘gender’,‘age’,‘engaged_last_30’缺失值有点多

In [115]:

#填充‘gender’,‘age’,‘engaged_last_30’#由于填充的值的数量有点多,使填充后的数据与实际情况会有差异,故在分析过程中要考虑到这个因素df['age'].fillna(method='pad', inplace=True) #填充前一条数据df['gender'].fillna(method='bfill', inplace=True) #填充后一条数据df['engaged_last_30'].fillna(method='pad', inplace=True) #填充前一条数据df.head()

Out[115]:


revenuegenderageengaged_last_30lifecycledays_since_last_orderprevious_order_amount3rd_party_stores
072.981.059.00.0B4.262343.8700
1200.991.051.00.0A0.948539.8720
269.981.079.00.0C4.291687.6461
3649.991.079.00.0C14.903498.8460
483.591.079.00.0C21.133968.4904

In [116]:

#查看数据类型df.dtypes

Out[116]:

revenue                    float64
gender                     float64
age                        float64
engaged_last_30            float64
lifecycle                   object
 days_since_last_order     float64
previous_order_amount      float64
3rd_party_stores             int64
dtype: object

In [117]:

#去重df.drop_duplicates(inplace=True)df.reset_index(drop=True,inplace=True)df.head()

Out[117]:


revenuegenderageengaged_last_30lifecycledays_since_last_orderprevious_order_amount3rd_party_stores
072.981.059.00.0B4.262343.8700
1200.991.051.00.0A0.948539.8720
269.981.079.00.0C4.291687.6461
3649.991.079.00.0C14.903498.8460
483.591.079.00.0C21.133968.4904

In [118]:

# 描述性分析df.describe()

Out[118]:


revenuegenderageengaged_last_30days_since_last_orderprevious_order_amount3rd_party_stores
count29452.00000029451.00000029452.00000029452.00000029452.00000029452.00000029452.000000
mean398.2880370.95001960.0756150.0732387.7113482348.9048302.286059
std960.2517280.21791014.8762110.2605316.4892892379.7742133.538219
min0.0200000.00000018.0000000.0000000.1300000.0000000.000000
25%74.9700001.00000050.0000000.0000002.190000773.5062500.000000
50%175.9800001.00000059.0000000.0000005.9700001655.9800000.000000
75%499.9900001.00000070.0000000.00000011.7400003096.7665003.000000
max103466.1000001.00000099.0000001.00000023.71000011597.90000010.000000

五、数据分析

In [119]:

# 年龄分组listbins=[0,20,25,30,35,40,45,50,55,60,100]listlabel=['20以下','20-24','25-29','30-34','35-39','40-44','45-49','50-54','55-59','60以上']df['age_group']=pd.cut(df['age'],bins=listbins,labels=listlabel,right=False,include_lowest = True)df.head()

Out[119]:


revenuegenderageengaged_last_30lifecycledays_since_last_orderprevious_order_amount3rd_party_storesage_group
072.981.059.00.0B4.262343.870055-59
1200.991.051.00.0A0.948539.872050-54
269.981.079.00.0C4.291687.646160以上
3649.991.079.00.0C14.903498.846060以上
483.591.079.00.0C21.133968.490460以上

In [120]:

# 距最近一次下单天数分组listbins=[0,1,5,10,15,20,25]listlabel=['当天','1-5','5-10','10-15','15-20','20以上']df['dslo_group']=pd.cut(df[' days_since_last_order '],right=False,bins=listbins,labels=listlabel,include_lowest = True)df.head()

Out[120]:


revenuegenderageengaged_last_30lifecycledays_since_last_orderprevious_order_amount3rd_party_storesage_groupdslo_group
072.981.059.00.0B4.262343.870055-591-5
1200.991.051.00.0A0.948539.872050-54当天
269.981.079.00.0C4.291687.646160以上1-5
3649.991.079.00.0C14.903498.846060以上10-15
483.591.079.00.0C21.133968.490460以上20以上

5.1 性别

In [121]:

#男女比例df['gender'].value_counts()

Out[121]:

1.0    27979
0.0     1472
Name: gender, dtype: int64

男女比例不均衡,女性顾客的数量太少了,这是真实情况还是数据采集有问题?

In [122]:

#不同性别的顾客的购买平均金额对比ge_df =df.groupby("gender")['previous_order_amount'].mean().sort_values()ge_df

Out[122]:

gender
0.0    1798.296829
1.0    2377.881596
Name: previous_order_amount, dtype: float64

In [123]:

ge_bar=Bar(init_opts=opts.InitOpts(theme="vintage",width="600px", height="300px"))ge_bar.add_xaxis(["女性","男性"])ge_bar.add_yaxis('',np.round(ge_df.values,2).tolist())ge_bar.set_global_opts(title_opts=opts.TitleOpts(title="不同性别的顾客的购买平均金额对比",pos_left='center'),
                              legend_opts=opts.LegendOpts(is_show=False),
                               xaxis_opts=opts.AxisOpts(name="性别"),
                              yaxis_opts=opts.AxisOpts(name="购买平均金额/元"))ge_bar.render_notebook()
C:\ProgramData\Anaconda3\lib\site-packages\pyecharts\charts\chart.py:14: PendingDeprecationWarning: pyecharts 所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 :)
  super().__init__(init_opts=init_opts)

Out[123]:

In [124]:

#不同性别的顾客的购买累计金额箱线图ge_poa=list(df.groupby("gender")['previous_order_amount'])ge_poa[0][1]ge_poa_box = Boxplot(init_opts=opts.InitOpts(theme="vintage",width="500px", height="300px"))ge_poa_box.add_xaxis(["女性","男性"])ge_poa_prepare=ge_poa_box.prepare_data([list(ge_poa[i][1])for i in range(0,2)])ge_poa_box.add_yaxis("",ge_poa_prepare)ge_poa_box.set_global_opts(title_opts=opts.TitleOpts(title="不同性别的顾客的购买金额对比",pos_left='center'),
                               xaxis_opts=opts.AxisOpts(name="性别"),
                              yaxis_opts=opts.AxisOpts(name="购买金额/元"))ge_poa_box.render_notebook()
C:\ProgramData\Anaconda3\lib\site-packages\pyecharts\charts\chart.py:14: PendingDeprecationWarning: pyecharts 所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 :)
  super().__init__(init_opts=init_opts)

Out[124]:

结论1:男性的购买平均金额高于女性,但是女性的样本量远远低于男性。

  • 注意事项:小红书注册时的性别是用户自己设定的,不一定是真实的,所以不能草率做出决定!

5.2 年龄段

In [130]:

#各年龄段的人数占比df['age_group'].value_counts()

Out[130]:

60以上     14656
55-59     3753
50-54     3748
45-49     3034
40-44     1986
35-39     1138
30-34      648
25-29      358
20-24      103
20以下        28
Name: age_group, dtype: int64

各年龄段的样本量不均衡,特别是30岁以下的年轻人群样本太少了

In [131]:

#不同年龄段的顾客的购买平均金额对比ag_df =df.groupby("age_group")['previous_order_amount'].mean().sort_values()ag_df

Out[131]:

age_group
20-24    1936.440573
30-34    1985.383650
25-29    2187.309804
60以上     2255.721274
35-39    2257.505216
40-44    2424.379725
50-54    2490.213848
45-49    2491.479405
55-59    2527.986959
20以下     3113.965179
Name: previous_order_amount, dtype: float64

In [132]:

age_bar=Bar(init_opts=opts.InitOpts(theme="vintage",width="600px", height="300px"))age_bar.add_xaxis(ag_df.index.tolist())age_bar.add_yaxis('',np.round(ag_df.values,2).tolist())age_bar.set_global_opts(title_opts=opts.TitleOpts(title="不同年龄段的顾客的购买平均金额对比",pos_left='center'),
                              legend_opts=opts.LegendOpts(is_show=False),
                               xaxis_opts=opts.AxisOpts(name="年龄段"),
                              yaxis_opts=opts.AxisOpts(name="购买平均金额/元"))age_bar.render_notebook()
C:\ProgramData\Anaconda3\lib\site-packages\pyecharts\charts\chart.py:14: PendingDeprecationWarning: pyecharts 所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 :)
  super().__init__(init_opts=init_opts)

Out[132]:

In [133]:

#不同年龄段的顾客的购买累计金额箱线图age_poa=list(df.groupby("age_group")['previous_order_amount'])age_poa_box = Boxplot(init_opts=opts.InitOpts(theme="chalk",width="800px", height="400px"))age_poa_box.add_xaxis(list(age_poa[i][0] for i in range(0,10)))age_poa_prepare=age_poa_box.prepare_data([list(age_poa[i][1])for i in range(0,10)])age_poa_box.add_yaxis("",age_poa_prepare)age_poa_box.set_global_opts(title_opts=opts.TitleOpts(title="不同年龄段的顾客的购买金额对比",pos_left='center'),
                               xaxis_opts=opts.AxisOpts(name="年龄段"),
                              yaxis_opts=opts.AxisOpts(name="购买金额/元"))age_poa_box.render_notebook()
C:\ProgramData\Anaconda3\lib\site-packages\pyecharts\charts\chart.py:14: PendingDeprecationWarning: pyecharts 所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 :)
  super().__init__(init_opts=init_opts)

Out[133]:

结论2:

  • 20岁以下的顾客购买金额最大,但是20岁以下的样本太少,存在偶然性,应该增加20岁以下年龄段的数据,提高准确性;

  • 25-59年龄段的顾客购买金额差别不大。

  • 注意事项:小红书注册时的年龄是用户自己设定的,不一定是真实的,所以不能草率做出决定!

5.3 是否参与活动

In [134]:

#有无参加活动人数占比df['engaged_last_30'].value_counts()

Out[134]:

0.0    27295
1.0     2157
Name: engaged_last_30, dtype: int64

有无参加活动的样本量不均衡,参加活动的人数偏少

In [135]:

#是否参与活动对顾客购买平均金额影响el3_df =df.groupby('engaged_last_30')['previous_order_amount'].mean().sort_values()el3_bar=Bar(init_opts=opts.InitOpts(theme="dark",width="600px", height="300px"))el3_bar.add_xaxis(["参与重点活动","未参与重点活动"])el3_bar.add_yaxis('',np.round(el3_df.values,2).tolist())el3_bar.set_global_opts(title_opts=opts.TitleOpts(title="是否参与重点活动的顾客的购买平均金额对比",pos_left='center'),
                              legend_opts=opts.LegendOpts(is_show=False),
                               xaxis_opts=opts.AxisOpts(name="年龄段"),
                              yaxis_opts=opts.AxisOpts(name="购买平均金额/元"))el3_bar.render_notebook()
C:\ProgramData\Anaconda3\lib\site-packages\pyecharts\charts\chart.py:14: PendingDeprecationWarning: pyecharts 所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 :)
  super().__init__(init_opts=init_opts)

Out[135]:

In [136]:

#是否参与活动的顾客购买累计金额箱线图el3_poa=list(df.groupby("engaged_last_30")['previous_order_amount'])el3_poa_box = Boxplot(init_opts=opts.InitOpts(theme="chalk",width="900px", height="400px"))el3_poa_box.add_xaxis(["参与重点活动","未参与重点活动"])el3_poa_prepare=age_poa_box.prepare_data([list(el3_poa[i][1])for i in range(0,2)])el3_poa_box.add_yaxis("",el3_poa_prepare)el3_poa_box.set_global_opts(title_opts=opts.TitleOpts(title="是否参与重点活动的顾客对应的购买金额",pos_left='center'),
                               xaxis_opts=opts.AxisOpts(name="是否参与活动"),
                              yaxis_opts=opts.AxisOpts(name="购买金额/元"))el3_poa_box.render_notebook()
C:\ProgramData\Anaconda3\lib\site-packages\pyecharts\charts\chart.py:14: PendingDeprecationWarning: pyecharts 所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 :)
  super().__init__(init_opts=init_opts)

Out[136]:

结论3:未参与活动的顾客消费金额高,但是参与活动的人数太少,具有偶然性

5.4 生命周期

In [137]:

#不同生命周期的顾客人数占比df['lifecycle'].value_counts()

Out[137]:

C    20201
B     5709
A     3542
Name: lifecycle, dtype: int64

注册两年内的顾客人数远远高于注册一年内和半年内的,说明存在大量注册后就没有再次使用小红书的用户,很有可能就流失了

In [44]:

#不同生命周期的顾客的购买平均金额对比lc_df =df.groupby('lifecycle')['previous_order_amount'].mean().sort_values()lc_bar=Bar(init_opts=opts.InitOpts(theme="chalk",width="800px", height="400px"))lc_bar.add_xaxis(lc_df.index.tolist())lc_bar.add_yaxis('',np.round(lc_df.values,2).tolist())lc_bar.set_global_opts(title_opts=opts.TitleOpts(title="不同生命周期的顾客的购买平均金额对比",pos_left='center'),
                              legend_opts=opts.LegendOpts(is_show=False),
                               xaxis_opts=opts.AxisOpts(name="生命周期"),
                              yaxis_opts=opts.AxisOpts(name="购买平均金额/元"))lc_bar.render_notebook()
C:\ProgramData\Anaconda3\lib\site-packages\pyecharts\charts\chart.py:14: PendingDeprecationWarning: pyecharts 所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 :)
  super().__init__(init_opts=init_opts)

Out[44]:

In [45]:

#不同生命周期的顾客的购买金额箱线图lc_poa=list(df.groupby('lifecycle')['previous_order_amount'])lc_poa_box = Boxplot(init_opts=opts.InitOpts(theme="chalk",width="900px", height="400px"))lc_poa_box.add_xaxis(["A","B","C"])lc_poa_prepare=lc_poa_box.prepare_data([list(lc_poa[i][1])for i in range(0,3)])lc_poa_box.add_yaxis("",lc_poa_prepare)lc_poa_box.set_global_opts(title_opts=opts.TitleOpts(title="不同生命周期的顾客的购买金额",pos_left='center'),
                               xaxis_opts=opts.AxisOpts(name="生命周期"),
                              yaxis_opts=opts.AxisOpts(name="购买金额/元"))lc_poa_box.render_notebook()
C:\ProgramData\Anaconda3\lib\site-packages\pyecharts\charts\chart.py:14: PendingDeprecationWarning: pyecharts 所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 :)
  super().__init__(init_opts=init_opts)

Out[45]:

结论4:生命周期在6个月的顾客购买平均金额高,说明生命周期在6个月的顾客购买力稍强

5.5 距最近一次下单的间隔天数

In [138]:

#不同最近一次下单的间隔天数的顾客人数占比df['dslo_group'].value_counts()

Out[138]:

1-5      8994
5-10     6577
10-15    4982
当天       4167
15-20    2783
20以上     1949
Name: dslo_group, dtype: int64

最近一次下单的间隔天数分布均衡

In [139]:

# 5.1)距最近一次下单的间隔天数不同的顾客的购买平均金额对比dslo_df =df.groupby('dslo_group')['previous_order_amount'].mean().sort_values()dslo_df_es=EffectScatter(init_opts=opts.InitOpts(theme="chalk",width="900px", height="400px"))dslo_df_es.add_xaxis(dslo_df.index.tolist())dslo_df_es.add_yaxis('', np.round(dslo_df.values,2).tolist())dslo_df_es.set_global_opts(title_opts=opts.TitleOpts(title="不同间隔天数的顾客对应的购买平均金额",pos_left='center'),
                               xaxis_opts=opts.AxisOpts(name="间隔天数"),
                              yaxis_opts=opts.AxisOpts(name="购买平均金额/元"))dslo_df_es.render_notebook()
C:\ProgramData\Anaconda3\lib\site-packages\pyecharts\charts\chart.py:14: PendingDeprecationWarning: pyecharts 所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 :)
  super().__init__(init_opts=init_opts)

Out[139]:

In [140]:

# 5.2)距最近一次下单的间隔天数不同的顾客的购买金额箱线图dslo_poa=list(df.groupby('dslo_group')['previous_order_amount'])dslo_poa_box = Boxplot(init_opts=opts.InitOpts(theme="chalk",width="900px", height="400px"))dslo_poa_box.add_xaxis(list(dslo_poa[i][0] for i in range(0,6)))dslo_poa_prepare=dslo_poa_box.prepare_data([list(dslo_poa[i][1])for i in range(0,6)])dslo_poa_box.add_yaxis("",dslo_poa_prepare)dslo_poa_box.set_global_opts(title_opts=opts.TitleOpts(title="不同间隔天数的顾客对应的购买金额",pos_left='center'),
                               xaxis_opts=opts.AxisOpts(name="间隔天数"),
                              yaxis_opts=opts.AxisOpts(name="购买金额/元"))dslo_poa_box.render_notebook()
C:\ProgramData\Anaconda3\lib\site-packages\pyecharts\charts\chart.py:14: PendingDeprecationWarning: pyecharts 所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 :)
  super().__init__(init_opts=init_opts)

Out[140]:

结论5:间隔时间越短,购买平均金额更高

5.6 第三方购买数量

In [141]:

#不同第三方购买数量的顾客人数占比df['3rd_party_stores'].value_counts()

Out[141]:

0     16211
10     4237
1      2966
2      1882
3      1445
4      1015
5       983
6       314
7       215
8       126
9        58
Name: 3rd_party_stores, dtype: int64

没有在第三方购买的顾客占比高,但是还是有不少第三方购买的顾客

In [142]:

#在第三方购买数量不同的顾客的购买平均金额对比ps_df=df.groupby('3rd_party_stores')['previous_order_amount'].mean()ps_df_es = EffectScatter(init_opts=opts.InitOpts(theme="chalk",width="900px", height="400px"))ps_df_es.add_xaxis(ps_df.index.tolist())ps_df_es.add_yaxis('', np.round(ps_df.values,2).tolist())ps_df_es.set_global_opts(title_opts=opts.TitleOpts(title="在第三方购买数量不同的顾客的购买平均金额对比",pos_left='center'),
                               xaxis_opts=opts.AxisOpts(name="第三方购买数量"),
                              yaxis_opts=opts.AxisOpts(name="购买平均金额/元"))ps_df_es.render_notebook()
C:\ProgramData\Anaconda3\lib\site-packages\pyecharts\charts\chart.py:14: PendingDeprecationWarning: pyecharts 所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 :)
  super().__init__(init_opts=init_opts)

Out[142]:

In [143]:

#在第三方购买数量不同的顾客的购买金额箱线图ps_poa=list(df.groupby('3rd_party_stores')['previous_order_amount'])ps_poa_box = Boxplot(init_opts=opts.InitOpts(theme="chalk",width="900px", height="400px"))ps_poa_box.add_xaxis(list(ps_poa[i][0] for i in range(0,11)))ps_poa_prepare=dslo_poa_box.prepare_data([list(ps_poa[i][1])for i in range(0,11)])ps_poa_box.add_yaxis("",ps_poa_prepare)ps_poa_box.set_global_opts(title_opts=opts.TitleOpts(title="在第三方购买数量不同的顾客的购买金额",pos_left='center'),
                               xaxis_opts=opts.AxisOpts(name="第三方购买数量"),
                              yaxis_opts=opts.AxisOpts(name="购买金额/元"))ps_poa_box.render_notebook()
C:\ProgramData\Anaconda3\lib\site-packages\pyecharts\charts\chart.py:14: PendingDeprecationWarning: pyecharts 所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 :)
  super().__init__(init_opts=init_opts)

Out[143]:

结论6:没有在第三方购买的顾客消费金额最高。

六、提出增长方案

6.1 确定目标和量化指标

  • 目标:提高消费金额

  • 量化指标:消费金额的值

6.2 分析结论汇总:

1.性别

男女比例不均衡,女性顾客的数量太少了,这是真实情况还是数据采集有问题?
男性的购买平均金额高于女性,但是女性的样本量远远低于男性。

  • 注意事项:小红书注册时的性别是用户自己设定的,不一定是真实的,所以不能草率做出决定!

2.年龄段

各年龄段的样本量不均衡,特别是30岁以下的年轻人群样本太少了;
20岁以下的顾客购买金额最大,但是20岁以下的样本太少;
25-59年龄段的顾客购买金额差别不大。

  • 注意事项:小红书注册时的年龄是用户自己设定的,不一定是真实的,所以不能草率做出决定!

3.参加活动

有无参加活动的样本量不均衡,参加活动的人数偏少;
未参与活动的顾客消费金额高,但是参与活动的人数太少,具有偶然性。

4.注册生命周期

注册两年内的顾客人数远远高于注册一年内和半年内的,说明存在大量注册后就没有再次使用小红书的用户,很有可能就流失了;
生命周期在6个月的顾客购买平均金额高,说明生命周期在6个月的顾客购买力稍强。

5.最近一次下单的间隔天数

最近一次下单的间隔天数分布均衡;
间隔时间越短,购买平均金额更高。

6.第三方购买的顾客数量

没有在第三方购买的顾客占比高,但是还是有不少第三方购买的顾客;
没有在第三方购买的顾客消费金额最高。

6.3 提出假设

  • 假设该数据集是真实可靠的;

  • 女性的购买处于未开发阶段,还有很大的上升空间;

  • 年轻群体还有很大的上升空间;

  • 有无参加活动对销售额没有影响;

  • 注册两年内的顾客处于睡眠状态,有很大的上升空间;

  • 最近一次下单间隔时间越短的顾客有更强的购买力;

  • 没有在第三方购买的顾客有更强的购买力。

6.4 提出增长方案

  • 方案1:向年轻的女性顾客加大推送力度,且推送的商品是年轻的女性群体需要频次高的,比如化妆品等;

  • 方案2:向注册两年内且半年内没有的顾客加大推送力度;

  • 方案3:向最近一次下单间隔时间短的顾客加大推送力度;

  • 方案4:向没有在第三方购买的顾客提高推送力度。

七、确定优先级

7.1 计算各个方案的投资回报(ROI)

  • 由于不清楚公司的具体实际情况,这一步无法计算,这一步的计算需要根据企业可供给的资源和所预期的汇报来计算

  • 需要考虑三个问题:1、需要投入多少?2、成功概率有多高?3、消费金额能增加多少?

7.2 选出投资回报最高的方案

  • 选取投资回报最高的两个方案作为最后的销售额增长方案,假设为方案A和方案B。

八、开展实验(A/B测试)

  • 将所有的流量分为三组,一组为对照组,一组实施方案A作为实验组一,一组实施方案B作为实验组二。

九、分析结果

对比三组流量最终得到的销售额

十、总结

  • 通过数据分析,了解顾客群体的消费行为情况,并运用AB测试方法,有针对性地为目标顾客群体提供差异性服务,从而提高总体的销售额。

补充:

  • 顾客的年龄和性别是注册时自定义的,与真实情况存在偏差;

  • 数据样本中未提供地区、收入水平、职业、购物偏好等顾客属性,故使解决方案非常有局限性,无法更精准的去洞察顾客。


添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
69.5820 5 0 关注作者 收藏

评论(0)


暂无数据

推荐课程