行銷活動效益知多少?顧客回購了嗎? -資料視覺化設計-系列4(附Python程式碼)

行銷資料科學
13 min readOct 7, 2020

--

歡迎回來「行銷活動效益知多少?顧客回購了嗎?」系列的第四篇文章,本篇文章要跟大家分享視覺化的想法以及說明資料視覺化程式碼的核心架構。

前情提要:
前面三篇文章屬於資料前處理的階段,已經跟大家分享了資料前處理的重要性以及如何在複雜的資料中取出關鍵資料,並且如何將關鍵資料內容建立成一個會員消費紀錄資料庫,最後把「會員消費紀錄資料庫」彙整出後續「資料視覺化」所會使用到的基本元素。

是否已經迫不及待想繼續看下去了呢?
就讓我們開始吧!

資料視覺化設計與程式碼架構說明

一開始先說明繪圖呈現的想法,我們希望透過查看不同「廣告」在2018一整年中,區分「每個月」中所帶來的顧客分別是「第幾次購買」系列1的商品(舉例:8月的顧客中有第一次購買、第二次購買、第四次購買的人),並觀察購買次數不同的客群他們各自的消費型態(平均利潤)來找出管理意涵。

視覺化繪圖的內容設計:

結合長條圖以及兩條折線圖在同一張圖中呈現

長條圖表示是每個月份「不同客群所帶來的每人平均利潤」

兩條折線圖分別代表每個月「所有客群加總後每人平均利潤」以及「一整年的每人平均利潤」

大家也可以先不要往下看,試著先自我練習,最後再來比對一下成果是否一樣!接下來就開始我們的繪圖程式解說。

本次資料視覺化會使用的套件除了前面所提到pandas、numpy、datetime以外,新增的套件及其應用如下:

  1. plotly :能夠呈現離線繪圖,可將圖片儲存成html離線檔在資料夾中,可以無時無刻檢視圖片。
  2. plotly系列中的plotly.express(以下簡稱px):本次繪圖的主要功能,簡單的程式碼就能呈現豐富的圖形。
  3. os:建立資料夾

繪圖階段程式碼核心架構會使用到雙重For迴圈,因此會以兩個迴圈內容做一個拆解說明,兩個迴圈目的成果簡述與程式架構如下圖1:

圖 1、繪圖階段程式碼架構

1. 內層迴圈:建立單一廣告每個月客群(第幾次購買)的資料,內容包含「月份」、「第幾次購買」、「人數」、「利潤」以及「每人平均利潤」

2. 外層迴圈:得出每個廣告每個月份「所有客群」加總的平均利潤,以及年均利潤,最後再依照上述整理後的資料進行「資料視覺化」。

內層迴圈

以下就開始解釋程式碼架構中內層迴圈(藍色區塊)的部分,如圖2。

圖 2、程式碼架構(內層迴圈)

內層迴圈的第一部分以【for i in range(len(final_2018)):】對應到圖2(請更改)的藍色第一個區塊方格【內層迴圈:】,此程式碼的涵義是單一廣告的「final_2018」的長度(12)可以從len(final_2018)的產出結果得知,然而在外面包上range()之後,for迴圈中的’i’ 會從0開始執行,執行完一次就換到1,以此類推程式碼將會按照順序地跑到11,總共12次,此處的12次就分別代表是12個月份。

內層迴圈程式碼(藍色第二個方格)都必須縮排在第一個藍色方格內,程式碼才能執行成功,下方開始解釋內層迴圈程式碼。

廣告「critei」做內層迴圈的舉例,一開始我們會把廣告(critei)1到12月份的資料取出來後,將資料的index重新排序後加到存放所有月份的清單中如程式碼1所示。

程式碼1:

# 舉例:每個月份 critei(廣告代號)的資料ad_mon = final_2018[i][final_2018[i]['廣告代號']==str(i+1)+'月_'+'critei']# 重新排序indexad_mon = ad_mon.reset_index(drop = True)# 將月份資料加入ad_total中ad_total.append(ad_mon)

產出:

廣告critei每個月的資料清單(ad_total),如圖3所示。

圖 3、廣告critei每個月的資料清單

在此一樣可以點選清單中的項目來查看資料,如圖4所示。

圖 4、ad_total清單中6月份資料

