電商促銷活動分析

1涝焙、業(yè)務(wù)背景

唯品會是一個專門做特賣的網(wǎng)站卑笨,隨著唯品會在電商領(lǐng)域的不斷發(fā)展,唯品會貨源中新品和專供品的占比不斷提升仑撞,新品首發(fā)赤兴、定制包銷、自有品牌均成為唯品會零售的可持續(xù)貨源派草。

2搀缠、業(yè)務(wù)需求

在每次特賣活動中,我們可分析活動運營情況來挖掘?qū)Υ黉N活動貢獻度高的商品近迁。其中,銷售額簸州、售賣比鉴竭、UV、轉(zhuǎn)化率等指標(biāo)是考量業(yè)務(wù)成績的幾個重要指標(biāo)岸浑。本項目的目的是建立促銷活動的運營情況評估指標(biāo)體系搏存,找到最優(yōu)的特賣商品結(jié)構(gòu),從而更好地賣出商品矢洲。

3璧眠、業(yè)務(wù)分析指標(biāo)

  • GMV:銷售額,即到手價
  • 實銷:GMV-退貨金額
  • 銷量:累計銷量(含退貨)
  • 客單價:GMV/客戶數(shù),客單價與毛利率有關(guān)责静,客單價越高袁滥,毛利率越高
  • UV:商品所在頁面的獨立訪問數(shù)
  • 轉(zhuǎn)化率:客戶數(shù)/UV
  • 折扣率:GMV/吊牌總額(吊牌價* 銷量)
  • 備貨值:吊牌價* 庫存量
  • 售賣比:即售罄率,GMV/備貨值
  • 收藏數(shù):收藏某款商品的用戶數(shù)量
  • 加購數(shù):加購物車人數(shù)
  • SKU數(shù):促銷活動中的SKU計數(shù)(一般指貨號)
  • SPU計數(shù):促銷活動中的SPU計數(shù)(一般指貨號)
  • 拒退量:拒收和退貨的總數(shù)量
  • 拒退額:拒收和退貨的總金額
    其中灾螃,銷售額题翻、售賣比、UV腰鬼、轉(zhuǎn)化率為主要關(guān)注指標(biāo)嵌赠,其余為輔助指標(biāo)。
    具體的業(yè)務(wù)分析框架如下:


    電商促銷活動分析.png

4熄赡、數(shù)據(jù)分析

4.1 數(shù)據(jù)源

sales_info1:商品信息表姜挺,數(shù)據(jù)結(jié)構(gòu)如下:


商品信息表.PNG

sales_info2:商品熱度信息表,數(shù)據(jù)結(jié)構(gòu)如下:


商品熱度信息表.PNG

sales_info3:用戶銷售明細表彼硫,數(shù)據(jù)結(jié)構(gòu)如下:
用戶銷售明細表.PNG

以上數(shù)據(jù)來源MySQL數(shù)據(jù)庫炊豪,通過Python讀取。

4.2 數(shù)據(jù)匯總

  • 統(tǒng)計每個商品的銷售情況
#dt3為用戶銷售明細數(shù)據(jù)
product_sales = dt3.groupby('商品名').agg({'購買數(shù)量':'sum',
                                           '購買金額':'sum',
                                           '退貨件數(shù)':'sum',
                                           '退貨金額':'sum',
                                           '購買單價':'mean',
                                           '用戶id':pd.Series.nunique}).reset_index()
product_sales.rename(columns={
                               '購買數(shù)量':'商品銷售數(shù)量',
                               '購買金額':'商品銷售金額',
                               '退貨件數(shù)':'商品退貨數(shù)量',
                               '退貨金額':'商品退貨金額',
                               '購買單價':'商品銷售單價',
                               '用戶id':'商品購買用戶數(shù)量'
},inplace=True)
product_sales.head()

得到每個商品的銷售情況匯總數(shù)據(jù)


每個商品的銷售情況匯總.PNG
  • 合并商品信息表乌助、熱度信息表和商品銷售匯總表
#dt1為商品信息表溜在、dt2為熱度信息表
dt_product = dt1.merge(dt2,how='left',on='商品名')
dt_product_sales = dt_product.merge(product_sales,how='left',on='商品名')

