構(gòu)造一個支持精準(zhǔn)推送的電視傳媒投放系統(tǒng)
如何構(gòu)造一個支持精準(zhǔn)推送的電視傳媒投放系統(tǒng)呢?我想這篇文章可以給你答案~
美人妝是一個以美顏相機(jī)為主要玩法,銷售化妝品和護(hù)膚品的平臺,有7500萬左右的東南亞用戶。我任職產(chǎn)品合伙人之后,先是設(shè)計和上線了面向國內(nèi)市場的小程序,然后在迭代的過程中遇到了機(jī)會,隨后開始了對電視傳媒投放系統(tǒng)的探索。
在我首先設(shè)計的面向國內(nèi)市場的小程序中,有兩個主要玩法:
- 一個是跟隨短視頻的化妝教程,按照視頻的步驟給用戶同步上妝(通過攝像頭給用戶拍照,再通過Face++提供的技術(shù)給照片化妝);
- 另一個是分析用戶的面容特征,然后推薦最適合ta的化妝方案、教程和對應(yīng)的商品集合。
在我設(shè)計完小程序原型和UI的指導(dǎo)設(shè)計稿并投入開發(fā)之后,公司談好了4萬臺電視機(jī)(帶安卓端及攝像頭)的合作方案。
合作方是化妝品行業(yè)的,對于合作方來講,電視機(jī)有兩用:一個是作為傳統(tǒng)視頻廣告的投放渠道來使用;另一個則是利用我之前在小程序中設(shè)計的玩法,直接跟路人互動,達(dá)到比較可觀的轉(zhuǎn)化。
所以我們決定把小程序的玩法遷移到電視機(jī)上,然后安裝在合作方在全國的各大商場。
后期又跟其它合作方設(shè)計了售賣機(jī)的方案,把這個電視機(jī)內(nèi)置在化妝品售賣機(jī)中,實(shí)現(xiàn)售賣機(jī)的攬客。其中電視機(jī)系統(tǒng)可以看做是在售賣機(jī)所含SKU的范圍之內(nèi)運(yùn)行它的廣告,并額外對接售賣機(jī)廠商提供的購買系統(tǒng)。從投放廣告的角度來看,兩者是一樣的,都用下文介紹的投放系統(tǒng)來管理。
電視機(jī)系統(tǒng)的需求,一開始從描述來看是簡單的。平時每個電視機(jī)像分眾傳媒的電梯廣告電視機(jī)那樣,播放傳統(tǒng)的視頻廣告。而當(dāng)有路人靠近時,這個電視機(jī)能感知到路人,然后瞬間變成一個互聯(lián)網(wǎng)推送模式的廣告系統(tǒng),根據(jù)路人的特征給路人推送廣告,并期待路人與之互動(例如通過攝像頭來玩化妝游戲、掃碼),再把互動轉(zhuǎn)化成線上用戶或者消費(fèi)。
然而當(dāng)我繼續(xù)往前走,尤其是畫出了第一版電視機(jī)系統(tǒng)的流程圖之后,發(fā)現(xiàn)事情遠(yuǎn)遠(yuǎn)沒有需求描述聽起來的那樣簡單。第一版的邏輯只是功能實(shí)現(xiàn),而如果要繼續(xù)往前走,讓它變成一個靈活的電視投放系統(tǒng),很多空白的領(lǐng)域還在等待被思考和填充。
傳統(tǒng)的電視媒體,例如分眾傳媒,它的每個設(shè)備的每一秒鐘要做什么都是固定的,只要設(shè)定好視頻資源和時間表就可以完成所有操作,設(shè)備數(shù)量的提高也只是簡單的一個模型在不同數(shù)量級上的單純的擴(kuò)張,可以簡單地用群組和批處理來管理,而群組和批處理并不影響單個設(shè)備的運(yùn)行邏輯。
另一方面,互聯(lián)網(wǎng)廣告的推送模型從整體上來看也不復(fù)雜。不管背后需要搜集一個用戶的多少資料、考慮到時間、IP、設(shè)備類型等等多少種條件,我們都可以簡單地把它理解為一個黑箱。最終這個黑箱要做的事情就是此時此刻一個頁面上要給一個用戶展現(xiàn)什么內(nèi)容。因此互聯(lián)網(wǎng)廣告推送可以簡化地看做一對一的推送行為。
而一個電視設(shè)備要把分眾傳媒的傳統(tǒng)模式和互聯(lián)網(wǎng)的推送模式結(jié)合起來,并不是兩者難度疊加,而是兩者的復(fù)雜度相乘,其復(fù)雜度比前兩者都要大一個數(shù)量級。
- 例如什么決定了一個電視設(shè)備從傳統(tǒng)傳媒的模式轉(zhuǎn)為一對一推送模式,其閾值在哪里?
- 例如兩個人同時靠近這個電視機(jī),電視機(jī)到底給誰推薦商品?
- 例如一個商家把我們的電視機(jī)看做傳統(tǒng)的分眾傳媒設(shè)備,想要包整個商圈幾十臺設(shè)備在晚上黃金時間播放他的廣告,此時我們還能不能精準(zhǔn)推送,如果精準(zhǔn)推送打斷了這個商家的廣告,費(fèi)用如何計算?
——我發(fā)現(xiàn)這個問題沒人嘗試解決過,難度夠高,所以就打起精神開始設(shè)計這個系統(tǒng)了。
前期準(zhǔn)備工作
從思路來看,前面的給出的設(shè)備控制流程圖已經(jīng)沒有繼續(xù)深入的空間了。因?yàn)樗央娨暀C(jī)當(dāng)做一整個系統(tǒng)來設(shè)計,不同的交互或系統(tǒng)狀態(tài)之間沒有章法可尋,任意細(xì)節(jié)都可以改變整個電視機(jī)的狀態(tài)。
例如,當(dāng)電視機(jī)正在全屏播放一個視頻廣告的時候,此時一個人走過來。那么視頻廣告的字幕區(qū)就會提示這個人可以拍照,而右側(cè)的攝像頭也會無中生有地打開。而當(dāng)這個人把臉對準(zhǔn)攝像頭拍照完畢后,整個電視機(jī)就會進(jìn)入整體的激活狀態(tài),一面播放給這個用戶推薦的專屬妝容教程,一面又給用戶展示化妝之后的照片,并提醒用戶掃碼。
這樣的設(shè)計固然是前期應(yīng)有的流程,畢竟沒有具體的場景,就不會有后期的總結(jié),然而現(xiàn)在的任務(wù)就是去總結(jié)這些不同場景的共同點(diǎn)。只有把設(shè)備前端的共同點(diǎn)(例如視覺上的共同點(diǎn)、屏幕不同區(qū)域的共同點(diǎn))總結(jié)出來,才有可能把后端邏輯設(shè)計得優(yōu)雅。單純只考慮前端或者只考慮后端邏輯,各自為政,都不可能實(shí)現(xiàn)一個簡潔的投放系統(tǒng)。
與此同時,在文檔的表現(xiàn)形式上,圖形化的流程圖也不存在繼續(xù)深入的可能了。因?yàn)殡S著系統(tǒng)擴(kuò)建,第一版流程圖的每一個節(jié)點(diǎn)都會演變成一個帶有具體職責(zé)的大系統(tǒng)。所以這個文檔只能是純文字的,并且用面向?qū)ο螅ǘ蔷€性敘事)的文檔形式來表達(dá)。
首先我把目前的原型和效果圖拿出來,再畫一些飛機(jī)稿,考慮未來這個電視機(jī)還會有哪些可能的交互狀態(tài),然后總結(jié)出了幾個大的屏幕區(qū)塊(類似于MaterialDesign的屏幕區(qū)塊)。在這個基礎(chǔ)上把不同的區(qū)塊狀態(tài)排列組合,形成了幾種宏觀狀態(tài),它們代表了從視覺和交互的角度來看,電視機(jī)可以分為幾種大的狀態(tài)。
確定了電視機(jī)的宏觀狀態(tài)之后,電視機(jī)在不同的幾個宏觀狀態(tài)之間切換,就是電視機(jī)的控制流的的主要體現(xiàn)了。只要控制流能精準(zhǔn)地在這些大環(huán)節(jié)之間切換,設(shè)備就能在正確的時間做正確的事,至于大環(huán)節(jié)之間的平滑過渡則是前端設(shè)計的事,而至于大環(huán)節(jié)之內(nèi)的小環(huán)節(jié)則是有大局觀之后的盡情發(fā)揮。
同時,當(dāng)區(qū)塊的類型確定之后,播放資源(物料)的配置類型也就確定下來了。其中包括共性和特性,共性即預(yù)算、所屬商家等屬性,而特性則是給定具體配置類型下的模板中的具體參數(shù)配置。
經(jīng)過以上的步驟,整個系統(tǒng)運(yùn)轉(zhuǎn)所需考量的主要問題就梳理出來了,系統(tǒng)運(yùn)轉(zhuǎn)過程的初始素材也準(zhǔn)備就緒,前期工作準(zhǔn)備完畢。
最終播放邏輯的確定
前期工作準(zhǔn)備完畢之后,我暫時跳過了中間的步驟,直接去設(shè)計一個具體設(shè)備的最終的播放控制邏輯,因?yàn)檫@是這個系統(tǒng)最終要輸出的東西。確立了一個系統(tǒng)的開頭和結(jié)尾,再來豐富中間的內(nèi)容,這樣的流程可以降低跑偏的風(fēng)險。
在這個過程中遇到的主要的附加挑戰(zhàn)則是多個設(shè)備如何協(xié)同完成一個投放任務(wù)。兩者一個是主線,另一個是它的敵人。我把這兩個問題擺在一起讓它們互相PK,以便給我一個能與其它設(shè)備協(xié)同作戰(zhàn)的單一設(shè)備控制理論。
對于一個設(shè)備的最終播放邏輯而言,我首先設(shè)計了一個抽象層,歸納了三種最高控制邏輯。設(shè)備在同一時間只能被其中一個控制邏輯接管,這就在最高權(quán)限上決定了設(shè)備的狀態(tài)。我再賦予它們優(yōu)先級的概念,當(dāng)高優(yōu)先級的最高控制邏輯滿足開啟條件時,低優(yōu)先級的最高控制邏輯無條件終止,這就構(gòu)成了一個設(shè)備最高層的運(yùn)行規(guī)則。
具體來看,最高控制邏輯中優(yōu)先級最高的是“等待掃碼”,因?yàn)榇藭r用戶已經(jīng)跟設(shè)備產(chǎn)生了交互,正在掏出手機(jī)掃碼,這是我們這個設(shè)備唯一可以直接轉(zhuǎn)化用戶的手段;優(yōu)先級中等的是“霸屏”,這是因?yàn)樵谠O(shè)計這個系統(tǒng)的中途得知了一個重要需求,就是有的設(shè)備可能會被商家強(qiáng)制要求在某些時間段播放他們的廣告。而最低優(yōu)先級的則是“平時播放”,這才是一個設(shè)備平時最主要的控制邏輯。
設(shè)計最高控制邏輯并用優(yōu)先級來管理它們,是出于對未來未知情況的考慮。比如當(dāng)電視機(jī)投放系統(tǒng)需要對接售賣機(jī)時,顯然這個電視機(jī)也需要負(fù)責(zé)售賣機(jī)的買賣交互,那么到時也把這種交互歸納為一種最高控制邏輯,并給它分配一個最高的優(yōu)先級。
所以這一層是我為了電視機(jī)系統(tǒng)在未來不被各種具體場景的需求打亂其內(nèi)在簡潔性,而專門設(shè)計的一個保護(hù)層。讓我直接有動機(jī)去設(shè)計這一層的原因,我已經(jīng)記不太清了,但很可能是當(dāng)時得知我們需要“霸屏”這個功能時,我擔(dān)心未來各種需求對整個投放系統(tǒng)帶來的破壞的恐懼。
在最主要(優(yōu)先級3)的控制邏輯中,最需要解決的問題就是設(shè)備在傳統(tǒng)電視設(shè)備和推送模式之間的切換。也就是當(dāng)一個設(shè)備正在像一個普通分眾傳媒電梯廣告屏那樣播放內(nèi)容時,一個人走了過來,這個系統(tǒng)如何判斷是否要專門跟這個人互動,以及具體呈現(xiàn)哪一個互動?;蛘弋?dāng)一個按次數(shù)播放的廣告需求投入到總系統(tǒng)中,系統(tǒng)如何分配指定的分發(fā)群組中的設(shè)備分別在什么時間播放它們,以及具體播放的頻次。
所有上述的邏輯,都離不開一個問題,就是一個設(shè)備在什么時機(jī)打斷當(dāng)前的廣播狀態(tài),呈現(xiàn)一個什么樣的具體物料。然后我發(fā)現(xiàn)當(dāng)自己理清這個問題的時候,這個問題本身的描述就是它的答案。
首先,我把一個設(shè)備收到的所有物料從主動性上分為兩類,一類是主動,另一類是聯(lián)動。
聯(lián)動的物料在屏幕的副區(qū)域呈現(xiàn),因此不具備對整個設(shè)備狀態(tài)切換的控制權(quán);只有主動類的物料擁有這種控制權(quán),因此系統(tǒng)只需要考量接下來播放哪個主動類的物料,就能知道自己下一步要做什么。
其次,我再把主動類的物料劃分進(jìn)兩個池子里,一個是常規(guī)播放的池子,也就是一個有序的播放列表,另一個池子則是無序的推送資源庫,里面存放著允許這個設(shè)備自由推送的物料。
設(shè)備在每時每刻都有兩種選擇,其一是繼續(xù)它的常規(guī)的播放列表,也就是老老實(shí)實(shí)地做一個傳統(tǒng)電梯廣告設(shè)備;而另一種選擇則是從推送資源庫這個池子中選擇一個物料來中斷當(dāng)前的播放,完成它當(dāng)前的推送任務(wù)。
而設(shè)備的抉擇可以用一個簡化的邏輯(即前文提到的,問題本身的描述)來處理。一方面,總系統(tǒng)要告訴這個具體的設(shè)備說“我已經(jīng)給你選擇了一個最佳的物料,它在你的無序池中的ID是多少,它的緊急度有多少”;而另一方面,由于所處商圈和具體場景中的職能的不同,每個設(shè)備都有不同的積極性,這個積極性決定了它對于總系統(tǒng)交予的任務(wù)的響應(yīng)積極度,也就是每個設(shè)備的“插入閾值”。
與插入閾值協(xié)同作業(yè)的還有具體一個設(shè)備的“AI敏感度”,這個敏感度決定了AI因素對于一個物料在總系統(tǒng)調(diào)度時緊急度運(yùn)算的參與程度,也就是AI對于調(diào)度系統(tǒng)的影響力——因?yàn)锳I不是萬能的,尤其是當(dāng)我們處于系統(tǒng)上線的前期。
也正因?yàn)楹芏鄥?shù)類的東西并不是可以一開始就能規(guī)劃完美的,所以我在系統(tǒng)文檔中預(yù)留了很多的“全局參數(shù)”和“實(shí)例化參數(shù)”,并在后臺頁面中統(tǒng)一呈現(xiàn)出來供運(yùn)營人員集中管理。
一個具體的推送類的物料,它對于一個具體設(shè)備的緊急度與三個因素有關(guān)。
- 其一是這個物料本身的推送配額、速率和具體要求,例如某個廣告的需求是全網(wǎng)推送5000次,每日的速率上限是500次,其中次數(shù)的定義為“駐足次數(shù)”,即行人停留在電視機(jī)前N秒才符合“1次”的計數(shù)要求;
- 其二是這個物料對于用戶畫像的建議,以及具體設(shè)備當(dāng)前面對的行人在多大程度上滿足畫像;
- 其三是全網(wǎng)一共有多少個設(shè)備正在分擔(dān)這個推送任務(wù),以及這個具體設(shè)備相對于其它同僚設(shè)備是更輕松還是更繁忙。
以上三種緊急度運(yùn)算的主線涉及到兩個重大的運(yùn)算任務(wù),其一是對任務(wù)的全網(wǎng)調(diào)度,其中包括對每個設(shè)備當(dāng)前狀態(tài)、當(dāng)日任務(wù)完成度的實(shí)時監(jiān)控;其二是每個設(shè)備的攝像頭對于用戶畫像的精確理解。這兩個都是大工程,都涉及到開發(fā)人員的巨量工作,作為系統(tǒng)策劃來講,我除了把機(jī)器學(xué)習(xí)的評分體系抽取出來,其它能做的事情不多。
因此,我需要兩個大大的黑箱分別把這兩個任務(wù)裝進(jìn)去,以便為開發(fā)人員創(chuàng)造兩個相對封閉的開發(fā)對象。
因此我把一個推送任務(wù)相對于一個具體設(shè)備抽象成了2個整數(shù)(0到99,49代表該設(shè)備如果此時響應(yīng)這個任務(wù),則全網(wǎng)任務(wù)可以勻速進(jìn)行)和1個浮點(diǎn)數(shù)。分別是調(diào)度系統(tǒng)的緊急度、AI系統(tǒng)的置信度,以及AI敏感度。AI置信度乘以AI敏感度,加上調(diào)度系統(tǒng)緊急度,就是最終一個物料對于一個設(shè)備的分?jǐn)?shù)。只要越過該設(shè)備的閾值,就可以實(shí)現(xiàn)設(shè)備傳統(tǒng)廣告播放的中斷,即刻推送這個物料。
從這里我也學(xué)習(xí)到了設(shè)計黑箱在系統(tǒng)策劃時的作用。產(chǎn)品設(shè)計中的黑箱并不等同于實(shí)際開發(fā)時的黑箱,因?yàn)榫蜕鲜鲇嬎闳蝿?wù)而言,顯然全網(wǎng)的調(diào)度系統(tǒng)是統(tǒng)一分發(fā)任務(wù)給具體設(shè)備的,不可能把每個設(shè)備的每次任務(wù)都當(dāng)做一個黑箱來看待。然而這種策劃對于把一個開發(fā)難點(diǎn)孤島化,并且確定該系統(tǒng)在業(yè)務(wù)邏輯上的輸入輸出,具有十分重要的意義。
俄羅斯套娃
在前面的工作中,我已經(jīng)從源頭處確定了物料的存放,從結(jié)尾處確定了設(shè)備的最終播放邏輯。所以接下來的工作就是去探索中間的路怎么走,一個個具體物料經(jīng)過怎樣的過程,進(jìn)入最終一個設(shè)備之中來完成投放。
由于第一版的系統(tǒng)就已經(jīng)要面對幾萬臺設(shè)備,所以我打算在第一版就按照一個運(yùn)營人員,可以管理未來幾十萬臺設(shè)備的每日任務(wù)來設(shè)計物料的拼接方式。顯然我只有一種方法來實(shí)現(xiàn)這個目標(biāo),那就是讓許多物料組成一個單元,再用這個單元組成更大的單元。具體的設(shè)備只要選擇幾個制作好的單元,就能直接拼接成這個設(shè)備所需的全部內(nèi)容。
在設(shè)計拼接方法的過程中,我極力避免用批處理的手法走捷徑的行為,一旦為了偷懶而在后臺中設(shè)計了“把設(shè)備1的節(jié)目直接復(fù)制給設(shè)備2到999”這種批處理的功能,那么整個系統(tǒng)就會因?yàn)榉艞壛苏?guī)的內(nèi)容繼承規(guī)則,而在未來版本的不斷的批處理功能擴(kuò)充后毀掉。任何一個系統(tǒng)都可以看做一個生命體,一個低熵體,而懶惰的批處理行為就是它衰老(即熵增)的開始。
套娃第1層)俄羅斯套娃的第一層是“物料”,它們構(gòu)成商務(wù)人員負(fù)責(zé)操作的物料池。所有的具體物料的錄入都由商務(wù)人員進(jìn)行,每個具體的物料都包含它的預(yù)算和具體的投放需求描述。
這一層的主要目的是建造一個護(hù)城河,河的左邊是龐雜的物料,龐雜的商業(yè)需求,由成日跟客戶打交道的商務(wù)人員來負(fù)責(zé)。河的右邊是設(shè)備運(yùn)營人員,他們通過每個物料的“工單系統(tǒng)”來跟商務(wù)人員溝通,杜絕了兩邊工作互相干擾的情況發(fā)生。
套娃第2層)俄羅斯套娃的第二層是“節(jié)目”。若干個物料構(gòu)成一個節(jié)目,代表某一投放需求的集合,而這些節(jié)目構(gòu)成了節(jié)目池。
具體一個節(jié)目往往代表具體一個商家的一次活動,例如A公司在春節(jié)期間想要投放5個廣告,那么這5個物料就可以生成一個“A公司春節(jié)促銷”節(jié)目;B公司想要在某個商圈大范圍推廣自己的各種產(chǎn)品,那么我們可以為B公司制作一個“B公司產(chǎn)品廣告合集”節(jié)目。
從投放方式上看,節(jié)目被分為兩種類型:“承包類”代表傳統(tǒng)傳媒節(jié)目,即分眾傳媒的死板循環(huán)播放模式;而“計次類”則代表按照一定的指標(biāo)要求進(jìn)行投放的節(jié)目。
所以節(jié)目層的主要作用之二,就是把第一層物料池中商務(wù)人員給出的具體物料及其投放需求描述,轉(zhuǎn)變?yōu)榫唧w的投放任務(wù)。
例如一個在第一層的物料池中,一個物料的預(yù)算有30,000元,其需求描述是“在深圳南山商圈進(jìn)行圣誕前的活動預(yù)熱”。然后在第二層節(jié)目池中,被運(yùn)營人員分解為2個節(jié)目和3個具體任務(wù),引用這個物料進(jìn)行5000次的曝光和500次的掃碼轉(zhuǎn)化的分解任務(wù),這些計劃共享這個物料的30,000元預(yù)算。
一個物料可以在A個節(jié)目中被引用A+N次,引用關(guān)系是嚴(yán)格的——物料層的數(shù)據(jù)儲存在物料層,而具體的投放計劃儲存在節(jié)目層,多對一指向同一個物料。
套娃第3層)俄羅斯套娃的第三層是“總控”,構(gòu)成全網(wǎng)的總控池。一個總控就是一個完整的設(shè)備控制系統(tǒng),包含一個設(shè)備運(yùn)行所需的全部物料、投放計劃、配比、參數(shù)、特殊配置。兩個設(shè)備應(yīng)用了同一個總控,那么兩個設(shè)備的行為準(zhǔn)則(而非具體行為,因?yàn)槊總€設(shè)備面對的具體人流不同,對共享任務(wù)的具體分解也不同)就是一致的。
制作一個總控,最主要的操作就是從上一層的節(jié)目池中引用若干個具體的節(jié)目,然后在此基礎(chǔ)上配置總控層所要求的除引用節(jié)目ID之外的額外參數(shù)。在某種程度上,與第二層引用第一層的行為形成了美妙的遞歸。
舉例來說,一個南山區(qū)萬象城的所有設(shè)備都需要同時播放“萬象城節(jié)目”中的5個廣告、“金龍魚化妝品節(jié)目”中的15個廣告,和“深圳市公益廣告”中的100個廣告。那么運(yùn)營人員就引用這3個節(jié)目制作了一個總控,其中雖然公益廣告的數(shù)量很多,但是運(yùn)營人員只要調(diào)低這個節(jié)目的配比就能減少播放公益廣告的總時間。
節(jié)目的配比是對一個節(jié)目所含具體物料的播放總時間,占整個設(shè)備運(yùn)行總時間的調(diào)控手段,這個手段與計次類投放的任務(wù)是不沖突的,因?yàn)橹挥小俺邪悺钡墓?jié)目,即一個設(shè)備平時待機(jī)狀態(tài)像分眾傳媒電梯廣告那樣運(yùn)行時的節(jié)目,可以調(diào)節(jié)其占比。
而對于計次類節(jié)目,即各種擁有明確推送任務(wù)的節(jié)目中的物料,至于這些物料的具體投放任務(wù)相關(guān)。一個物料要求每日投放3000次,只有100個設(shè)備擁有這個任務(wù),那么這些設(shè)備自然會拼命投放這些物料。
而“霸屏”及未來類似的操縱設(shè)備的功能,都是建立在這層套娃內(nèi)部的虛擬層中的,這就防止了邏輯上的錯亂。以霸屏來舉例:霸屏功能要求一個設(shè)備在固定的時間循環(huán)播放1個節(jié)目,我沒有在這里用任何的override技巧,而是在已經(jīng)配置了承包節(jié)目的基礎(chǔ)上,簡單地加多一個時間表。我也不允許多個節(jié)目同時霸屏,因?yàn)檫@樣我們的節(jié)目配比數(shù)據(jù)就會從一層變?yōu)槎鄬印_@種拒絕override的理念貫穿了整個投放系統(tǒng)——如果一個系統(tǒng)是優(yōu)雅的,它理應(yīng)不需要任何的強(qiáng)行搭線行為。
一個設(shè)備擁有很多區(qū)塊,但不一定全部開啟。開啟的區(qū)塊必須至少配置一個承包類的節(jié)目,以便在這個區(qū)塊沒有收到投放任務(wù)時依然能運(yùn)轉(zhuǎn),不至于黑屏。各區(qū)塊之間有的具備相互的依賴性,或者單方面的依賴性——它們構(gòu)成了配置一個設(shè)備總控的防呆策略。
從左到右的三列,就是套娃的三層結(jié)構(gòu)的傳遞過程。第一層物料池是商務(wù)人員的領(lǐng)地,每個物料都有各自的狀態(tài),其中只有“可投放”狀態(tài)意味著這個物料是正常的,可以被第二層選用——第一層儲存的是物料。
在第二層節(jié)目池中,若干物料構(gòu)成一個節(jié)目,一個節(jié)目具有健康、殘疾和癱瘓三種身體狀態(tài)。對于承包類(傳統(tǒng)模式)的節(jié)目而言,具體物料的狀態(tài)直接決定了節(jié)目的身體狀態(tài);而對于計次類(按指標(biāo)投放模式)的節(jié)目而言,物料先與具體的投放配置綁定,形成一個個具體的“投放”。物料的狀態(tài)傳遞給投放,投放再傳遞給節(jié)目,最終決定這個節(jié)目的身體狀態(tài)——第二層引用第一層,并儲存具體的投放規(guī)則。
在第三層總控池中,若干節(jié)目構(gòu)成一個總控??偪赝瑯泳邆淙N身體狀態(tài)。同時總控由于直接控制設(shè)備,所以存在自身的低保要求。只有并非“癱瘓”的節(jié)目共同滿足了一個總控的低保,這個總控才能避免癱瘓——第三層引用第二層,并儲存具體的設(shè)備控制規(guī)則。
一個系統(tǒng)的模塊化固然重要,但不是越多層級越好,禁止無節(jié)制的套娃是很有必要的。這三個層級在具體業(yè)務(wù)上的劃分比較重要,便于實(shí)際的運(yùn)營。再多會帶來過分的解耦,導(dǎo)致不必要的復(fù)雜度;再少則會影響業(yè)務(wù)的運(yùn)轉(zhuǎn),系統(tǒng)雖然簡單了,運(yùn)營人員的工作卻多了。
例如假設(shè)我把節(jié)目池去掉,那么每個具體的設(shè)備播放策略,都需要運(yùn)營人員重復(fù)地去整理一個個的物料,帶來大量不必要的工作。
套娃結(jié)束后,我基本設(shè)計出了對一個設(shè)備從物料準(zhǔn)備到最終投放的整個過程,接下來就是考慮如何把這套邏輯從一個設(shè)備擴(kuò)展到全網(wǎng)設(shè)備了。
安裝設(shè)備、分發(fā)內(nèi)容和統(tǒng)計結(jié)果
控制全網(wǎng)設(shè)備必然用到群組。一個具體的電視機(jī)設(shè)備既需要用“地區(qū)群組”的體系來管理它的物理位置,又需要用“分發(fā)群組”來控制它的具體行為。這兩種群組的概念到了這一步幾乎是自然產(chǎn)生的了,唯一需要抉擇的是兩者分別承載什么數(shù)據(jù)。
地區(qū)群組最主要的功能當(dāng)然是管理具體的省、市、區(qū),直到具體的商場及樓層,然后在具體的樓層(或街道、店鋪等同級別載體)中儲存若干個設(shè)備,這些初等概念不再贅述。關(guān)鍵是它額外承載的兩類數(shù)據(jù)——計費(fèi)系數(shù)和畫像信息。
首先是計費(fèi)系數(shù)。由于價格根據(jù)投放行為的不同而產(chǎn)生的各種計費(fèi)方式本來就已經(jīng)夠多了,所以全網(wǎng)應(yīng)該只有一個標(biāo)準(zhǔn)的價目表,不同區(qū)域的設(shè)備根據(jù)區(qū)域的消費(fèi)水平和營銷策略進(jìn)行相關(guān)的系數(shù)調(diào)整,不能容忍軍閥割據(jù)、銷售人員的混亂定價(至于真的要給一個商家何種優(yōu)惠政策,我已決定分割到商家賬號這個模塊中設(shè)計,因?yàn)槟莻€模塊簡單太多)。
在一開始的設(shè)計中,我采用以完整追溯的方式來確定最終一個設(shè)備的計費(fèi)系數(shù)。例如,廣東省的系數(shù)是+10%,深圳市的系數(shù)是+20%,坪山區(qū)的系數(shù)是-50%,具體商場的系數(shù)是+5%,商場五樓由于客流量較小所以系數(shù)是-30%,五樓有一個設(shè)備的屏幕比較大所以系數(shù)是+10%,那么最終這個設(shè)備的計費(fèi)系數(shù)就是65折。
但是當(dāng)我設(shè)計后臺頁面時發(fā)現(xiàn),系數(shù)的向上追溯帶來的是困難的操作,而如果在界面直接給出最終系數(shù)的呈現(xiàn)。那么運(yùn)營人員會依賴這個最終數(shù)字,不再去管理每一層級的具體系數(shù),導(dǎo)致整個體系失去了它的意義。因此最后我采用了就近原則,就近原則既能批量管理一個片區(qū)的設(shè)備,又不妨礙具體商圈內(nèi)營銷策略的快速部署。
其次是用戶畫像的相關(guān)數(shù)據(jù)的儲存。具體設(shè)備的攝像頭不是萬能的,在它有限的“人工智能”中,它只能判斷出有限的信息,例如當(dāng)前的客流量、具體一個人是男人還是女人、大概的年齡是多少。在未來至少20年內(nèi),我們需要各種人工錄入的信息來確保一個設(shè)備實(shí)現(xiàn)它的“人工智能”。
在地區(qū)群組中,我們可以儲存很多已知的數(shù)據(jù),例如這個商圈主要的消費(fèi)人群有哪些,他們平時幾點(diǎn)鐘喜歡干什么。
與計費(fèi)系數(shù)的影響范圍不同,畫像信息采用完整繼承(信息沖突時再采用就近原則),例如我們在南山區(qū)萬象城這個群組里儲存了這個片區(qū)用戶的消費(fèi)傾向,而無需儲存他們在幾點(diǎn)鐘更喜歡食物類的廣告,因?yàn)槲覀円呀?jīng)在“全國”這一層儲存了“大家喜歡在12點(diǎn)和20點(diǎn)左右吃飯”這個信息。
而分發(fā)群組自然是控制內(nèi)容的分發(fā)。運(yùn)營人員只需要從總控池里選擇一個配置好的總控,把它綁定給一個分發(fā)群組,這個分發(fā)群組的設(shè)備就會都按照這個總控的資源和要求進(jìn)行投放了。分發(fā)群組本身的大部分邏輯其實(shí)已經(jīng)在總控模塊中設(shè)計完畢了,剩下需要解決的主要是運(yùn)營人員的體驗(yàn)問題。
因此我設(shè)計了一個特殊的分發(fā)群組:“地區(qū)群組映射”,在很多情況下,對一批設(shè)備的分發(fā)都是按照一個地理區(qū)域來進(jìn)行的,而“地區(qū)群組映射”顧名思義就是地區(qū)群組的影子。一個設(shè)備一旦分發(fā)了內(nèi)容就不應(yīng)該在非人為的情況下被“智能糾錯”,所以當(dāng)一個設(shè)備的地理屬性發(fā)生變更,或某個片區(qū)的地區(qū)群組發(fā)生調(diào)整時,地區(qū)群組映射是惰性的,是需要人為更新的。
所有設(shè)備在每晚一個固定時間進(jìn)行當(dāng)日任務(wù)的統(tǒng)計結(jié)算,不光統(tǒng)計出每個商家的具體花費(fèi),更是去衡量當(dāng)日的調(diào)度系統(tǒng)對任務(wù)的完成程度,以此為依據(jù)進(jìn)行機(jī)器學(xué)習(xí)。統(tǒng)計的工作主要由負(fù)責(zé)大數(shù)據(jù)的開發(fā)同事在各系統(tǒng)進(jìn)行埋點(diǎn)來實(shí)現(xiàn)。
這里的計費(fèi)體系、商家資金系統(tǒng)(包括前文提到的,商務(wù)人員可在此處給商家贈送金幣、調(diào)整折扣)都是比較常見的系統(tǒng)。值得一提的是“有效播放時長閾值”這個全網(wǎng)參數(shù)。
由于我們的設(shè)備在日常扮演分眾傳媒傳統(tǒng)廣告屏?xí)r經(jīng)常會被推送任務(wù)打斷,所以一個視頻放了多久才算作確實(shí)已經(jīng)放完、才能讓金主的錢沒有白花,背后存在一個值得被反復(fù)推敲的標(biāo)準(zhǔn)。這個標(biāo)準(zhǔn)僅針對傳統(tǒng)節(jié)目以及非結(jié)果導(dǎo)向的推送,至于結(jié)果導(dǎo)向的推送(例如掃碼算作一次)自然不受它的影響。
另外值得一提的是,由于一個設(shè)備每天扮演分眾傳媒的時間不是承包類節(jié)目本身可以決定的(除非使用更貴的“霸屏”方案),而是這個設(shè)備的推送任務(wù)所決定的。
所以承包類節(jié)目不存在嚴(yán)格意義上的時間表,不可指定具體時間,只能24小時無限參與循環(huán)。因此它的計費(fèi)方式是按照具體物料在當(dāng)日進(jìn)行有效循環(huán)(參見上一段的“有效播放時長閾值”)的時間占設(shè)備全日運(yùn)行總時長(而非24小時)的比例來進(jìn)行梯度計價的。
至此,一個從未有過的,支持精準(zhǔn)推送的電視傳媒投放系統(tǒng)問世了。
作者:黃聯(lián)樵(微信:arubagod),歡迎交流。
本文由 @黃聯(lián)樵 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議
- 目前還沒評論,等你發(fā)揮!