表問(wèn)答到增長(zhǎng)分析:智能問(wèn)數(shù)產(chǎn)品設(shè)計(jì)實(shí)戰(zhàn)拆解)
最近在做一個(gè)內(nèi)部數(shù)據(jù)產(chǎn)品重構(gòu)名字就叫“DataQA數(shù)問(wèn)增長(zhǎng)”。這東西說(shuō)白了就是把過(guò)去那種“你問(wèn)我答”的報(bào)表式問(wèn)數(shù)工具從根上換了個(gè)活法——不再滿足于幫你“猜答案”而是奔著“算增長(zhǎng)”去。我剛開(kāi)始拿到這個(gè)需求的時(shí)候其實(shí)心里也打了個(gè)問(wèn)號(hào)智能問(wèn)數(shù)這個(gè)賽道前幾年做得爛大街了無(wú)非是自然語(yǔ)言轉(zhuǎn)SQL、圖表生成、隨口報(bào)個(gè)數(shù)。真要往“增長(zhǎng)”這個(gè)方向上靠到底能做出什么不一樣的東西這個(gè)標(biāo)題是項(xiàng)目組內(nèi)部頭腦風(fēng)暴定下來(lái)的我越琢磨越覺(jué)得有點(diǎn)意思所以干脆把整個(gè)設(shè)計(jì)思路、踩過(guò)的坑、最后怎么落地的過(guò)程完整記錄下來(lái)。這篇東西不聊空泛的概念全是實(shí)操層面的拆解適合正在做數(shù)據(jù)產(chǎn)品、BI平臺(tái)、或者想給團(tuán)隊(duì)引入智能問(wèn)數(shù)能力的同學(xué)參考。1. “猜答案“和“算增長(zhǎng)“這句話到底差在哪先把這層窗戶紙捅破。過(guò)去市面上絕大多數(shù)問(wèn)數(shù)工具本質(zhì)工作就是“查數(shù)”。用戶問(wèn)“上周注冊(cè)轉(zhuǎn)化率是多少”系統(tǒng)解析意圖、匹配指標(biāo)、返回一個(gè)數(shù)值。這個(gè)流程看著順理成章但用起來(lái)很別扭。為什么因?yàn)椤安閿?shù)”本身不產(chǎn)生業(yè)務(wù)價(jià)值數(shù)字只是事實(shí)的記錄它回答的是“發(fā)生了什么”。而業(yè)務(wù)方真正想問(wèn)的往往是“我該怎么辦”。我們立項(xiàng)之前做了一輪內(nèi)部調(diào)研把過(guò)去半年所有業(yè)務(wù)方在舊平臺(tái)上的真實(shí)提問(wèn)撈出來(lái)看。發(fā)現(xiàn)一個(gè)特別扎心的規(guī)律超過(guò)半數(shù)的問(wèn)題帶著“為什么”和“怎么提升”的情緒。比如“為什么昨天新增用戶跌了”“活動(dòng)頁(yè)的付費(fèi)轉(zhuǎn)化怎么這么低”“跟上周比到底是哪個(gè)渠道拖后腿”。但舊工具只能硬著頭皮把這些話轉(zhuǎn)成SQL最后給一個(gè)孤零零的數(shù)字用戶還得自己再拉一個(gè)Excel去做對(duì)比分析。這就是“猜答案”模式的原罪。它假設(shè)用戶心中已經(jīng)有一個(gè)明確的問(wèn)題但真實(shí)世界里業(yè)務(wù)方往往只有一個(gè)模糊的困惑。他們想要的不是那個(gè)數(shù)字本身而是數(shù)字背后能指導(dǎo)下一步動(dòng)作的洞察。所以做“數(shù)問(wèn)增長(zhǎng)”這個(gè)項(xiàng)目第一件事不是選模型、搭架構(gòu)而是把產(chǎn)品定位從“報(bào)表問(wèn)答”切換成“增長(zhǎng)分析助手”。這帶來(lái)的變化是結(jié)構(gòu)性的指標(biāo)體系要重建、對(duì)話交互要重設(shè)計(jì)、底層計(jì)算引擎要支持多維拆解和歸因而不僅僅是簡(jiǎn)單的聚合查詢。再說(shuō)透一點(diǎn)。“算增長(zhǎng)”這三個(gè)字我理解包含三層遞進(jìn)的能力。第一層還是得會(huì)算數(shù)這是地基第二層是能算賬能把指標(biāo)變化拆解成渠道、人群、行為階段這些可以歸因的因素第三層才是算增長(zhǎng)基于歸因結(jié)果給出可執(zhí)行的優(yōu)化方向和預(yù)期收益模擬。能用一句人話總結(jié)就是讓工具從“告訴你體重80公斤”進(jìn)化到“告訴你這80公斤主要是體脂高、應(yīng)該調(diào)整有氧和飲食結(jié)構(gòu)、預(yù)計(jì)三個(gè)月能減到75”。顯然后者才算對(duì)業(yè)務(wù)有價(jià)值。2. 對(duì)話式增長(zhǎng)分析的四個(gè)關(guān)鍵動(dòng)作明確了方向之后怎么把“算增長(zhǎng)”落到產(chǎn)品設(shè)計(jì)里我們最終把核心交互抽象成四個(gè)動(dòng)作問(wèn)、算、析、策。這四個(gè)字幾乎貫穿了所有功能模塊下面逐一拆開(kāi)講。2.1 問(wèn)讓用戶自然表達(dá)“模糊的困惑”第一關(guān)就卡住了。自然語(yǔ)言理解NLU這塊用開(kāi)源模型微調(diào)還是直接調(diào)大模型API我們?cè)囘^(guò)兩條路。一開(kāi)始用微調(diào)方案意圖識(shí)別準(zhǔn)確率確實(shí)高但代價(jià)是每新增一種問(wèn)法都要標(biāo)注數(shù)據(jù)、重新訓(xùn)練迭代周期按周算業(yè)務(wù)方根本等不起。后來(lái)?yè)Q了方案把通用大模型作為語(yǔ)義解析層配合一套我們自己設(shè)計(jì)的上下文模板效果反而更穩(wěn)。實(shí)操上我們?cè)趯?duì)話入口預(yù)設(shè)了幾類高頻意圖模板趨勢(shì)查詢、對(duì)比分析、維度下鉆、異常歸因、策略建議。用戶不一定要按照模板說(shuō)話但模板會(huì)成為模型理解的錨點(diǎn)。舉個(gè)實(shí)際例子“新增用戶怎么又跌了”這句話直接丟給原生接口大概率會(huì)被識(shí)別成簡(jiǎn)單的數(shù)值查詢。但配合模板和上下文信息系統(tǒng)能知道用戶關(guān)注的是“新增用戶”指標(biāo)的“周環(huán)比下降”并且有歸因訴求。這里的關(guān)鍵是不要指望模型全知全能產(chǎn)品設(shè)計(jì)要把用戶意圖的可能空間盡量壓縮到可控范圍內(nèi)。另外為了降低用戶表達(dá)成本我們做了指標(biāo)快捷輸入面板。用戶點(diǎn)一下“新增用戶”再點(diǎn)一下“對(duì)比上周”系統(tǒng)自動(dòng)生成帶參數(shù)的問(wèn)句用戶改改時(shí)間就能發(fā)出去。別小看這個(gè)交互實(shí)測(cè)下來(lái)使用門檻直接降了一半。很多人不敢跟對(duì)話機(jī)器人說(shuō)完整句子寧可去點(diǎn)點(diǎn)點(diǎn)??旖葺斎氡举|(zhì)上是在喂給系統(tǒng)更多結(jié)構(gòu)化信息后續(xù)解析的準(zhǔn)確率自然高很多。2.2 算從單點(diǎn)數(shù)字到多維計(jì)算編排“算”這個(gè)字在傳統(tǒng)問(wèn)數(shù)系統(tǒng)里就是SQL生成與執(zhí)行。但在增長(zhǎng)場(chǎng)景里我認(rèn)為更合適的形態(tài)是把一次分析請(qǐng)求拆解成一個(gè)可編排的計(jì)算流。系統(tǒng)不僅要回答“轉(zhuǎn)化率是多少”還要回答“轉(zhuǎn)化率按渠道分是什么情況”“哪個(gè)渠道對(duì)下降的貢獻(xiàn)最大”“如果保持頭部渠道的投放力度整體轉(zhuǎn)化率的預(yù)期是多少”。技術(shù)實(shí)現(xiàn)上我們沒(méi)有走純文生SQL的老路因?yàn)閺?fù)雜歸因查詢生成一條冗長(zhǎng)的SQL可解釋性太差出了問(wèn)題也沒(méi)法排查。底層采用了一套指標(biāo)語(yǔ)義層加上分析算子庫(kù)。指標(biāo)語(yǔ)義層定義了每個(gè)指標(biāo)的名稱、口徑、依賴的原子指標(biāo)和維度算子庫(kù)則封裝了趨勢(shì)分析、占比分析、貢獻(xiàn)度拆解、留存對(duì)比這些常用分析邏輯。用戶提問(wèn)后系統(tǒng)先通過(guò)語(yǔ)義解析定位指標(biāo)和維度再組合出對(duì)應(yīng)的算子執(zhí)行計(jì)劃。我用一個(gè)類比來(lái)說(shuō)明這個(gè)設(shè)計(jì)的優(yōu)雅之處。傳統(tǒng)方案像是一個(gè)翻譯把中文翻譯成數(shù)據(jù)庫(kù)方言我們的方案像是一個(gè)配菜師傅根據(jù)客人用戶的口味從備好的食材語(yǔ)義層里挑出幾樣按標(biāo)準(zhǔn)化菜譜算子炒一盤菜。標(biāo)準(zhǔn)化的好處是結(jié)果可預(yù)期而且每道菜都能復(fù)用。從落地效果看計(jì)算引擎執(zhí)行一次復(fù)雜歸因分析的耗時(shí)控制在2秒左右相比所有邏輯都走大模型生成的SQL方案穩(wěn)定性明顯提升。2.3 析把歸因說(shuō)成人話算出來(lái)結(jié)果只是中間產(chǎn)物最難的是怎么把這些結(jié)果轉(zhuǎn)化成業(yè)務(wù)方能看懂的歸因結(jié)論。這個(gè)模塊我們內(nèi)部叫“洞察生成器”。它的輸入是分析算子的結(jié)構(gòu)化輸出比如各渠道的貢獻(xiàn)度、指標(biāo)波動(dòng)的分解因子輸出是幾條帶邏輯的結(jié)論文本比如“本周新增用戶環(huán)比下降12.3%主要受渠道A影響貢獻(xiàn)了下降幅度的67%”。為了讓結(jié)論不“AI味”太重我們做了三件事。第一結(jié)論必須引用具體數(shù)值和維度避免模糊表達(dá)第二結(jié)論按影響因子排序重要原因絕對(duì)要放在第一句第三每條結(jié)論后面都掛著一個(gè)可追溯的“查看明細(xì)”入口用戶不滿意可以點(diǎn)進(jìn)去看原始數(shù)據(jù)表不能讓它變成黑箱。這個(gè)設(shè)計(jì)一開(kāi)始就被我們定為原則分析結(jié)論可以智能生成但用戶始終有權(quán)利查看一手?jǐn)?shù)據(jù)。做歸因的時(shí)候最怕的就是算法給出一個(gè)看似合理但業(yè)務(wù)上站不住腳的解釋。比如某個(gè)渠道的轉(zhuǎn)化率降了但該渠道本身流量就小只是波動(dòng)比例大系統(tǒng)如果只看比例就把鍋扣給這個(gè)渠道業(yè)務(wù)方一眼就能識(shí)破并且失去信任。所以我們給貢獻(xiàn)度計(jì)算加了兩道保險(xiǎn)一是同時(shí)計(jì)算影響絕對(duì)量和相對(duì)波動(dòng)率綜合排序二是引入業(yè)務(wù)經(jīng)驗(yàn)規(guī)則做修正比如核心付費(fèi)渠道的權(quán)重會(huì)調(diào)高。這塊沒(méi)有太多捷徑需要產(chǎn)品經(jīng)理和數(shù)據(jù)分析師一起把業(yè)務(wù)知識(shí)沉淀成規(guī)則表。2.4 策從分析結(jié)論到行動(dòng)建議“策”這個(gè)動(dòng)作是整個(gè)產(chǎn)品最亮眼的地方也是真正配得上“算增長(zhǎng)”三個(gè)字的功能。系統(tǒng)在給出歸因結(jié)論之后會(huì)繼續(xù)追問(wèn)一步那接下來(lái)應(yīng)該做什么初始版本我們用了一套規(guī)則模板。比如歸因發(fā)現(xiàn)某渠道的新增用戶下降貢獻(xiàn)最大規(guī)則庫(kù)會(huì)建議“復(fù)盤該渠道近期素材投放和廣告出價(jià)情況”。這套規(guī)則用起來(lái)不痛不癢因?yàn)闆](méi)有結(jié)合具體數(shù)據(jù)和目標(biāo)給出有計(jì)算依據(jù)的建議。后來(lái)迭代到第二版我們引入了預(yù)測(cè)模擬能力。用戶可以說(shuō)“假設(shè)下周該渠道轉(zhuǎn)化率恢復(fù)到上周水平整體新增用戶能回到多少”系統(tǒng)會(huì)基于歷史數(shù)據(jù)分布做一次仿真推演給出一個(gè)帶置信區(qū)間的預(yù)測(cè)結(jié)果。當(dāng)然機(jī)器學(xué)習(xí)預(yù)測(cè)的準(zhǔn)確性需要數(shù)據(jù)積累和持續(xù)調(diào)優(yōu)這塊我們不吹牛。但即便只是把“恢復(fù)到上周水平”和“維持本周水平”兩種情景下的預(yù)期收益算出來(lái)對(duì)比對(duì)業(yè)務(wù)方的決策幫助也已經(jīng)很大了。人腦不擅長(zhǎng)做多變量推演而機(jī)器天生適合干這個(gè)。給用戶一個(gè)可量化的行動(dòng)依據(jù)比十句抽象建議都管用。在“策”這個(gè)模塊落地過(guò)程中我的體會(huì)是不要試圖一步到位做通用決策引擎先把高頻、規(guī)則清晰的場(chǎng)景做成模板讓用戶感受到“這東西能幫我算清楚下一步怎么辦”等信任建立起來(lái)再逐步放開(kāi)更復(fù)雜的模擬和推薦能力。3. 指標(biāo)體系算增長(zhǎng)的地基工程如果說(shuō)前面的功能設(shè)計(jì)是產(chǎn)品和算法的事那指標(biāo)體系建設(shè)就是實(shí)打?qū)嵉臄?shù)據(jù)治理工作。這個(gè)環(huán)節(jié)做得好不好直接決定了“算增長(zhǎng)”的算力天花板。我見(jiàn)過(guò)太多團(tuán)隊(duì)模型調(diào)得溜提示詞寫(xiě)得花結(jié)果指標(biāo)口徑一塌糊涂用戶問(wèn)“活躍用戶”居然能出來(lái)三個(gè)不同的數(shù)。這種產(chǎn)品做得越智能死得越快。3.1 分級(jí)指標(biāo)體系從原子指標(biāo)到分析主題我們花了差不多一個(gè)月的時(shí)間梳理了全域業(yè)務(wù)的指標(biāo)體系最終歸納成三層結(jié)構(gòu)。底層是原子指標(biāo)指直接從業(yè)務(wù)表里統(tǒng)計(jì)出來(lái)的基礎(chǔ)計(jì)數(shù)比如注冊(cè)用戶數(shù)、下單金額、點(diǎn)擊次數(shù)中層是派生指標(biāo)通過(guò)四則運(yùn)算或比率公式計(jì)算而來(lái)比如轉(zhuǎn)化率、客單價(jià)、人均時(shí)長(zhǎng)頂層是分析主題把一組相關(guān)指標(biāo)按業(yè)務(wù)場(chǎng)景打包比如“拉新分析主題”包含新增用戶數(shù)、注冊(cè)轉(zhuǎn)化率、新客首單率、渠道分布等。這個(gè)分層的價(jià)值在于語(yǔ)義解析和算子編排可以在對(duì)應(yīng)層級(jí)上靈活工作。用戶問(wèn)“拉新效果怎么樣”系統(tǒng)知道要去分析主題里找用戶問(wèn)“注冊(cè)轉(zhuǎn)化率是多少”系統(tǒng)直接命中派生指標(biāo)用戶問(wèn)“昨天全國(guó)新增用戶數(shù)”系統(tǒng)落到原子指標(biāo)上。層級(jí)清晰了意圖路由就不會(huì)亂。為了避免口徑歧義每個(gè)指標(biāo)在語(yǔ)義層里都掛了唯一的定義文檔包括計(jì)算邏輯、更新頻率、數(shù)據(jù)來(lái)源表甚至負(fù)責(zé)人姓名。3.2 數(shù)據(jù)口徑統(tǒng)一的三板斧口徑統(tǒng)一這事沒(méi)有三板斧根本壓不住場(chǎng)子。第一板斧建立指標(biāo)發(fā)布審批流程。所有指標(biāo)必須先在語(yǔ)義層注冊(cè)經(jīng)過(guò)數(shù)據(jù)負(fù)責(zé)人審核才能被對(duì)話系統(tǒng)引用杜絕繞過(guò)流程直接拼數(shù)的情況。第二板斧指標(biāo)體系與底層數(shù)倉(cāng)模型強(qiáng)綁定指標(biāo)定義里的每一層計(jì)算都必須對(duì)應(yīng)到數(shù)倉(cāng)里真實(shí)的物理表或邏輯視圖不允許出現(xiàn)“只存在于指標(biāo)字典里但無(wú)處可查的數(shù)據(jù)”。第三板斧口徑變更必須全鏈路通知凡是引用到變更指標(biāo)的洞察結(jié)論、看板卡片、訂閱報(bào)告都要標(biāo)記提示“口徑已變更歷史結(jié)論可能偏差”。很多團(tuán)隊(duì)會(huì)在這一環(huán)節(jié)覺(jué)得“太重了”覺(jué)得搞個(gè)智能問(wèn)數(shù)工具而已干嘛要像做數(shù)據(jù)中臺(tái)一樣。但我認(rèn)為智能問(wèn)數(shù)的“智能”恰恰建立在高度結(jié)構(gòu)化的數(shù)據(jù)管理之上。如果給大模型投喂的數(shù)據(jù)是錯(cuò)亂的、口徑模糊的再?gòu)?qiáng)的推理能力也只會(huì)一本正經(jīng)地胡說(shuō)八道。扎實(shí)的指標(biāo)治理才是“算增長(zhǎng)”能夠落地的先決條件。3.3 時(shí)效與權(quán)限容易被忽略的兩個(gè)暗坑數(shù)據(jù)時(shí)效性這事主流儀表盤工具一般不太敏感但對(duì)話式問(wèn)數(shù)場(chǎng)景天然會(huì)引起用戶對(duì)“最新”的期待。我們?cè)O(shè)計(jì)了一套數(shù)據(jù)新鮮度標(biāo)注機(jī)制每次返回結(jié)果時(shí)都帶上數(shù)據(jù)截止時(shí)間同時(shí)對(duì)不同質(zhì)量等級(jí)的數(shù)據(jù)給予不同的信任標(biāo)識(shí)。比如事件表一般T1就能產(chǎn)出但某些業(yè)務(wù)線報(bào)表要T2甚至更晚系統(tǒng)會(huì)在語(yǔ)義層標(biāo)記清楚當(dāng)用戶訪問(wèn)尚未產(chǎn)出的數(shù)據(jù)時(shí)明確提示“當(dāng)前數(shù)據(jù)截至昨日今日數(shù)據(jù)預(yù)計(jì)X點(diǎn)產(chǎn)出”避免用戶基于過(guò)時(shí)數(shù)據(jù)做判斷。權(quán)限這塊也是暗坑。智能問(wèn)數(shù)工具如果權(quán)限控制不好就是一個(gè)天然的越權(quán)查詢通道。用戶只要會(huì)問(wèn)就能把不該看的數(shù)據(jù)拉出來(lái)。我們的方案是在語(yǔ)義層和算子執(zhí)行層之間加了一層統(tǒng)一鑒權(quán)網(wǎng)關(guān)用戶在對(duì)話中提到的任何指標(biāo)和維度都會(huì)先通過(guò)權(quán)限校驗(yàn)才能進(jìn)入計(jì)算流程。這里特別提醒一句權(quán)限規(guī)則必須跟組織架構(gòu)聯(lián)動(dòng)不能做成靜態(tài)配置否則人員一變動(dòng)就是一場(chǎng)災(zāi)難。4. 打磨分析深度讓“算增長(zhǎng)”不流于表面功能框架搭起來(lái)之后最花時(shí)間的其實(shí)是分析深度的打磨。這個(gè)過(guò)程不像搭架構(gòu)那樣有清晰的里程碑更像是“磨刀”一遍一遍讓結(jié)論更鋒利、更有業(yè)務(wù)穿透力。4.1 案例一場(chǎng)“新增用戶下降”的歸因?qū)崙?zhàn)拿我們內(nèi)部測(cè)試階段的一個(gè)真實(shí)場(chǎng)景來(lái)說(shuō)。某天業(yè)務(wù)方用系統(tǒng)提問(wèn)“本周新增用戶怎么比上周少了”系統(tǒng)返回結(jié)果“本周新增用戶日均23,500人環(huán)比上周下降12.4%。從渠道維度拆解渠道A貢獻(xiàn)了下降幅度的72%其主要新增量級(jí)下降18.5%從設(shè)備維度拆解iOS端降幅顯著高于安卓端從分日趨勢(shì)看本周一和周二的下降最為集中?!边@個(gè)結(jié)論的生成過(guò)程并不神秘。系統(tǒng)先識(shí)別指標(biāo)“新增用戶”選定對(duì)比周期本周 vs 上周然后自動(dòng)進(jìn)行維度拆解。第一層拆渠道、第二層拆設(shè)備、第三層拆時(shí)間每層拆解都會(huì)計(jì)算貢獻(xiàn)度最后按影響程度排序取Top因子。如果到這里就結(jié)束其實(shí)已經(jīng)比絕大多數(shù)BI工具“扔一個(gè)環(huán)比數(shù)字給用戶”要強(qiáng)很多但距離“算增長(zhǎng)”還差一步。接著業(yè)務(wù)方在對(duì)話里追問(wèn)“如果渠道A下周恢復(fù)上周水平呢”系統(tǒng)調(diào)用了情景預(yù)測(cè)算子基于渠道A近八周的新增均值和本周實(shí)際值估算出一個(gè)恢復(fù)情景下的全站新增用戶預(yù)測(cè)并提示置信區(qū)間和前提假設(shè)。這時(shí)候業(yè)務(wù)方才真正得到?jīng)Q策支持——他可以拿著這個(gè)推演結(jié)果去問(wèn)渠道負(fù)責(zé)人什么條件下能把渠道A拉回原來(lái)的水準(zhǔn)投入產(chǎn)出比劃不劃算這叫把數(shù)字變成決策鏈條上的一環(huán)。4.2 對(duì)話記憶與上下文邏輯做對(duì)話式分析上下文管理是個(gè)技術(shù)活。用戶不會(huì)像寫(xiě)需求文檔一樣每次都把一個(gè)指標(biāo)的前因后果說(shuō)清楚。他可能先問(wèn)“最近注冊(cè)轉(zhuǎn)化率怎么樣”然后緊接著說(shuō)“對(duì)比一下上周?!比绻到y(tǒng)沒(méi)有上下文記憶“對(duì)比一下”這三個(gè)字就無(wú)從解析。我們的解決方案是維護(hù)一個(gè)會(huì)話級(jí)的分析狀態(tài)棧里面存著最近N輪對(duì)話中已經(jīng)識(shí)別出的指標(biāo)、維度、時(shí)間范圍和分析意圖。新來(lái)的問(wèn)題會(huì)先跟狀態(tài)棧里的信息做融合再交給意圖解析模塊。這里有一個(gè)很微妙的取舍上下文不能無(wú)限保留否則用戶一旦切換話題老上下文反而會(huì)成為干擾項(xiàng)。我們通過(guò)意圖漂移檢測(cè)來(lái)做判斷——如果新問(wèn)題的核心指標(biāo)或者動(dòng)詞屬性跟前面的對(duì)話差異過(guò)大就自動(dòng)清空狀態(tài)棧開(kāi)啟新話題。這就像聊天時(shí)對(duì)方突然說(shuō)個(gè)不相干的段子你就該知道前面的話題翻篇了。4.3 關(guān)于大模型幻覺(jué)的防御姿勢(shì)最后必須聊聊大模型幻覺(jué)問(wèn)題。對(duì)話過(guò)程中用戶偶爾會(huì)問(wèn)出語(yǔ)義層里不存在的指標(biāo)比如“私域流量的用戶資產(chǎn)是多少”但我們的數(shù)倉(cāng)里根本沒(méi)有“用戶資產(chǎn)”這個(gè)字段。早期版本里模型偶爾會(huì)一本正經(jīng)地用一個(gè)近似指標(biāo)的結(jié)果來(lái)包裝回答這在數(shù)據(jù)產(chǎn)品里是不可接受的——業(yè)務(wù)方要是拿著錯(cuò)誤口徑做了決策那是會(huì)出大事的。我們的防御策略分三步。第一步語(yǔ)義解析階段增加指標(biāo)存在性校驗(yàn)?zāi)P蜕傻闹笜?biāo)必須能在指標(biāo)語(yǔ)義層里找到匹配項(xiàng)否則直接拒絕解析第二步所有結(jié)論文本必須附帶數(shù)據(jù)血緣標(biāo)記也就是每個(gè)數(shù)字都能追溯到具體的數(shù)據(jù)表和查詢代碼第三步建立用戶反饋通道每條回答后面有“結(jié)論是否合理”的確認(rèn)按鈕用戶的反饋會(huì)沉淀成負(fù)樣本用來(lái)持續(xù)修正提示詞和解析邏輯。這塊沒(méi)有銀彈就是建立機(jī)制人機(jī)協(xié)同把幻覺(jué)率壓到可接受的范圍。5. 落地過(guò)程中的三個(gè)深坑與排查實(shí)錄寫(xiě)到這里感覺(jué)必須把項(xiàng)目落地過(guò)程中真實(shí)踩過(guò)的坑和排查過(guò)程好好復(fù)盤一遍。這些經(jīng)驗(yàn)比功能設(shè)計(jì)更值得記錄下來(lái)因?yàn)樗鼈兪腔藥字苌踔烈粌蓚€(gè)月時(shí)間才摸出來(lái)的教訓(xùn)。5.1 指標(biāo)口徑打架語(yǔ)義層與現(xiàn)網(wǎng)SQL的“左右互搏”第一個(gè)坑發(fā)生在上線初期。我們信心滿滿地接入了語(yǔ)義層結(jié)果業(yè)務(wù)方反饋系統(tǒng)算出來(lái)的“轉(zhuǎn)化率”跟舊報(bào)表系統(tǒng)里的數(shù)對(duì)不上。排查過(guò)程很痛苦因?yàn)閮蛇吢?tīng)起來(lái)都是“同一個(gè)指標(biāo)”但深入追查后發(fā)現(xiàn)問(wèn)題出在定義細(xì)節(jié)上。舊報(bào)表的轉(zhuǎn)化率分子是“支付成功用戶數(shù)”分母是“提交訂單用戶數(shù)”而我們?cè)谡Z(yǔ)義層建模時(shí)分子寫(xiě)成了“所有完成訂單流程含退款的用戶數(shù)”分母則是“點(diǎn)擊購(gòu)買按鈕的用戶數(shù)”。口徑差了十萬(wàn)八千里。這個(gè)坑的根源在于我們做指標(biāo)治理時(shí)沒(méi)有跟舊有報(bào)表體系的負(fù)責(zé)人充分對(duì)齊關(guān)起門來(lái)按“理想定義”建模。解決方式也很實(shí)在把現(xiàn)網(wǎng)所有舊報(bào)表里的指標(biāo)口徑全部逆向梳理出來(lái)逐條跟語(yǔ)義層指標(biāo)做映射和比對(duì)凡是存在偏差的必須在指標(biāo)字典里加上“對(duì)舊口徑差異說(shuō)明”。這件事整整花了兩周但做完之后系統(tǒng)輸出的數(shù)據(jù)第一次跟業(yè)務(wù)方的“心理預(yù)期”對(duì)上了信任感才開(kāi)始建立。5.2 數(shù)據(jù)延遲導(dǎo)致“今天的數(shù)怎么不對(duì)”第二個(gè)坑是數(shù)據(jù)時(shí)效引起的信任危機(jī)。某個(gè)業(yè)務(wù)線的大屏上用T2的數(shù)據(jù)但我們系統(tǒng)接到用戶問(wèn)“今日轉(zhuǎn)化率”時(shí)直接查了實(shí)時(shí)數(shù)倉(cāng)里的中間表因?yàn)橹虚g表的數(shù)據(jù)還沒(méi)跑完任務(wù)結(jié)果返回了一個(gè)嚴(yán)重偏低的數(shù)字。用戶一看第一反應(yīng)就是這個(gè)工具不行數(shù)據(jù)不準(zhǔn)。排查后發(fā)現(xiàn)底層數(shù)倉(cāng)的表有不同時(shí)效級(jí)別有的實(shí)時(shí)更新有的T1批處理有的T2才穩(wěn)定。我們的語(yǔ)義層原來(lái)用“表-字段”命名空間做映射根本不知道表背后的時(shí)效屬性。緊急補(bǔ)丁方案是在語(yǔ)義層配置每個(gè)指標(biāo)關(guān)聯(lián)的數(shù)據(jù)表時(shí)效等級(jí)并在執(zhí)行計(jì)劃里加入時(shí)效約束條件。如果用戶要求的是“今日數(shù)據(jù)”但底層表尚未產(chǎn)出系統(tǒng)明確提示“當(dāng)前數(shù)據(jù)截止至昨日XX時(shí)”絕不強(qiáng)行返回殘缺結(jié)果。這個(gè)改動(dòng)上線后類似的信任危機(jī)再?zèng)]出現(xiàn)過(guò)。5.3 用戶預(yù)期管理從“全能助手”到“場(chǎng)景專家”的定位糾偏第三個(gè)坑屬于產(chǎn)品和用戶預(yù)期層面。早期我們?cè)谛麄鞯臅r(shí)候喊了一嗓子“有什么業(yè)務(wù)問(wèn)題都可以問(wèn)我”結(jié)果用戶真的什么都問(wèn)包括“下季度應(yīng)該重點(diǎn)投放哪些渠道”“新功能要不要上線”。系統(tǒng)當(dāng)然給不出靠譜答案于是用戶覺(jué)得這東西很雞肋。后來(lái)我們反思了一下問(wèn)題出在預(yù)告了產(chǎn)品不具備的能力。智能問(wèn)數(shù)工具再聰明本質(zhì)還是一個(gè)數(shù)據(jù)分析助手它的能力邊界是“基于已有的數(shù)據(jù)規(guī)律給出量化分析”而不是“基于市場(chǎng)情報(bào)做商業(yè)判斷”。我們把產(chǎn)品定位收斂到“增長(zhǎng)場(chǎng)景的數(shù)據(jù)分析專家”主動(dòng)在對(duì)話入口和提示語(yǔ)里引導(dǎo)用戶關(guān)注五大類高頻問(wèn)題趨勢(shì)分析、異常歸因、渠道對(duì)比、漏斗診斷、目標(biāo)預(yù)測(cè)。在某場(chǎng)專項(xiàng)分析場(chǎng)景里回答有深度的結(jié)論強(qiáng)過(guò)在開(kāi)放域里回答一萬(wàn)個(gè)泛泛而談的答案。這個(gè)定位糾偏之后用戶滿意度反而上來(lái)了。6. 實(shí)踐過(guò)程中的幾點(diǎn)體會(huì)項(xiàng)目走到今天回過(guò)頭來(lái)看最核心的收獲其實(shí)不是技術(shù)方案本身而是一整個(gè)思考方式的轉(zhuǎn)變。以前做數(shù)據(jù)產(chǎn)品腦子里想的是“我怎么把數(shù)據(jù)出得更快更準(zhǔn)”現(xiàn)在做“數(shù)問(wèn)增長(zhǎng)”逼著自己把視角切到“業(yè)務(wù)方拿到這個(gè)分析結(jié)果下一步能做什么動(dòng)作”。這個(gè)轉(zhuǎn)變一刻不停地在影響每一個(gè)設(shè)計(jì)決策。我個(gè)人在實(shí)際操作中有一個(gè)特別深的體會(huì)對(duì)數(shù)據(jù)產(chǎn)品的用戶體驗(yàn)來(lái)說(shuō)一行有業(yè)務(wù)判斷的結(jié)論文本強(qiáng)過(guò)十行精雕細(xì)琢的圖表配置。圖表只是視覺(jué)化呈現(xiàn)事實(shí)而結(jié)論文本是在告訴用戶“事實(shí)意味著什么”。這要求設(shè)計(jì)者本身就具備很強(qiáng)的業(yè)務(wù)分析能力不能只懂?dāng)?shù)據(jù)技術(shù)。如果你所在的團(tuán)隊(duì)正打算做類似的智能問(wèn)數(shù)產(chǎn)品我真心建議至少配一個(gè)懂業(yè)務(wù)的數(shù)據(jù)分析師在產(chǎn)品團(tuán)隊(duì)里面他的價(jià)值在前中期比算法工程師還要大。另外一個(gè)值得分享的小經(jīng)驗(yàn)是無(wú)論模型能力多強(qiáng)大都要在系統(tǒng)里留下一扇“人肉核實(shí)”的窗口。我們平臺(tái)里每一個(gè)自動(dòng)生成的洞察結(jié)論都允許用戶一鍵跳轉(zhuǎn)到明細(xì)數(shù)據(jù)查詢甚至能手選維度重新計(jì)算。這看起來(lái)好像是給智能化打了折但實(shí)際上恰恰是這種“可控感”讓業(yè)務(wù)方更愿意信任分析結(jié)果。信任建立起來(lái)之后自動(dòng)化的結(jié)論被直接采納的比例反而高了。如果你也在考慮把內(nèi)部的問(wèn)數(shù)工具往“增長(zhǎng)”方向升級(jí)我最后的建議是不要一上來(lái)就復(fù)制別人的完整方案而是先從最痛的一個(gè)業(yè)務(wù)場(chǎng)景切入把一個(gè)分析主題做透打磨出幾個(gè)讓人眼前一亮的分析結(jié)論。有了這種標(biāo)桿案例再去說(shuō)服業(yè)務(wù)方擴(kuò)大使用范圍會(huì)順暢得多。智能問(wèn)數(shù)這個(gè)賽道不缺技術(shù)方案缺的是真正理解“算增長(zhǎng)”這個(gè)目標(biāo)的產(chǎn)品人。