得到最終的分析數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu)如下:


最終分析數(shù)據(jù).PNG

4.2 計算業(yè)務(wù)分析指標(biāo)

  • 計算單個指標(biāo)
#1他托、GMV掖肋,銷售額
gmv = dt_product_sales['商品銷售金額'].sum()
#2、實銷:GMV-退貨金額
return_money = gmv - dt_product_sales['商品退貨金額'].sum()
#3赏参、銷量:累計銷量(含退貨)
all_sales = dt_product_sales['商品銷售數(shù)量'].sum()
#4志笼、客單價:GMV/客戶數(shù)
custom_price = gmv/dt_product_sales['商品購買用戶數(shù)量'].sum()
#5、UV:商品所在頁面的獨立訪問數(shù)
uv_cons = dt_product_sales['UV數(shù)'].sum()
#6把篓、轉(zhuǎn)化率:客戶數(shù)/UV
uv_rate = dt_product_sales['商品購買用戶數(shù)量'].sum()/uv_cons
#7纫溃、折扣率:GMV/吊牌總額(吊牌價* 銷量)
tag_sales = (dt_product_sales['吊牌價'] * dt_product_sales['商品銷售數(shù)量']).sum()
discount_rate = gmv/tag_sales
#8、備貨值:吊牌價* 庫存量
goods_value = (dt_product_sales['吊牌價'] * dt_product_sales['庫存量']).sum()
#9韧掩、售賣比:即售罄率紊浩,GMV/備貨值
sales_rate = gmv/goods_value
#10、收藏數(shù):收藏某款商品的用戶數(shù)量
collect_cons = dt_product_sales['收藏數(shù)'].sum()
#11疗锐、加購數(shù):加購物車人數(shù)
add_shop_cons = dt_product_sales['加購物車數(shù)'].sum()
#12坊谁、SKU數(shù):促銷活動中的SKU計數(shù)(一般指貨號)
sku_cons = dt_product_sales['SKU'].sum()
#13、SPU計數(shù):促銷活動中的SPU計數(shù)(一般指貨號)
spu_cons = len(dt_product_sales['商品名'].unique())
#14滑臊、拒退量:拒收和退貨的總數(shù)量
reject_cons = dt_product_sales['商品退貨數(shù)量'].sum()
#15口芍、拒退額:拒收和退貨的總金額
reject_money = dt_product_sales['商品退貨金額'].sum()
  • 合并分析指標(biāo)
#當(dāng)期數(shù)據(jù)
sales_state_dangqi =  pd.DataFrame(
    {"GMV":[gmv,],"實際銷售額":[return_money,],"銷量":[all_sales,],"客單價":[custom_price,],
     "UV數(shù)":[uv_cons,],"UV轉(zhuǎn)化率":[uv_rate,],"折扣率":[discount_rate,],"貨值":[goods_value,],
     "售賣比":[sales_rate,],"收藏數(shù)":[collect_cons,],"加購數(shù)":[add_shop_cons,],"sku數(shù)":[sku_cons,],
     "spu數(shù)":[spu_cons,],"拒退量":[reject_cons,],"拒退額":[reject_money,],}, 
    ) 
# 去年的數(shù)據(jù)是已經(jīng)統(tǒng)計好了的,不需要計算
sales_state_tongqi = pd.DataFrame(
    {"GMV":[2261093,],"實際銷售額":[1464936.517,],"銷量":[7654,],"客單價":[609.34567,],
     "UV數(shù)":[904694,],"UV轉(zhuǎn)化率":[0.0053366,],"折扣率":[0.46,],"貨值":[12610930,],
     "售賣比":[0.1161,],"收藏數(shù)":[4263,],"加購數(shù)":[15838,],"sku數(shù)":[82,],
     "spu數(shù)":[67,],"拒退量":[2000,],"拒退額":[651188.57,],}, 
    ) 
#當(dāng)期數(shù)據(jù)修改列名
sales_state_dangqi_s = pd.DataFrame(sales_state_dangqi.stack()).reset_index().iloc[:,[1,2]]
sales_state_dangqi_s.columns = ['指標(biāo)','今年雙十一']
#去年數(shù)據(jù)修改列名
sales_state_tongqi_s = pd.DataFrame(sales_state_tongqi.stack()).reset_index().iloc[:,[1,2]]
sales_state_tongqi_s.columns = ['指標(biāo)','去年雙十一']
sales_state = pd.merge(sales_state_dangqi_s,sales_state_tongqi_s,on='指標(biāo)')
#計算同比指標(biāo)
sales_state['同比'] = (sales_state['今年雙十一'] - sales_state['去年雙十一'])/sales_state['去年雙十一']
今年-去年各項指標(biāo)比較.PNG

如上所示雇卷,客單價同比下降了鬓椭,客單價與毛利率有關(guān)颠猴,需要追蹤客單價下降的原因;客單價與GMV小染、UV數(shù)和UV轉(zhuǎn)化率有關(guān)翘瓮, 這三個指標(biāo)同比都上升了,猜測客單價下降的原因是【高質(zhì)量客戶流失氧映,買低價的客戶較多春畔;促銷價格過低】。此外岛都,折扣率同比也下降了律姨,做特賣折扣是一個運營的關(guān)鍵點,通過比較不同折扣力度的運營效果臼疫,為折扣力度的設(shè)置提供數(shù)據(jù)參考择份。

4.3 根據(jù)價格區(qū)間來確定合適的促銷商品結(jié)構(gòu)

這部分的主要工作:根據(jù)價格區(qū)間劃分?jǐn)?shù)據(jù),分析價格相對高的商品此次促銷情況烫堤,以此來優(yōu)化后期的促銷結(jié)構(gòu)荣赶。

  • 根據(jù)價格劃分?jǐn)?shù)據(jù)
#劃分價格區(qū)間
listBins = [0, 200, 400, 100000]

#設(shè)備切分后對應(yīng)標(biāo)簽
listLabels = ['1_200', '200_400', '400及以上']

#進行數(shù)據(jù)切分
dt_product_sales['價格分組'] = pd.cut(dt_product_sales['售賣價'], bins=listBins, labels=listLabels, include_lowest=True)
  • 計算每個價格區(qū)間的業(yè)務(wù)分析指標(biāo)
    這里用到的業(yè)務(wù)分析指標(biāo)如下:
    • 貨值
    • 貨值占比
    • 銷售額
    • 售賣比
    • 銷售占比
    • 銷量
    • 客單價
    • UV
    • 收藏數(shù)
    • 加購數(shù)
    • 轉(zhuǎn)化率
    • 用戶數(shù)
# 貨值 銷售額 銷量 UV 用戶數(shù) 收藏數(shù) 加購數(shù)
dt_product_sales_info = dt_product_sales.groupby(['價格分組']).agg({
                            '貨值':'sum',
                            '商品銷售金額':'sum',
                            '商品銷售數(shù)量':'sum',
                            'UV數(shù)':'sum',
                            '商品購買用戶數(shù)量':'sum',
                            '收藏數(shù)':'sum',
                            '加購物車數(shù)':'sum'
}).reset_index()
# 貨值占比 售賣比 銷售占比 客單價 轉(zhuǎn)化率
dt_product_sales_info['貨值占比'] = dt_product_sales_info['貨值']/dt_product_sales_info['貨值'].sum()
dt_product_sales_info['售賣比'] = dt_product_sales_info['商品銷售金額']/dt_product_sales_info['貨值']
dt_product_sales_info['銷售占比'] = dt_product_sales_info['商品銷售金額']/dt_product_sales_info['商品銷售金額'].sum()
dt_product_sales_info['客單價'] = dt_product_sales_info['商品銷售金額']/dt_product_sales_info['商品購買用戶數(shù)量']
dt_product_sales_info['轉(zhuǎn)化率'] = dt_product_sales_info['商品購買用戶數(shù)量'] /dt_product_sales_info['UV數(shù)']

得到三個價格區(qū)間各自的業(yè)務(wù)指標(biāo)值


三個價格區(qū)間業(yè)務(wù)指標(biāo)結(jié)果.PNG

