B端產(chǎn)品經(jīng)理如何做有把握的決策?
導(dǎo)語(yǔ):B端業(yè)務(wù)場(chǎng)景專(zhuān)一化、業(yè)務(wù)背景復(fù)雜,業(yè)務(wù)方提的需求一般都較為明確,如“我想要一個(gè)….功能” 但產(chǎn)品經(jīng)理在判斷和設(shè)計(jì)需求時(shí)時(shí)往往摸著石頭過(guò)河,沒(méi)有可以衡量判斷的標(biāo)準(zhǔn),如果能借助生活場(chǎng)景經(jīng)驗(yàn)應(yīng)用在決策中,會(huì)讓思路豁然開(kāi)朗,也對(duì)自身判斷有了可預(yù)知的底氣。
產(chǎn)品經(jīng)理最重要的工作是什么?——做決策。
對(duì)于1~3年的B端產(chǎn)品經(jīng)理,面對(duì)業(yè)務(wù)需求,經(jīng)常需要判斷:
這個(gè)業(yè)務(wù)提的需求該不該做?做或者不做帶來(lái)的收益和風(fēng)險(xiǎn)是什么?有比原需求更好的解決方式嗎?未來(lái)的擴(kuò)展性有哪些?
B端不像C端,可以依據(jù)數(shù)據(jù)反饋?zhàn)鰶Q策。
B端產(chǎn)品經(jīng)理在工作中最常做的是主觀判斷決策,這個(gè)感覺(jué)就跟摸著石頭過(guò)河很像,如果產(chǎn)品sense不夠好,很容易被需求方提的需求帶到一條思維的小路上,雖然修好了小路,但是只能給部分人走,失去了擴(kuò)展性。
表現(xiàn)形式就是后面系統(tǒng)架構(gòu)愈加雜亂,功能點(diǎn)散沒(méi)有結(jié)構(gòu)性,功能效果藏在代碼邏輯里,對(duì)后人和用戶都是黑盒子。
如何才能快速發(fā)現(xiàn)問(wèn)題的本質(zhì),判斷需求的合理性、設(shè)計(jì)方案的可行性呢?運(yùn)用抽象思維很重要。
下面我介紹一種我自己常用的方法——抽象類(lèi)比法
抽象類(lèi)比法,是把事物的表象抽離提煉為一種通用的模式,這種模式可以直接套用在其他不同的場(chǎng)景中直接應(yīng)用或擴(kuò)展。
而生活化場(chǎng)景的抽象好處在于生活場(chǎng)景聯(lián)想門(mén)檻低,易接觸到。同時(shí)生活場(chǎng)景的流程模式在得到過(guò)廣泛的應(yīng)用和驗(yàn)證,是值得信賴(lài)的經(jīng)典模型。
下面給大家介紹下,我借助生活場(chǎng)景模型解決的一個(gè)B端產(chǎn)品的任務(wù)調(diào)度難題。
一、問(wèn)題背景
在首篇文章中提到過(guò),我重構(gòu)了一個(gè)風(fēng)控?cái)?shù)據(jù)測(cè)試系統(tǒng),系統(tǒng)的核心功能是數(shù)據(jù)的批量匹配。
數(shù)據(jù)匹配的邏輯是:
把批量樣本文件以一次任務(wù)的形式,向不同產(chǎn)品的API接口發(fā)起批量的調(diào)用請(qǐng)求,收到響應(yīng)后將接口返回的數(shù)據(jù)回寫(xiě)入一個(gè)文件中。
如下圖:
這個(gè)功能的視覺(jué)效果跟多任務(wù)下載文件有些相似,不同的是,由于底層API接口有并發(fā)數(shù)的限制,也就是資源是有限的,因此任務(wù)的匹配速度就受到了限制。
此前,系統(tǒng)可以支持最多10個(gè)用戶的任務(wù)同時(shí)進(jìn)行,各個(gè)任務(wù)的并發(fā)資源數(shù)是按當(dāng)前任務(wù)數(shù)等分的,如下圖:
即:?jiǎn)稳蝿?wù)并發(fā)數(shù)=總并發(fā)數(shù)/當(dāng)前任務(wù)數(shù),即任務(wù)越多,每個(gè)任務(wù)的進(jìn)度就越慢。
除了受到并發(fā)數(shù)影響,不同任務(wù)的匹配時(shí)長(zhǎng)還受到下面幾個(gè)因素的影響:
- 樣本量級(jí)不同(不同任務(wù)量級(jí)跨度大,50條~500w條)
- 調(diào)用產(chǎn)品數(shù)量不同(不同任務(wù)間數(shù)量跨度大,1個(gè)~50個(gè))
- 不同產(chǎn)品接口的請(qǐng)求響應(yīng)時(shí)間不同(如:評(píng)分類(lèi)產(chǎn)品的請(qǐng)求耗時(shí)通常較長(zhǎng))
當(dāng)然,并發(fā)資源是權(quán)重最高的因子,如果并發(fā)數(shù)提升了,整體任務(wù)效率都是同比增長(zhǎng)的。
其他背景:
- 出于公平性和API底層的考量,一個(gè)用戶如有多個(gè)任務(wù),在發(fā)起后,同一時(shí)間只能一個(gè)任務(wù)在進(jìn)行中,其他任務(wù)均為等待中。
- 匹配列表為唯一數(shù)據(jù)權(quán)限公開(kāi)的模塊,可供所有用戶查看當(dāng)前系統(tǒng)的任務(wù)匹配和資源占用情況,以便了解自己的任務(wù)是否需要排隊(duì)等待。
二、改造前的問(wèn)題
因?yàn)樵鞒藤Y源是均分制的,也就是對(duì)所有任務(wù)一視同仁,不區(qū)分任務(wù)的緊急程度、樣本大小等因素,按時(shí)間次序?qū)⑷蝿?wù)依次放進(jìn)匹配通道中,如果此時(shí)10個(gè)匹配通道均已占用,那后面的任務(wù)就都需要等待。
任務(wù)高峰期,系統(tǒng)上最多有50個(gè)任務(wù)在等待中,最長(zhǎng)一個(gè)任務(wù)從發(fā)起到匹配結(jié)束花了將近3天的時(shí)間。
大任務(wù)測(cè)不完,小任務(wù)測(cè)不上;10個(gè)通道持續(xù)滿載,任務(wù)堆積嚴(yán)重。是這個(gè)核心功能最大的問(wèn)題。
系統(tǒng)用戶(分析師)找我反饋的次數(shù)也不少,都是希望我能給他們插隊(duì)的:
- “我這個(gè)是付費(fèi)測(cè)試,你們不給優(yōu)先處理嗎?”
- “我就50條樣本,能讓我先測(cè)下不?”
- “我的任務(wù)緊急,客戶明天就要,能不能插隊(duì)呀”
- …
大概這樣的嚴(yán)重?fù)頂D情況持續(xù)了1周左右,我意識(shí)到務(wù)必要做出改變,在并發(fā)數(shù)有上限的情況下,如何實(shí)現(xiàn)資源的最大化利用,這應(yīng)該是需要精細(xì)化策略設(shè)計(jì)的問(wèn)題。
三、問(wèn)題分析
既然決定要改原有的邏輯,如何設(shè)計(jì)才合理?難道要像用戶所提的,增加一個(gè)插隊(duì)功能?管理員可以改變?nèi)蝿?wù)順序,可以隨意把后面的任務(wù)放置前面?
當(dāng)然不行!
這是一個(gè)與調(diào)度秩序有關(guān)的問(wèn)題,假如說(shuō)開(kāi)了這個(gè)口子,且不說(shuō)系統(tǒng)技術(shù)邏輯復(fù)雜度加重,而是從常理的公平性角度想:
- 把一個(gè)等待中的任務(wù)放在匹配隊(duì)列中,必然會(huì)影響一個(gè)匹配中任務(wù)
- 把任務(wù)提到等待隊(duì)列的最前位,也影響了后面其他人的等待中任務(wù)
這些都是不公平的,不論怎么做,都是影響了其他用戶的利益。
如果每個(gè)人因?yàn)橄胍驗(yàn)橐铀俣紒?lái)找管理員開(kāi)這個(gè)口子,那系統(tǒng)的匹配功能將失去秩序,操作頻繁時(shí),系統(tǒng)來(lái)不及更新?tīng)顟B(tài),可能會(huì)影響調(diào)用結(jié)果的準(zhǔn)確性,風(fēng)險(xiǎn)性極大。
那既然這樣,如何思考才能有效解決這個(gè)問(wèn)題?
我們需要撥開(kāi)表象看本質(zhì),抓住問(wèn)題的主要矛盾,防止被用戶的訴求帶偏。
如何抓住核心矛盾?我們可以借助抽象類(lèi)比的方法。
四、抽象類(lèi)比
這個(gè)問(wèn)題的本質(zhì)是流量調(diào)度,那么聯(lián)想生活場(chǎng)景,哪些場(chǎng)景跟流量有關(guān)?
是不是能想到“人潮涌動(dòng)、排隊(duì)檢票”的場(chǎng)景?進(jìn)而聯(lián)想到機(jī)場(chǎng)、火車(chē)站或景區(qū)門(mén)口的景象。
我們拿機(jī)場(chǎng)舉例,將實(shí)際事物與系統(tǒng)場(chǎng)景進(jìn)行類(lèi)比:
- 樣本可以比作旅客
- 樣本量大小可以比作一個(gè)旅行團(tuán)的大小
- 任務(wù)數(shù)可以比作安檢通道的個(gè)數(shù)
- 每個(gè)任務(wù)的并發(fā)數(shù),可以比作每個(gè)安檢通道內(nèi)可以同時(shí)做檢查的工作人員數(shù)(人數(shù)越多安檢越快)
- 每次匹配的產(chǎn)品多少可以類(lèi)比為旅行團(tuán)的行李(行李越多安檢越慢)
綜上所述,能確定基于流量場(chǎng)景的調(diào)度設(shè)計(jì)可參考抽象后的“安檢口”模型。
那機(jī)場(chǎng)安檢口是怎么解決流量調(diào)度問(wèn)題的?
- 「針對(duì)普通用戶」普通旅客走常規(guī)安檢口,常規(guī)安檢口數(shù)量有一般有多個(gè)。
- 「針對(duì)高級(jí)用戶」VIP旅客走VIP安檢口,解決VIP旅客對(duì)時(shí)間要求高的問(wèn)題
- 「針對(duì)特殊用戶」長(zhǎng)期開(kāi)放快速通道安檢口,為殘疾人等需要關(guān)注的旅客提供便利
- 「針對(duì)緊急用戶」當(dāng)旅客著急趕飛機(jī)時(shí),可以在機(jī)場(chǎng)工作人員的允許后,走快速通道安檢口
上面四種解決問(wèn)題的邏輯恰好跟我上面收集的用戶反饋情況對(duì)應(yīng)上了
- “我這個(gè)是付費(fèi)測(cè)試,你們不給優(yōu)先處理嗎?”——高級(jí)用戶問(wèn)題
- “我就50條樣本,能讓我先測(cè)下不?”——特殊用戶問(wèn)題
- “我的任務(wù)緊急,客戶明天就要,能不能插隊(duì)呀”——緊急用戶問(wèn)題
這剛好是所有流量場(chǎng)景中最常遇到的三種問(wèn)題,它們的應(yīng)對(duì)辦法分別是:
- 按重要性對(duì)資源進(jìn)行有差別劃分
- 特殊情況給予特殊資源傾斜照顧
- 緊急非重要情況給予通融的機(jī)會(huì)
五、方案設(shè)計(jì)
有了上面的生活場(chǎng)景參考,我們具體到系統(tǒng)的功能邏輯里,在“安檢口”模型的基礎(chǔ)上,考慮到了并發(fā)資源最大化利用的問(wèn)題(不能讓資源空著不用)我是這樣設(shè)計(jì)的:
首先,我們假設(shè)系統(tǒng)匹配任務(wù)的總并發(fā)數(shù)為N:
1. 「重」解決付費(fèi)工單要求提高優(yōu)先級(jí)高的需求
- 【任務(wù)分類(lèi)】根據(jù)測(cè)試目的把工單分為兩種:高優(yōu)先級(jí)工單(付費(fèi)測(cè)試)、低優(yōu)先級(jí)(免費(fèi)測(cè)試)
- 【評(píng)估配比】計(jì)算歷史任務(wù)中,高優(yōu)先級(jí)工單與低優(yōu)先級(jí)工單的數(shù)量比,為1:7,這個(gè)比例跟上面的「高級(jí)用戶」場(chǎng)景相似,都是重要的事物,量少;普通的事物,量多。
- 【套用模型】故類(lèi)比安檢口「高級(jí)用戶」模型,遵從二八法則,將原有的10任務(wù)通道分類(lèi),最多2個(gè)高速通道、最多8個(gè)普通通道。高優(yōu)先級(jí)任務(wù)走高速通道,低優(yōu)先級(jí)任務(wù)走普通通道。高速任務(wù)如超過(guò)2個(gè)順位走普通通道,后續(xù)按次序自動(dòng)補(bǔ)位進(jìn)入高速通道。
- 【動(dòng)態(tài)分配】當(dāng)平臺(tái)僅有普通任務(wù)時(shí),假設(shè)任務(wù)數(shù)為x,此時(shí)每個(gè)任務(wù)的并發(fā)數(shù)為N/x。當(dāng)此時(shí)出現(xiàn)高速通道任務(wù),任務(wù)數(shù)為y,系統(tǒng)自動(dòng)劃分N/2并發(fā)數(shù)支持高速通道,因此每個(gè)高速任務(wù)最少有N/4個(gè)并發(fā)數(shù),這一步是為了保護(hù)高速任務(wù)的進(jìn)行效率。此時(shí)低速通道任務(wù)并發(fā)數(shù)自動(dòng)減半變?yōu)镹/2x。
- 【資源釋放】高速任務(wù)一般任務(wù)數(shù)量少,速度有保障的前提下匹配的時(shí)間短,故在高速任務(wù)完成后,將自動(dòng)釋放N/2的總并發(fā)數(shù),歸還于普通任務(wù)。
2. 「輕」解決量小高頻的小樣本快速測(cè)試需求
- 【量級(jí)分類(lèi)】考慮到約80%的用戶在全量樣本測(cè)試前都需要用小量樣本做驗(yàn)證測(cè)試,要保證驗(yàn)證測(cè)試的敏捷性,故需要增加量級(jí)分類(lèi)。如,200行以?xún)?nèi)的樣本,為小樣本任務(wù)。200行以上的為普通任務(wù)。
- 【獨(dú)立邏輯】類(lèi)比上述安檢口「特殊用戶」模型,小樣本任務(wù)走專(zhuān)用通道單獨(dú)排隊(duì),不與普通任務(wù)同時(shí)排隊(duì)。且因量級(jí)小平均一個(gè)任務(wù)僅需1~3min,故不需要判讀任務(wù)優(yōu)先級(jí)等情況。
- 【額外資源】基于小樣本每次量級(jí)小,對(duì)底層基本無(wú)壓力的情況,我向架構(gòu)組成功了申請(qǐng)?jiān)谠胁l(fā)數(shù)N的基礎(chǔ)上,額外增加N/10的并發(fā),一般情況下只給小樣本任務(wù)單獨(dú)使用。
- 【快速通道】因?yàn)樾颖救蝿?wù)高頻,約占40%的總?cè)蝿?wù)量,且匹配快速,故設(shè)置小樣本任務(wù)通道數(shù)為最多為5,在假設(shè)小樣本任務(wù)數(shù)為m的情況下,每個(gè)小樣本匹配時(shí)的并發(fā)量最少可為N/10m,這樣基本上用戶一提交小樣本測(cè)試就能直接進(jìn)入匹配隊(duì)列中,降低對(duì)小樣本驗(yàn)證的等待焦慮。
3. 「急」解決緊急普通任務(wù)的加速需求
【提速審批】與在機(jī)場(chǎng)安檢口,普通旅客趕飛機(jī)需要經(jīng)過(guò)安檢人員的同意才能走快速通道的情況相似。普通任務(wù)一般只能走普通通道,但緊急情況下,如果想加速必須經(jīng)過(guò)領(lǐng)導(dǎo)審批,證明你是真正的緊急。有了審批這一步會(huì)減少非真正緊急的提速需求,防止公共資源被不合理占用。
【人工控制】控制任務(wù)是否提速的按鈕權(quán)限在管理員這里,沒(méi)有直接做成對(duì)接線上審批流的原因有兩點(diǎn)。
- 希望在上線后觀察用戶使用效果,看看經(jīng)過(guò)改造后是否還有任務(wù)提速的需求。
- 管理員評(píng)估會(huì)讓這個(gè)流程更可控,比如當(dāng)前就有2個(gè)高速任務(wù)在進(jìn)行中,高速列表占用,就算審批結(jié)束也不能一下子解決問(wèn)題,這里需要人為決策的維度更多。
【任務(wù)升級(jí)】普通任務(wù)手動(dòng)提速后,會(huì)給予更多并發(fā)資源。在這里設(shè)計(jì)的是,如果提速成功,可與高優(yōu)先級(jí)任務(wù)共享高速通道,通道數(shù)依舊最大為2個(gè),如當(dāng)前已占用則依舊在普通通道等待。(權(quán)重與高優(yōu)先級(jí)任務(wù)齊平)
4. 「緩」解決部分接口的降速需求
這是一個(gè)基礎(chǔ)架構(gòu)組基于服務(wù)安全考慮給我們提的需求,一小部分產(chǎn)品的接口底層性能有限,不支持過(guò)大并發(fā)調(diào)用,因此在本次需求中,兼顧了部分接口降速的需求。即當(dāng)任務(wù)中出現(xiàn)某些接口時(shí),直接進(jìn)入小并發(fā)池中匹配。
- 【并發(fā)分配】系統(tǒng)在高速通道、普通通道、小樣本通道的基礎(chǔ)上,兼顧了慢速通道。慢速通道的總并發(fā)數(shù)為總并發(fā)數(shù)的1/6(根據(jù)需要限流的接口能承受的最大并發(fā)數(shù)賦值的),即為N/6個(gè)并發(fā)數(shù)。從普通任務(wù)的并發(fā)數(shù)中劃分出來(lái),如普通任務(wù)的并發(fā)數(shù)為N,則有低速任務(wù)時(shí)普通任務(wù)并發(fā)數(shù)為,5/6N。
- 【通道共享】慢速任務(wù)可以理解為被迫限流的普通任務(wù),故與普通任務(wù)共享8個(gè)通道數(shù),當(dāng)8個(gè)通道在占用時(shí),第九個(gè)任務(wù)無(wú)論是普通任務(wù)還是低速任務(wù)均進(jìn)入等待隊(duì)列
5. 針對(duì)少數(shù)情況的前置規(guī)則先行
前面說(shuō)了,通過(guò)歷史數(shù)據(jù)的統(tǒng)計(jì)分析,得出高速任務(wù)的需求占比為1/8,大多數(shù)情況下,不會(huì)出現(xiàn)高速任務(wù)數(shù)大于普通任務(wù)數(shù)的情況。
- 少數(shù)情況如:當(dāng)前普通任務(wù)為0、高速任務(wù)為1時(shí),照此前邏輯將啟用高速通道,此高速任務(wù)的并發(fā)數(shù)為N/2,但此時(shí)的最優(yōu)解應(yīng)是高速任務(wù)獨(dú)享整個(gè)并發(fā)資源N。故需考慮到這種情況,并增加前置規(guī)則。
- 為了清晰的找到前置規(guī)則,我在下方用了枚舉法,假設(shè)普通任務(wù)數(shù)(x)、高速任務(wù)數(shù)(y)、低速任務(wù)數(shù)(z),即可得出當(dāng){ 0 <= x< y<=2 } 時(shí),系統(tǒng)不啟用高速通道,是資源最大化利用的最優(yōu)解。
6. 小結(jié)
以上設(shè)計(jì)思路,參考了機(jī)場(chǎng)安檢口的旅客優(yōu)先級(jí)規(guī)則,同時(shí)結(jié)合實(shí)際業(yè)務(wù)需求場(chǎng)景,在保證并發(fā)資源高效利用的原則下,運(yùn)用抽象類(lèi)比法將原有的“數(shù)據(jù)測(cè)試等待時(shí)間長(zhǎng)的問(wèn)題”抽象為“流量池問(wèn)題”,引入的5種調(diào)度策略,一口氣解決了原流程“輕/重/緩/急”的四種任務(wù)調(diào)度難題。
六、上線效果
這個(gè)策略升級(jí)的版本上線后,用戶反饋很好。我在頁(yè)面增加了人性化的匹配說(shuō)明,便于用戶理解改造后的資源調(diào)度原則。上線后這么久,沒(méi)有一個(gè)用戶對(duì)改造提出質(zhì)疑或者反對(duì),我認(rèn)為是模型在底層提供了合理性保障,給用戶無(wú)形中提高了熟悉感,用戶的接納和認(rèn)可度較高。
同時(shí)再次面對(duì)問(wèn)題時(shí),系統(tǒng)都有相應(yīng)的策略去應(yīng)對(duì):高優(yōu)先級(jí)的任務(wù)能享受高速、小樣本測(cè)試能快速得到驗(yàn)證、緊急任務(wù)出現(xiàn)時(shí)也能有提速的口子,徹底解決了流量調(diào)度中常見(jiàn)的三種問(wèn)題。平均任務(wù)耗時(shí)從118min降到了41min,匹配時(shí)間減少了近70%,高峰期任務(wù)擁擠的情況在上線后也得到了有效的緩解,用戶滿意度自然也就提升了。
七、總結(jié)
B端平臺(tái)類(lèi)產(chǎn)品,在產(chǎn)品設(shè)計(jì)中如果能使用策略手段,提升資源綜合利用率,進(jìn)而減少使用耗時(shí),提升用戶效率,是產(chǎn)品賦能業(yè)務(wù)和提高用戶滿意度的一種有效方式。
因?yàn)闃I(yè)務(wù)場(chǎng)景的復(fù)雜多樣,在B端產(chǎn)品經(jīng)理在設(shè)計(jì)方案時(shí),沒(méi)有像C端產(chǎn)品一樣有競(jìng)品可以參考。但我們可以對(duì)問(wèn)題進(jìn)行深挖,多想想這個(gè)業(yè)務(wù)流程的本質(zhì)到底是什么要解決什么事(比如上面分析的流量調(diào)度問(wèn)題)。
總結(jié)一下,當(dāng)遇到不知如何設(shè)計(jì)的問(wèn)題,或者不確定產(chǎn)品方案是否正確時(shí),可以這樣做:
- 搞清問(wèn)題本質(zhì),聯(lián)想現(xiàn)實(shí)場(chǎng)景中本質(zhì)相同的生活模型,一針見(jiàn)血找到核心矛盾點(diǎn)所在。
- 借助現(xiàn)實(shí)場(chǎng)景中同質(zhì)問(wèn)題的解決辦法,融入當(dāng)前產(chǎn)品方案中,拓寬產(chǎn)品設(shè)計(jì)思路。
- 參考現(xiàn)實(shí)場(chǎng)景的實(shí)際效果,預(yù)計(jì)當(dāng)前方案效果是否符合現(xiàn)實(shí)模型,確認(rèn)產(chǎn)品設(shè)計(jì)的合理性。
生活場(chǎng)景模型,是在現(xiàn)實(shí)生活中被人無(wú)數(shù)次驗(yàn)證過(guò)的能解決問(wèn)題的有效手段。
而產(chǎn)品設(shè)計(jì)的本質(zhì),也是解決問(wèn)題。
寫(xiě)這篇文章是想分享自己在工作中解決問(wèn)題的思路,希望大家在工作時(shí),不妨多嘗試抽象類(lèi)比法,多想想事物的本質(zhì)。這樣,能使復(fù)雜問(wèn)題簡(jiǎn)單化,讓我們瞬間豁然開(kāi)朗!
作者:Fancy劉,現(xiàn)某金融科技公司B端產(chǎn)品經(jīng)理。
本文由@Fancy劉 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來(lái)自 Unsplash,基于CC0協(xié)議。
好