接下來在「ad_total」清單中的每一個資料中對「第幾次購買」欄位進行groupby的動作,來分群消費者是第幾次購買。之後建立名為mon_final的DataFrame,內容包含「月份」、「第幾次購買」、「人數」以及「利潤」,並隨著for迴圈的順序(1~12月)把每個月份的分群後資料使用concat的方法一個一個組合到「ad_total_mon」上,以利我們後續計算不同客群的每人平均利潤是多少,如程式碼2所示。

程式碼2:

# 將每個月的"第幾次購買"人數建立df# 把每月份的資料以第幾次購買分群ad_mon_gp = ad_total[i].groupby('第幾次購買')# 求出每群利潤的總額ad_mon_profit = ad_total[i].groupby('第幾次購買')['利潤'].sum().tolist()# 建立DataFrame
# 將每個月的"第幾次購買"人數建立df
# 把每月份的資料以第幾次購買分群ad_mon_gp = ad_total[i].groupby('第幾次購買')# 求出每群利潤的總額ad_mon_profit = ad_total[i].groupby('第幾次購買')['利潤'].sum().tolist()# 建立DataFramemon_final = pd.DataFrame {'第幾次購買':ad_mon_gp.size().index.tolist(),'人數':ad_mon_gp.size().values.tolist(),'利潤':ad_mon_profit})ad_total_mon=pd.concat([ad_total_mon,mon_final])

產出:

已將不同月份各自分類好的客群資料組合到「ad_total_mon」,如圖5所示。

圖 5、分群後資料(ad_total_mon)

成功獲得每個月的分群後資料後,馬上接著計算該月不同客群的每人平均利潤為多少,在ad_total_mon上新增一個新的欄位「平均利潤」,如程式碼3所示。

程式碼3:

# 計算出平均利潤(取整數)並新增【平均利潤】到ad_total_mon上
ad_total_mon['平均利潤'] = round(ad_total_mon['利潤'] / ad_total_mon['人數'] )

產出:

ad_total_mon 新增平均利潤後的資料內容,如圖6所示。

圖 6、ad_total_mon調整後資料

內部迴圈的程式碼的部分已結束,是不是覺得沒有很複雜呢?不過我們已經將每個月不同客群的「每人平均利潤」成功的新增在資料中,我們又將精華的資料更進一步的萃取出我們需要的關鍵元素!

下一篇文章將會解說資料視覺化程式碼「外部迴圈」的部分,想要輕鬆就能產出不同廣告的資料視覺化成果嗎?那麼絕對不能錯過!

請點擊下方系列文章連結了解更多!

Thinking smarter makes you work smarter
如果你喜歡我的文章的話,請給我一點拍手~
如果你覺得喜歡又實用的話,請給我更多的拍手!

程式碼:行銷活動效益知多少?顧客回購了嗎? -資料視覺化想法及程式碼架構-系列4(附Python程式碼)

作者:張友志 (臺灣行銷研究特邀作者)、鍾皓軒(臺灣行銷研究有限公司創辦人)

行銷活動效益知多少?顧客回購了嗎?-取出關鍵資料-系列1(附Python 程式碼)
行銷活動效益知多少?顧客回購了嗎? -建立會員消費紀錄資料庫-系列2(附Python程式碼)
行銷活動效益知多少?顧客回購了嗎?-彙整資料視覺化所需的基本元素-系列3(附Python程式碼)
行銷活動效益知多少?顧客回購了嗎? -萃取精華資料中的精華-系列5(附Python程式碼)
行銷活動效益知多少?顧客回購了嗎? - 資料視覺化產出與分析判讀-系列6(附Python程式碼)

歡迎加入我們的Telegram獲取即時訊息!https://t.me/marketingdatascience
歡迎加入我們的Line@獲取即時訊息!https://line.me/R/ti/p/%40cde8265r

您可能有興趣:

📢TMR為您量身打造「全方位數據課程」

👨‍🎓熱門Python程式語言結合全新商業思維,快來終生學習不間斷!

【TMR】 X 【 好學校】
👨‍💼Python商業全系列數位課程👨‍💼

#行銷人必學實用Python課程

《 Python 0到1 基礎商業數據分析實戰 》
💥 價格 :3188
👉 從0開始:手把手從頭學習,適合完全沒學過的學員
👉 商業應用全台最多:傳授市面上少見的Python實務應用
👉 網路輿情爬蟲演練:網路輿情商務爬蟲技法
👉 競品分析:競爭價值定位圖找出藍海策略
👉 貨架陳列視覺化:解析行銷策略及廣告預算配置方法
🛒 前往購買:https://hahow.in/cr/python0-1