如上圖所示,價格在400以上的商品鸽斟,銷售額拔创、售賣比均大于另外兩個價格區(qū)間的商品,轉(zhuǎn)化率與另外兩個價格區(qū)間的商品勢均力敵富蓄。雖然是促銷活動剩燥,不一定只是看價格低這個因素,此處高價的商品也很值得分析立倍,因此選取價格在400以上的商品單獨分析灭红。

  • 選取高價商品分析
#取出價格400及以上的數(shù)據(jù)
product_400 = dt_product_sales.loc[dt_product_sales['價格分組'] == '400及以上']
#計算轉(zhuǎn)換率 售賣比
#轉(zhuǎn)換率=客戶數(shù)/UV
product_400['轉(zhuǎn)換率'] = product_400['商品購買用戶數(shù)量']/product_400['UV數(shù)']
#備貨值=吊牌價* 庫存量
product_400['備貨值'] = product_400['吊牌價'] * product_400['庫存量']
#售賣比:售罄率,GMV/備貨值
product_400['售賣比'] = product_400['商品銷售金額']/product_400['貨值']

得到高價商品的運營情況結(jié)果


高價商品的運營情況結(jié)果.PNG

根據(jù)上圖所示口注,通過比較轉(zhuǎn)換率和售賣比這兩個指標(biāo)变擒,可以給出下面的優(yōu)化方案:

  • 轉(zhuǎn)換率大于0.8%的商品(即A006、B006寝志、C010娇斑、E007、F001)材部,保留悠菜,用于下次促銷活動;
  • 轉(zhuǎn)換率小于0.8%但是售賣比大于30%的商品(即G001败富、G010、H006)摩窃,還是可以作為下次促銷活動的備選商品兽叮;
  • 轉(zhuǎn)換率小于0.8%且售賣比不足30%的商品芬骄,給予清倉處理。

4.4 根據(jù)折扣區(qū)間來確定合適的促銷商品結(jié)構(gòu)

這部分的主要工作:根據(jù)折扣區(qū)間劃分?jǐn)?shù)據(jù)鹦聪,分析折扣貢獻度較高的商品此次促銷情況账阻,以此來優(yōu)化后期的促銷結(jié)構(gòu)。

  • 根據(jù)折扣劃分?jǐn)?shù)據(jù)
#劃分折扣區(qū)間
#設(shè)置切分區(qū)域
listBins = [0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 1]

#設(shè)備切分后的標(biāo)簽
listLabels = ['0.15_0.2','0.2_0.25','0.25_0.3','0.3_0.35','0.35_0.4','0.4_0.45','0.45_0.5','0.5_0.55','0.55_0.6','0.6_0.65','0.65_0.7','0.7_1']

#劃分?jǐn)?shù)據(jù)
dt_product_sales['折扣區(qū)間'] = pd.cut(dt_product_sales['折扣率'],bins=listBins,labels=listLabels,include_lowest=True)
  • 計算每個折扣區(qū)間的業(yè)務(wù)分析指標(biāo)
    這里用到的業(yè)務(wù)分析指標(biāo)如下:
    • 銷售額
    • 銷量
    • 客單價
    • 客戶數(shù)
    • UV
    • 轉(zhuǎn)換率
    • 庫存
    • 貨值
    • 售賣比
    • 收藏數(shù)
    • 加購數(shù)
    • 貨值占比
    • 銷售占比
# 貨值 銷售額 銷量 UV 客戶數(shù) 收藏數(shù) 加購數(shù)
dt_product_discount_info = dt_product_sales.groupby(['折扣區(qū)間']).agg({
                            '貨值':'sum',
                            '商品銷售金額':'sum',
                            '商品銷售數(shù)量':'sum',
                            'UV數(shù)':'sum',
                            '商品購買用戶數(shù)量':'sum',
                            '收藏數(shù)':'sum',
                            '加購物車數(shù)':'sum'
}).reset_index()
#客單價 轉(zhuǎn)化率 貨值占比 銷售占比
dt_product_discount_info['客單價'] = dt_product_discount_info['商品銷售金額']/dt_product_discount_info['商品購買用戶數(shù)量']
dt_product_discount_info['轉(zhuǎn)化率'] = dt_product_discount_info['商品購買用戶數(shù)量']/dt_product_discount_info['UV數(shù)']
dt_product_discount_info['貨值占比'] = dt_product_discount_info['貨值']/dt_product_discount_info['貨值'].sum()
dt_product_discount_info['銷售占比'] = dt_product_discount_info['商品銷售金額']/dt_product_discount_info['商品銷售金額'].sum()

得到各個折扣區(qū)間的業(yè)務(wù)指標(biāo)結(jié)果


各個折扣區(qū)間的業(yè)務(wù)分析指標(biāo)結(jié)果.PNG

如上圖所示泽本,除了轉(zhuǎn)化率略低于其他折扣區(qū)間的商品淘太,折扣在0.35_0.4的商品各項指標(biāo)均優(yōu)于其他商品,因此此處單獨分析折扣在0.35_0.4的商品此次促銷情況规丽。

  • 選取折扣在0.35_0.4的商品分析
#取出折扣區(qū)間在0.35_0.4的數(shù)據(jù)
discount_354 = dt_product_sales[dt_product_sales['折扣區(qū)間']=='0.35_0.4']
#售賣比 化率
discount_354['售賣比'] = discount_354['商品銷售金額']/discount_354['貨值']
discount_354['轉(zhuǎn)化率'] = discount_354['商品購買用戶數(shù)量']/discount_354['UV數(shù)']

得到折扣在0.35_0.4的商品各項指標(biāo)結(jié)果


折扣在0.35_0.4的商品業(yè)務(wù)指標(biāo)結(jié)果.PNG

如上圖所示蒲牧,通過比較轉(zhuǎn)化率和售賣比兩個指標(biāo),可以給出以下優(yōu)化方案:

  • 折扣率大于37%的部分找出售賣比大于35%且轉(zhuǎn)化率大于0.8%的商品(即G005)予以保留赌莺;
  • 折扣率小于37%的部分找出售賣比大于25%且轉(zhuǎn)化率大于0.5%的商品(即C005冰抢、G001)予以保留;
  • 其余清倉處理艘狭。

5挎扰、流量分布

在一級入口中,首頁的流量占比最高巢音,我們可以將暢銷款(上述分析中予以保留的商品)布局在首頁檔期流遵倦。在唯品會中,我們需要不斷的增加商品來保證我們的SKU數(shù)官撼。對于平銷款(上述分析中予以清倉的商品)梧躺,我們將其作為快搶和瘋搶處理。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末歧寺,一起剝皮案震驚了整個濱河市燥狰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌斜筐,老刑警劉巖龙致,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異顷链,居然都是意外死亡目代,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門嗤练,熙熙樓的掌柜王于貴愁眉苦臉地迎上來榛了,“玉大人,你說我怎么就攤上這事煞抬∷螅” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵革答,是天一觀的道長战坤。 經(jīng)常有香客問我曙强,道長,這世上最難降的妖魔是什么途茫? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任碟嘴,我火速辦了婚禮,結(jié)果婚禮上囊卜,老公的妹妹穿的比我還像新娘娜扇。我一直安慰自己,他們只是感情好栅组,可當(dāng)我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布雀瓢。 她就那樣靜靜地躺著,像睡著了一般笑窜。 火紅的嫁衣襯著肌膚如雪致燥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天排截,我揣著相機與錄音嫌蚤,去河邊找鬼。 笑死断傲,一個胖子當(dāng)著我的面吹牛脱吱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播认罩,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼箱蝠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了垦垂?” 一聲冷哼從身側(cè)響起宦搬,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎劫拗,沒想到半個月后间校,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡页慷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年憔足,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片酒繁。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡滓彰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出州袒,到底是詐尸還是另有隱情揭绑,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布郎哭,位于F島的核電站洗做,受9級特大地震影響弓叛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜诚纸,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望陈惰。 院中可真熱鬧畦徘,春花似錦、人聲如沸抬闯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽溶握。三九已至杯缺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間睡榆,已是汗流浹背萍肆。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留胀屿,地道東北人塘揣。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像宿崭,于是被迫代替她去往敵國和親亲铡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,843評論 2 354