一起出來玩
一起出來玩
    11.Netflix是如何做推薦的?

    11.Netflix是如何做推薦的?

    播放次數:314

    Netflix的算法邏輯是什麼? 我們可以學到什麼東西?又要如何應用? 怎麼投資賺更多錢? 你投資的公司或基金,在同類商品中表現如何?怎麼透過標準差篩選好標地? 如何得到老闆賞識? 你負責的產品與服務,產出的良率如何? 如何加薪升官? 你的薪資待遇,在同齡或同期員工中算高還算低? 怎麼讓小孩長高? 你小孩進入青春期前的身高,是在幾個標準差之低還之外? 如何增加公司營收? 你公司的客戶中,有多少人有購買力、購買意願,卻沒有買足,值得優先開發以增進營收? 有聽過六個標準差嗎?這是什麼東西?

     

    上一講我們談到標準差的應用,你有想過如何在生活與工作中運用標準差的概念嗎?

    給大家幾個提示:

     

    1. 怎麼投資賺更多錢?

    你投資的公司或基金,在同類商品中表現如何?怎麼透過標準差篩選好標地?

    1. 如何得到老闆賞識?

    你負責的產品與服務,產出的良率如何?

    1. 如何加薪升官?

    你的薪資待遇,在同齡或同期員工中算高還算低?

    1. 怎麼讓小孩長高?

    你小孩進入青春期前的身高,是在幾個標準差之低還之外?

    1. 如何增加公司營收?

    你公司的客戶中,有多少人有購買力、購買意願,卻沒有買足,值得優先開發以增進營收?

    1. 有聽過六個標準差嗎?這是什麼東西?

     

    好了,以上問題給大家想想,想通了你就知道標準差怎麼應用了,此外,不要覺得文章中有關於數學的部分很難,你大概知道意思就好,畢竟我們用到的絕大多數數學公式,在excel 中只是一個函式,與之衍生的算法用R or Python 來寫,可能不過十行,而且網路上一大堆

     

    當你理解了概念,知道了適用情境,有了正確理解,做事情就事半功倍.做事抓重點,成本低又效率高,何樂不為?

     

    而抓重點做事,剛好是資料分析的靈魂.

     

    大家有空時記得多動動腦,有問題歡迎在社團發問!

     

    上一講我們談到了Netflix競賽的成功,他們有因為這樣的收穫持續去增進用戶行為預測的準確性,進而提高DVD拷貝準備與派送的效率嗎?

     

    沒有,因為他們的商業模式很快就從租賃DVD轉到線上了

     

    在台灣的用戶應該都跟我一樣,沒有透過Netflix租過任何一片DVD,而是直接從觀看他們的影片開始.

     

    我們沒有經歷的不只是租賃DVD, 也包含他們最早的DVD訂閱服務.

     

    2000年前如果你在美國要租片,到期不歸還可是要繳納高額的滯納金。但美國和台灣不同,百視達不會在你家樓下,所以很多人一忙,罰款就比租金高了.Netflix提供客戶按月或是按年訂閱,你線上預約後他就寄DVD到你家,反正有借閱上限你不還也沒有滯納金,光靠這一招就讓他們從競爭對手中脫穎而出,同時在2001年上市成功

     

    由於訂閱制寫在Netflix的DNA裡,所以他們對用戶線上體驗的優化和行為分析遠比其他對手更重視,這樣的DNA在他們跨足自製節目後更是發揮到極致,我自己在看Netflix的節目時常常感嘆:內容製作到這種程度,推薦給我的影片隨便轉都很好看,那其他的電視台甚至電影製片公司還要不要活啊?

     

    偷偷跟大家透露個消息,訂閱Netflix之前我已經快三十年沒看劇了,而推薦我看的還是台灣的電影導演,連業內都買單了,何況我這種一般人呢?

     

    看習慣的人就知道,Netflix節目的節奏快、題材多、影集一次給你一季,讓你追又不讓你睡,每每在你想跳出前就先來個神轉折,雖然看久了不免覺得他們無論任何類型、任何地區拍的影片都有一條底層公式,但即使如此,還是常常看到欲罷不能,到底他們是如何做到的呢?

     

    很簡單,因為他們先你一步,預測出你下一步的可能反應

     

    隨著Netflix開始提供線上內容,他們可以搜集更多的數據,從更多維度去了解用戶的使用行為,比如:

    1. 如何觀看:使用什麼設備、幾個人使用、在哪裡使用(基本資料)

    2. 每天什麼時間觀看,每周的哪幾天觀看,平均觀看的頻度、在哪裡觀看、看什麼節目(行為記錄)

    3. 用戶是如何發現視頻的(落點預測、AB Test)

    4. 哪些類型或主題的視頻已經推薦給了用戶但從未被播放、被播放即跳出、被播放有看完、被播放沒看完(係數分析、有效性分析)

    5. 哪些組成(類型、長度、主題、分級)對用戶最有效?(相關係數)

     

    以上只列舉出一小部分,但大家可以想一想,光是以上的幾項數據,可以湊出多少組合?

     

    大家都聽過大數據,但卻不一定知道大數據的幾個基本特性,我們很快復盤一下:

     

    大數據主要的特性包含:大量(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影片匹配的基本邏輯是:

     

    1. 在分析範圍中,找出推薦過特定影片A的人群X

    2. 找出推薦過特定影片B的人群Y

    3. 找出人群X與人群Y的相關性分佈(+1到-1), 找出將相關性較高(接近+1)的資料群集(data custer) X^Y

    4. 找出與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很高

     

    如果我們今天要分析的不是一組係數,而是兩組係數,例如影片主題與長度對收視情形之間的相關性,該怎麼做呢?

     

    此外,剛剛舉的例子是十支影片的案例,如果我們只想知道一支影片如何受到趨勢的影響,例如:這支影片每日被觀影的次數和被評分的總人數之間的關係時,那又該怎麼做呢?

     

    這正是我們下兩講要跟大家分享的內容:

     

    各位伙伴,我們下一講再見!

    主題評分與評論

    訂閱活動通知

    輸入email訂閱電子報,掌握最新課程資訊

    一起出來玩股份有限公司 © 2021
    李伯彥工作室
    李伯彥工作室Youtube頻道
    聯絡我們