「懶惰是進步的原動力」
科技的進步降低了許多事情的門檻,例如過去要會換牌檔才能開車,現在基本上就自排;過去要會打字才能用電腦傳訊息,現在除了打字還可以語音傳圖片;以前要會調光圈快門對焦、現在就手機拿出來一按就好。我們當然不能否認專業的賽車手、專業的打字員、以及專業的攝影師仍然有獨一無二的價值,但科技讓開車、溝通、攝影的門檻降低了許多。
資料產品也是如此,不管前面資料分析多華麗,最終還是得滿足某個需求,而這個需求通常目的都是讓某件事變得更方便、更簡單。像是根據使用者偏好丟使用者有興趣的廣告來提高使用者點擊、推薦使用者喜歡的影片延長使用者使用 Netflix 的時間等等。以下我們將使用筆者過去的產業經驗,聊聊自動決策系統的開發過程。另外如同上一篇,自動決策系統不見得一定會用到 AI 或機器學習。
使用者標籤是企業用來了解使用者、篩選使用者、便是使用者的重要機制。在做自動貼標時的流程大概會是這樣:
確認商務需求以及策略
像是公司想根據客戶等級來做不同的行銷策略,初步想分為五級來做操作。
根據商務需求建立對應的使用者概念
定義何謂客戶等級:像是依照對於公司的價值排序,價值最高的為白金、金、銀、銅、最少為鐵。
根據概念建立操作型定義
白金客戶的操作定義:過去一個月內消費三次,總金額超過三十萬元。
金牌客戶的定義:過去一個月內消費三次,總金額超過三萬元。以此類推。
根據操作型定義找到對應的資料來源
以上面的定義來說,我們需要消費次數的資料、也需要消費金額的資料。但我們發現資料庫中沒有現成的過去一個月消費以及金額資料。儘管資料庫中沒有直接統計使用者的消費次數,但也可以根據使用者交易資料來做聚合,統計使用者每個月的消費次數和金額。如果缺資料的話,就要回頭去改操作型定義。
根據操作型定義建立標籤
簡單一點可以用 SQL 去撈取過去一個月的資料來計算使用者有沒有滿足消費次數以及消費金額的條件,選取出對應使用者並將之命名。通常在這個實作階段會需要再重新確認原有的定義是否符合需求,例如「過去一個月」到底是指「從今天往回算三十天」、還是「日曆上的上一個月」;「消費三次」是指要在「不同天」來門市消費,還是指「同一天來三次」也算。
試貼標籤,確認標籤是否符合概念以及商務需求
初期在規劃的時候通常不知道資料真實的分布狀況以及撈出來的實際用戶到底符不符合我們的需求,所以總是需要這個 try run 的階段。例如原本設定的白金客戶撈出來沒想到只有兩位,其中一位甚至最近十年都沒有消費,這時候就要回去確認定義要不要修改。例如放寬白金客戶的條件、或是多增加一個最近半年需要至少消費一次的條件。另外也可以用小規模的行銷活動來測試這些標籤的結果是否容易操作以及操作結果符合預期。
自動化貼標
以標籤資料來說,「自動化」真的是最簡單的一步了,只要設定好排程讓資料庫記錄使用者以及相對應的標籤就好。
實際商務運用
不管怎麼說,標籤總是需要拿來應用在真實世界。在大規模運用後,需要進一步追蹤這些標籤的使用狀況與成效,是否符合預期。那也如同之前有提到的,任何模型都有可能發生資料或概念漂移的狀況,所以需要持續監控、調整,才能一直滿足商業需求。
要我總結這個流程的話,就是一個「隨時都有可能倒退甚至回到起點」的大富翁(什麼糞 Game!),而且沒有真的「破關」的那天,永遠都有可以被打回起點!