《 顧客分類大師:Python x RFM 會員經營新觀點 》
💥 價格 :2388

🎯 Python X RFM最佳拍檔,輕鬆鎖定潛(錢)在顧客
不需要出門,在家也能學習專業課程,讓你擁有會員經營的新思維!

本課程以五個面向為您的企業,做更深入的健診:
👉 市場面:以最基本的顧客消費資料(頻率、購買次數),將現有顧客區隔分類。
👉 財務面:計算出在每個顧客身上所賺得毛利,在不同客群中的獲利。
👉 行銷面:藉由 RFM 的分析進行行銷預算重新分配。
👉 產品面:觀察在不同客群中,各個產品的銷售狀況。
👉 顧客回購面:分析顧客的購買週期後,進行精準推薦。
🛒 前往購買:https://hahow.in/cr/rfm-model

《 AI 行銷學:用 Python 機器學習創造商業新價值 》
💥 價格 :3888
👉 全台第一門Python機器學習線上課程
👉 教導你快速理解Logistic Regression, XGBoost, Random Forest商務機器學習模型。
👉 建構老闆或主管們看得懂的模型評估指標,讓精準行銷方案更容易被接受且推出
👉 如何利用機器學習找出消費者心中的重要變數及客樣貌與特徵,做到個體及總體的商品推薦?
👉 如何從數以萬計的消費資料中偵測可能的詐欺名單?
🛒 前往購買:https://hahow.in/cr/python-ml

#實用投資分析課程

《 用 Python 打造自己的股票小秘書 》
💥 價格 :4288
👉 打造自動推播機器人,趁著股市最近低迷,找出最適進場點
👉 「到價提醒」功能,大大提升投資便利性
👉 了解Python雲端服務架構,完整的專案流程
👉 孰悉No SQL資料庫操作,未來大數據的基礎
🛒 前往購買:https://hahow.in/cr/stock-secretary

#好學校企業百大課程之一:

台科 EMBA 年年爆滿的一門 Word 課(A系列)
💥 價格 :950
👉 系統性學習Office軟體功能,教您別人不知道的快捷鍵
👉 調整不受控制的行距與精準對齊排版
👉 一鍵轉換Word到Excel
👉 有效率處理企畫書、畢業論文、小組報告、公文等
🛒 前往購買:https://hahow.in/cr/tmr-word1

台科 EMBA 年年爆滿的一門 Word 課(B+C系列)
💥 價格 :1,050
👉 傳授獨家快捷鍵字典
👉 分享好用的大綱模式,讓文章處理更有效率
👉 建立大綱模式、多層次清單、目錄與圖表目錄,掌握文件編輯規則
👉 優化文章的邏輯架構
🛒 前往購買:https://hahow.in/cr/tmr-word2

— — — — — — — — — — — — — — — — -

【TMR】 X 【工研院】
🏭工業4.0大數據智慧應用課程🏭

《Python工業4.0人工智慧:製程資料處理大師》

製程數據資料 X 資料科學,
為您開啟工業人工智慧領域的大門!
👉全球前十大智慧製程案例實戰
👉專業講師手把手帶您入門製程資料處理分析
👉課後完整模組心法讓您通通帶回家

💥價格 : 2,800
🏃趕緊手刀前往購買:https://bit.ly/39koNbn

— — — — — — — — — — — — — — — — -

2020課程地圖

💪 點我看更多

🏆 國內第一本行銷資料科學專書

💪 點我看書本資訊

🏆 國內第一本行銷資料科學 ” 實作 ” 專書

💪 點我看書本資訊

🏆國內第一本「股票小祕書」專書

附上購書網址~ 國外的朋友也可以使用博客來與金石堂的通路轉運到國外哦!

  1. 天瓏書局:http://bit.ly/stock-secretaryBot
  2. 博客來:https://www.books.com.tw/products/0010833772

--

--

行銷資料科學
行銷資料科學

Written by 行銷資料科學

Marketing data science. 台灣第一個行銷資料科學(MDS)知識部落,本粉絲專頁在探討行銷資料科學之基礎概念、趨勢、新工具和實作,讓粉絲們瞭解資料科學的行銷運用,並開啟厚植數據分析能力之契機。粉絲專頁:https://www.facebook.com/MarketingDataScienceTMR

No responses yet