Netflix的算法邏輯是什麼?
我們可以學到什麼東西?又要如何應用?
怎麼投資賺更多錢?
你投資的公司或基金,在同類商品中表現如何?怎麼透過標準差篩選好標地?
如何得到老闆賞識?
你負責的產品與服務,產出的良率如何?
如何加薪升官?
你的薪資待遇,在同齡或同期員工中算高還算低?
怎麼讓小孩長高?
你小孩進入青春期前的身高,是在幾個標準差之低還之外?
如何增加公司營收?
你公司的客戶中,有多少人有購買力、購買意願,卻沒有買足,值得優先開發以增進營收?
有聽過六個標準差嗎?這是什麼東西?
上一講我們談到標準差的應用,你有想過如何在生活與工作中運用標準差的概念嗎?
給大家幾個提示:
-
怎麼投資賺更多錢?
你投資的公司或基金,在同類商品中表現如何?怎麼透過標準差篩選好標地?
-
如何得到老闆賞識?
你負責的產品與服務,產出的良率如何?
-
如何加薪升官?
你的薪資待遇,在同齡或同期員工中算高還算低?
-
怎麼讓小孩長高?
你小孩進入青春期前的身高,是在幾個標準差之低還之外?
-
如何增加公司營收?
你公司的客戶中,有多少人有購買力、購買意願,卻沒有買足,值得優先開發以增進營收?
-
有聽過六個標準差嗎?這是什麼東西?
好了,以上問題給大家想想,想通了你就知道標準差怎麼應用了,此外,不要覺得文章中有關於數學的部分很難,你大概知道意思就好,畢竟我們用到的絕大多數數學公式,在excel 中只是一個函式,與之衍生的算法用R or Python 來寫,可能不過十行,而且網路上一大堆
當你理解了概念,知道了適用情境,有了正確理解,做事情就事半功倍.做事抓重點,成本低又效率高,何樂不為?
而抓重點做事,剛好是資料分析的靈魂.
大家有空時記得多動動腦,有問題歡迎在社團發問!
上一講我們談到了Netflix競賽的成功,他們有因為這樣的收穫持續去增進用戶行為預測的準確性,進而提高DVD拷貝準備與派送的效率嗎?
沒有,因為他們的商業模式很快就從租賃DVD轉到線上了
在台灣的用戶應該都跟我一樣,沒有透過Netflix租過任何一片DVD,而是直接從觀看他們的影片開始.
我們沒有經歷的不只是租賃DVD, 也包含他們最早的DVD訂閱服務.
2000年前如果你在美國要租片,到期不歸還可是要繳納高額的滯納金。但美國和台灣不同,百視達不會在你家樓下,所以很多人一忙,罰款就比租金高了.Netflix提供客戶按月或是按年訂閱,你線上預約後他就寄DVD到你家,反正有借閱上限你不還也沒有滯納金,光靠這一招就讓他們從競爭對手中脫穎而出,同時在2001年上市成功
由於訂閱制寫在Netflix的DNA裡,所以他們對用戶線上體驗的優化和行為分析遠比其他對手更重視,這樣的DNA在他們跨足自製節目後更是發揮到極致,我自己在看Netflix的節目時常常感嘆:內容製作到這種程度,推薦給我的影片隨便轉都很好看,那其他的電視台甚至電影製片公司還要不要活啊?
偷偷跟大家透露個消息,訂閱Netflix之前我已經快三十年沒看劇了,而推薦我看的還是台灣的電影導演,連業內都買單了,何況我這種一般人呢?
看習慣的人就知道,Netflix節目的節奏快、題材多、影集一次給你一季,讓你追又不讓你睡,每每在你想跳出前就先來個神轉折,雖然看久了不免覺得他們無論任何類型、任何地區拍的影片都有一條底層公式,但即使如此,還是常常看到欲罷不能,到底他們是如何做到的呢?
很簡單,因為他們先你一步,預測出你下一步的可能反應
隨著Netflix開始提供線上內容,他們可以搜集更多的數據,從更多維度去了解用戶的使用行為,比如:
-
如何觀看:使用什麼設備、幾個人使用、在哪裡使用(基本資料)
-
每天什麼時間觀看,每周的哪幾天觀看,平均觀看的頻度、在哪裡觀看、看什麼節目(行為記錄)
-
用戶是如何發現視頻的(落點預測、AB Test)
-
哪些類型或主題的視頻已經推薦給了用戶但從未被播放、被播放即跳出、被播放有看完、被播放沒看完(係數分析、有效性分析)
-
哪些組成(類型、長度、主題、分級)對用戶最有效?(相關係數)
以上只列舉出一小部分,但大家可以想一想,光是以上的幾項數據,可以湊出多少組合?
大家都聽過大數據,但卻不一定知道大數據的幾個基本特性,我們很快復盤一下:
大數據主要的特性包含:大量(Volume)、多樣性(Variety)與即時性(Velocity),同時還有結構化(ex. 在資料庫或你的excel 表中有明確行列項目對應,像是固定欄位、固定格式與順序的資料)與非結構化或半結構化的資料(ex 沒有明確欄位、格式或有欄位沒格式定義的資料)
對Netflix來說,在2020用戶增長就三千萬,在2021年內,註冊會員將達到兩億人,而且早在2018年時Netflix就超越YouTube,成為最常被使用的內容服務,平均每日觀看時間為23.2分鐘(YouTube為22.3分鐘)。現在受惠於疫情,使用時間在2020年內持續拉長到將近60分鐘,所以首先在資料量的方面,他們就已經遙遙領先所有對手,更別提他們的註冊人數遠高於其他平台,資料蒐集得更完整
即使這兩年像是Disney, Amazon, Apple等巨頭紛紛加入戰場,但根據羅胖(得到APP的創辦人)在2016年跨年演講中提到的國民總時間概念,用戶成長勢必有個上限,一般用戶也不可能長期訂閱兩個以上的頻道,至少就目前來看,Netflix的優勢還是相當明顯,這樣的優勢體現在算法上,更讓競爭對手難以追趕
聽到這裡也許大家會有點疑惑,難道不能透過算法的優化來解決資料量不足的問題嗎?
算法的優化可以有效降低計算量,也能補足部分資料量不足的缺憾,但如果資料總量差的不止一個量級?那就完全不是這回事了
有使用過apple siri的人,對比google 語音助理,應該有深刻的體認;開張時熱熱鬧鬧、條件更優惠的apple TV+, 免費期一過還能不能維持熱度看來也很可疑.姑且不論內容豐富度比不上人家,連操作介面都輸人家一大截
這就怪了,不都說Apple的介面最直覺、最簡潔、最有禪風嗎?怎麼連UX都不如人呢?
其實不單單是介面設計那麼簡單,Apple介面設計和目錄看起來沒什麼問題,但操作起來完全不是那麼回事,反之Netflix沒有目錄,但操作卻是極為順手,主要的差異還在於推薦的精準度
講那麼多,我們還是來看看Netflix的推薦到底是怎麼做的吧
!
當你打開Netflix,第一眼看到的不是什麼MOD、電視盒等令人噁心又無言的目錄,反之是乾淨利落的推薦.Netflix是極少數敢在landing page就直接放上推薦內容的公司,而且效果還真的不錯,目前Netflix每3小時的播放中就有2個小時是從首頁發起,效果非常好
這樣的推薦成效是怎麼來的呢?
記得上一講提到Netflix競賽嗎?
Netflix最早的推薦模式就是評分.早在競賽之前,Netflix在2000年就已經推出“Cinematch”(電影匹配)自動推薦功能。當時Netflex每位用戶平均為大約200部電影評分,每天新增400萬次的評分,Netflix之所以舉辦競賽,就是要優化Cinematch的推薦成效
你會不會覺得奇怪:當評分的時候,用戶都已經看完了,這時再評分有什麼用?
其實這就像我們在google上找餐廳一樣,大家看著前人的紀錄去按圖索驥,不同的是google上提供服務的單一玩家多,大家可以做行銷活動去作弊,但影片和餐廳不同,影片後面不是單一經營者,行銷時間也是有限的,不會有人長期作弊,參與評分的人更沒有地域性的限制,所以預測的指導依據就遠遠高於google上的餐廳評級與評價了!
這因如此,當時就有60%的Netflix用戶根據其他人的評分選擇影片。當用戶做出評價之後,Netflix先針對影片做分析,再根據參與預測的用戶過去觀看影片評分等歷史記錄,找出背景像似的人群來預測個別用戶可能喜歡的電影。
頭暈了嗎?沒關係,讓我幫你梳理一下,Cinematch影片匹配的基本邏輯是:
-
在分析範圍中,找出推薦過特定影片A的人群X
-
找出推薦過特定影片B的人群Y
-
找出人群X與人群Y的相關性分佈(+1到-1), 找出將相關性較高(接近+1)的資料群集(data custer) X^Y
-
找出與X^Y類似的人群,推薦Y給他
為什麼這樣做呢?
因為在當時Netflix的用戶就已經遠大於影片數,所以Cinematch從影片端下手,而不是以用戶為單位,在計算量上會減少許多.
聽起來還是有點繞口對吧?別擔心,我們來舉個實例:
在CineMatch數據庫中搜索對某電影(ex. 大話西游)進行過評級的人
找出這些人群中,還對另一部電影(ex. 星際大戰)進行評分的人
找出喜歡“大話西游”同時喜歡“星際大戰”人的相關性
將其中相關性最高的特定人群特徵找出來,根據人群特徵篩找出資料庫中相似的人群,然後推薦“星際大戰”相關影片給他,反之,則不推薦.
其中的值為+1到-1, 至於為什麼是這個值域區間?有興趣的同學可以搜尋“一起出來玩”,參考我們的上一講內容
到了2007年iphone上市以後,Cinematch算法更延伸到智慧手機、聯網電視等多個終端,Netflix用戶數也快速累積,進而讓Cinematch算法推薦技術不斷有數據挖掘、不停迭代,甚至你搜索、觀看、收藏、回放等行為都會被記錄分析;你喜歡什麼題材、演員、甚至拍攝手法與鏡頭都被踩截下來,讓Netflix越來越能準確預測你想看的內容,比你更了解你自己、比傳統電影公司和導演更了解觀眾
聽起來有沒有一種恐怖的感覺?
就這樣,Netflix一步一步從底層改變了內容產業的結構
算法和大牌導演、製片不同,算法沒有主觀偏好,所以推薦的內容不會受到內容情節或演員的影響,反而更重視用戶個人的收視記錄,讓內容推薦更為用戶導向,長此以往,自然讓傳統意義上的主流情節、大牌演員、大牌導演、大牌電影公司的影響力下降,只要你拍的東西有人看,自然都有下一季,一切以結果導向的後果,讓不管內容是Netflix自製、小片商發行或什麼稀奇古怪的影片主題都有更多的曝光機會
當然,這也是今天我們看到Netflix上面有各式各樣稀奇古怪的內容、各式各樣不同的影片型態,但看起來都有類似套路感覺的主因了.
好了,故事講得差不多了,我們還是要回頭來看一下,Cinematch他底層的數學邏輯到底是什麼?
當然,我們還是會用最簡單的方式介紹,讓你能精確掌握概念,而且沒有壓力,一看就懂.所以請大家耐著性子看下去,不要一聽到數學就轉台喔!
相關係數的簡單算法介紹
以上分析Netflix算法的沿革,其中多次提到相關性,到底相關性是怎麼算出來的呢?
如果我們假設一部影片評分人數越多,會點擊收看的人也越多,但我們不確定之間的相關性,這時候我們可以先搜集一下數值,看一下十隻不同影片的評分次數和觀影人數
p.s. 由於fb無法正確顯示表格和公式,請有興趣的夥伴搜尋“一起出來玩” 網站裡面的資料分析,即可看到完整文稿.我把連結放在下方留言第一行以免被FB算法過濾掉,我寫得非常簡單,把複雜算式和證明都刪掉了,大家千萬不要聽到數學就退避三舍,花個三分鐘看一下,你會發現自己不但看得懂,而且還會感覺非常有收穫喔!
影片
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
評分人數
|
20
|
15
|
10
|
5
|
15
|
20
|
25
|
5
|
5
|
10
|
觀看人數
|
200
|
120
|
80
|
3
|
160
|
175
|
225
|
35
|
40
|
95
|
接下來我們可以運用高中學過,統計學家皮爾森發明的相關係數的公式來計算:

對應到上圖,將以上的數值算出來
項目
|
x(評分人數)
|
y(觀看人數)
|
x^2
|
y^2
|
xy
|
1
|
20
|
200
|
400
|
40000
|
4000
|
2
|
15
|
120
|
225
|
14400
|
1800
|
3
|
10
|
80
|
100
|
6400
|
800
|
4
|
5
|
3
|
25
|
9
|
15
|
5
|
15
|
160
|
225
|
25600
|
2400
|
6
|
20
|
175
|
400
|
30625
|
3500
|
7
|
25
|
225
|
725
|
50625
|
5625
|
8
|
5
|
35
|
25
|
1225
|
175
|
9
|
5
|
40
|
25
|
1600
|
200
|
10
|
10
|
95
|
100
|
9025
|
950
|
sum
|
130
|
1133
|
2250
|
179509
|
19465
|
將以上數值帶入公式後,算出來的R值約莫是0.98, 由此可知評分人數和觀看人數的相關係數r很高
如果我們今天要分析的不是一組係數,而是兩組係數,例如影片主題與長度對收視情形之間的相關性,該怎麼做呢?
此外,剛剛舉的例子是十支影片的案例,如果我們只想知道一支影片如何受到趨勢的影響,例如:這支影片每日被觀影的次數和被評分的總人數之間的關係時,那又該怎麼做呢?
這正是我們下兩講要跟大家分享的內容:
各位伙伴,我們下一講再見!