跳到主要內容

LINE Ads Platform 演進史,魔鬼藏在細節中

LINE Developer Day 2019 有一場 Session 讓自己一定要參加一下,LINE Ads platform revolution。

Ads Platform

對於大部分的人來說,這可能是一個最熟悉的陌生人,對於電商平台以及眾多需要曝光的使用者來說, Ads 的來臨讓各位迎來曙光。
最直接的例子莫過於 Facebook 廣告投遞,簡單來說,
投標 -> 快曝光 (給錢) -> 轉換 -> 達到目標

但是,最重要的就是這個 BUT , 投標與曝光之間有許多事情需要進行。
數位廣告已經脫離一刊 100 元的年代許久(雖然許多公司還是用這樣的概念在做事情),但實際上的概念是,
投標 -> 達到標地 -> 投遞 ->  投遞總量 * 投標金額 / 目標轉換
當此數字出來時,才會是大家所期待看到 100 元 / Click (或者任何轉換) 的計算金額。
聰明的各位肯定有想到了,這樣最簡單的方式,其實並不是告訴大家要投標多少,而是從使用者希望的轉換的預期金額,來進行回推投標金額。
因此還是一樣的概念,投標數字越高,就可以越快達到標,簡單來說就是,
如果有 100 元達不到的事情,那就 200 元,如果再不行就 ...

Ads Platform 驚奇之旅

對於廣告平台來說,有兩件事情,
  1. 讓使用者願意投錢
  2. 使用者投遞的錢,可以適當的放到正確位置,給正確的人
在所謂的 Realtime bidding 當中,最困難的部分莫過於, Realtime 的部分,以 LINE 的例子來說,如果台灣有 1900 萬的使用者,意味著如何在投遞的過程中做出 87% 相似,或盡量做到與實際狀況相同的推估,這要將 Data 在之前做大量的預先處理,以及對於版面的選擇做最優化處理,包含此群眾與版面之間互動關係推估等,會是
  • UI
  • API
  • DATA / Rules
  • AI / Preprocess
這幾個項目的結合,才可能可以做到很適當的配合與推估行為,讓使用者投遞金額時達到一定的信心程度,同時使用者在進行小量投遞的時候,也會參考 Ads Platform 的推估進行做實際數字比對,讓使用者進行交互比對,提高對於 Ads Platform 的信心程度。

Auto biding

能夠達到上述部分之後,擁有夠多的實際投遞結果,加上實際的數據,以及使用者喜好程度,素材,群眾類型,轉換行為等資訊後,才有辦法逐步做出 auto biding.
看似很簡單的投遞行為,實際上在 LINE Ads Platform 也提出幾個機制。
  • 即時監控機制(包含資料,投遞,使用者行為)
  • 可測試環境與資料 (進行實際狀況離線及線上驗證,進行小且多型的驗證 A/B testing)
  • 即時回饋機制(從投遞,到效益結果的表現)
而其中講者其實有輕描淡寫的講述了一部分,那就是在做 Prediction 的時候其實尤其困難,因為你不會知道使用者的投遞區間,假設 1week 的時間,其實你很難預測到 1week 後使用者行為會是怎麼轉變,會不會真的達到目標(轉換),並且這是要做整段時間的追蹤。
這段,雖然講述起來輕鬆,但實際過程實在煎熬,需要等待資料的累積,同時也需要同時修正預測模型和算法,需要不斷的與 AI 團隊溝通,同時又要背負著這個廣告平台怎麼這麼難用的煎熬 … (掩面哭泣)。
相信也是在這段時間才有辦法做出 Reach and frequency buying simulator,讓整體預估可以趨近於實際狀況。

後記

你說廣告系統好玩嗎?
很好玩,而且越是了解廣告系統行為之後,你就會更清楚 LINE / Google / Facebook 為什麼這樣下廣告,更可以了解數位廣告生態的模式,從投遞平台到實際測試投遞廣告,到廣告實際投放過程就可以體會到,目前這個廣告系統是到哪一個階段。
How LINE Ads Platform is Constantly Evolving 一場很輕鬆 40 多分鐘的演講,可能對於大部分的聽眾來說會是無感的,也會覺得只是在描述一個平台的成長過程,與自己所知道的名詞相差無幾。
實際上談笑風生之餘,底下藏了多少血淚,還有多少工程,數據,算法的結合,加上被需求與供給方追殺的血淚累積出來的成果。
就像是上面最後一張圖一樣,數位廣告方式實際上還在成長中,我們都也是在持續探索這個數位世界,當我們用 lookalike 探索出數位人格之後,能做的事情更大了。
但也表示需要對於使用者的隱私需要有更多的負責,也意味著 Ads Platform 需要做出一定的 filter, 讓真正的廣告可以被刊出,讓假廣告與擾亂人群的惡意擴散資訊退散,盡到平台該負責的責任。
雖然很久沒有接觸數位廣告,但能夠再次聽到 LINE Ads Platform 開發史這樣的歷程,可以讓我們思考一下,也許下個 5 年,數位廣告會是什麼樣子,我們可以怎麼進行整個架構規劃,一想起來就覺得『興奮啊』

留言

這個網誌中的熱門文章

[CSS] z-index 在不同瀏覽器繼承問題

今天會討論到這個課題,是因為要實做一個Popup dialog,所以我們希望的結果如下圖。 可是在IE7 卻發生了這樣的情況。 Popup不論怎麼設定z-index都無法浮在最上層,我們看一下html架構發生什麼事情。

[教學] 快快樂樂刪除CodeIgniter index.php

預設的CI網址預設都設定為index.php同一層級,因此所有的程式都必須指定index.php導向才能開始,例如 http://localhost/ci/index.php/welcome/test http://localhost/ci/welcome/test 本文將說明如何將惱人的index.php消除,還你一個漂亮的URL。 設定開始: 接下來說明如何使用rewrite方式將惱人的index.php去除。 rewrite不清楚的人,煩請先自行google 首先要先確定Apache的 mod_rewrite 有 開啟 ,如果沒有開啟請設定好之後重新啟動apache。 接著,在根目錄底下建立一個新檔案,檔名為 .htaccess ,裡面程式碼如下: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule> 接著到 application/config/config.php ,開啟檔案修改 $config['index_page'] = ""; 注意: /index.php/$1 要根據你目錄,例如 http://localhost/index.php ,網站根目錄為 /ci/index.php 則要寫成 /ci/index.php/$1 接著至CI目錄下,尋找 config\config.php , 修改一下裡面的檔案,修改如下: $config['index_page'] = ""; 存檔後,如此一來大功告成。 參考資料 官方網站說明

[教學] Mojito 安裝與入門,install mojito for beginner.

mojito ,最近終於從 YDN 對外公開此專案,這個套件主要用於解決前端多重裝置及瀏覽器端的問題,後端服務採取 node.js ,因此使用上必定要先準備以下幾個元素 準備素材 c++ complier git Node.js > 0.4.x NPM > 1.0.x 安裝方式 git clone git://github.com/yahoo/mojito.git cd mojito/source sudo npm install -g . npm install . 以上四個簡單的步驟,就可以把 mojito module 完整安裝到服務器上,接著就可以開始進入 mojito 的世界 使用方式 mojito 提供了完整的 command line 給開發者使用,接著先建立一個基本 hello world 專案,跟著以下步驟完成第一個專案。首先建立一個 mojito application, mojito create app hello cd hello 切換到目錄之後,再接著建立自己的 mojit,這邊的 mojit 就像是一個應用(application)可能會包含許多個獨立網站體,擁有獨立架構的 MVC ,包含內部設定等,詳細資料可以參考官方的 說明 ,建立 mojit mojito create mojit HelloMojit 輸入指令後,會看到顯示結果如下, creating mojit called 'HelloMojit' (using "default" archetype) ✔ mojit: HelloMojit created! ✔ mojito done. 接著修改 application.json 這個 mojit 設定檔案,讓剛才新建立的 hellp application 指定底下有一個 mojit -> HelloMojit ,讓應用可以去執行 mojit controller ,修改如下, [ { "settings": [ "master" ], "appPort": 8666, "specs": { ...