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

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

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

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

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

視覺化繪圖的內容設計:

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

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

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

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

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

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

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

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

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

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

內層迴圈

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

--

--