2014年8月23日 星期六

D2A

"Action. Action. Action."
我是電機系出身的,在學校的時候學過 D2A converter (但現在全還給學校了),也就是 Digital-to-Analog converter 的縮寫。只是這篇文章不談如何把數位訊號轉換成類比訊號,標題的 D2A 是指 Data to Action ,因為資料分析的最終目的是讓我們決定採取(或決定不採取)行動

我在十年前幫客戶建分群模型時,不時被客戶 challenge 說他們要的是 actionable segments。所以在說明分群結果時,我們非常重視是否真的 actionable。沒想到十年過去,我還在協助(其他的)客戶建分群模型。我用 k-means clustering 這個廣泛運用的演算法來說明建置顧客分群模型過程中要注意的事項,但是這回客戶 challenge 我的不是如何證明結果是不是 actionable ,而是質疑我為什麼還用這麼「古老」的演算法?為什麼不用新發展出來、可以自動算出「最佳」分群數的 clustering 演算法?

其實古老不代表落伍, logistic regression 比 k-means clustering 更古老,但是現在很多人還是用得嚇嚇叫。不過我也不是在提倡一定要用有歷史的演算法,這麼多年來我一直都用 k-means clustering 來為客戶的企業建置顧客分群模型,是因為:
  • 這個演算法相對較容易理解;
  • 在處理大量(以百萬為單位)的顧客時,它的速度夠快;
  • 所有客戶對我作出來的分群結果都願意買單。
我認為最後一個理由最重要。企業界作資料分析,是要拿來作實際應用的,不是拿結果來寫 paper 的。客戶願意接受我呈現的結果,不是因為我使用了最先進的技術或是最複雜的演算法,而是他們同意這結果確實是 actionable 。

也許你也會挑戰我說, k-means clustering 的分群數(k)是人為設定的,我怎麼能證明我設定的分群數就是「最佳」的?

所謂的「最佳」,必然是根據某項標準衡量的結果。所以如果你在挑戰我的同時,沒有提到要用什麼標準來衡量是否最佳,你所說的「最佳」就沒有意義。這聽起來似乎是我在詭辯,因此我再換個角度來說。我相信那些號稱可以找出最佳分群數的 clustering 方法在符合某些假設條件時,可以達到某種標準的最佳,然而問題是現實生活中的資料鮮有能符合這些條件的,那我們怎能說它是最佳?

何況在分群的過程中,我們往往必須對原先提出的分群變數作處理或作某種數學轉換,再由 clustering 方法去作運算。如果這些方法真能算出最佳分群數,也是針對轉換後的變數而言,無法保證對原始分群變數是最佳,這樣的「最佳」對我們的意義究竟是什麼?

雖然 Big data 和 data scientist 這兩個名詞的風行,讓我從事的工作炙手可熱,卻也讓大家的目光都集中在 data 上。如果本身沒有什麼底子,很容易就以為 data 萬能,反而忽略了(對企業而言)資料分析只是為了達成某項目標所進行的任務之一。而分析要作得好,光靠 science 是不夠的,尤其對顧客分群這項任務來說,art 的成分比 science 高太多了(這裡所謂 art 並非「電影是第八藝術」的這類涵義,而比較接近「說話是一種藝術」裡的意思),演算法很強或統計背景很深的人未必能作得出企業能夠應用的結果。

相信大家聽過兩個朋友在森林裡遇到熊的笑話,其實不需要跑得比熊快,只要跑得比那個同伴快就可以了。換成作顧客分群的 clustering ,你用的可能只是「古老」的 k-means ,而競爭對手可能花很多時間在算所謂的最佳解、推敲 R-square 夠不夠大。其實你不需要求最佳解(因為實務上你永遠都不會知道什麼是最佳解),你只要比競爭對手早作完分群,趕快付諸行動就可以了。

沒有留言: