紅包是現在即時通訊工具必不可少的附屬功能之一,用戶點擊“紅包”按鈕,填上金額,再點擊發送,就能給親朋好友,員工下屬發送紅包。2014年微信推出“紅包”功能後,如何搶到“手氣最佳”成為一種經驗甚至是玄學。
但就是這麼一個簡簡單單的功能,其背後的邏輯卻出奇地複雜。
複雜的算法如果你參透微信紅包的算法,就很有可能搶到更多的金額。雖然微信官方沒有公布算法,但加不過網友們的數據樣本分析。通過100份樣本的調查抽樣,可以得出一些基本的結論:
1.滿足截尾正态随機數分布
大緻為在截尾正态分布中取随機數,并用這個随機數求和初一紅包總價值,獲得修正隐私,再用修正因子乘以所有的随機數,得到拼手氣紅包的具體數額。
這樣一來,随機的紅包就會呈現一些規律,低于平均值的紅包多,但不會偏離平均值太遠;高于平均值的紅包少,但遠大于平均值的紅包偏多。
2.越後面,紅包價值普遍更高
将1000元分成100份,均值為10,根據調查抽樣我們發現,在最後一個紅包出現之前,普遍平均值低于10,也就是說,一開始的紅包價值偏低的多,後續的紅包會不斷拉升紅包的平均值。
複雜的邏輯
除了算法,紅包的邏輯也相當複雜,我們舉幾個例子。
1.保證時效性
2014年的紅包,用戶看到紅包後,立即點擊就能看到金額。2015年搶紅包進行了功能升級,搶紅包分為拆和搶兩個步驟。用戶看到紅包後打開後,需要再次點擊才能查看到紅包金額。
這樣設計的原因是加一個判斷,第一個步驟能完成表明,當前紅包還有,隻有完成第二個步驟才算成功,避免用戶能打開紅包,卻沒有真的搶到紅包。
2.紅包“超賣”設計
我們經常看到一些電商平台會有秒殺活動,例如限時秒殺5件,在高并發場景下,極有可能出現明明限制5件,卻出現用戶秒殺了6件的情況,這種現象叫超賣現象。對商家而言,屬于超出預算的情況,如果商品單價低還好,如果過高顯然是非常緻命的。
紅包可能也容易發生類似的情況,明明隻發了10個紅包,卻有11個人領取。為了防止這一現象的發生,還要采取相應的技術手段加以應對。
3.确保交易一緻性
發紅包整個完整的步驟是:用戶點擊發送紅包,扣除賬戶餘額,對方收取紅包,存到餘額中。這個過程很容易發生中間人攻擊,比如用戶發送1元紅包,扣除餘額後,領取方變成200元并存到餘額裡。
為了防止這一現象的出現,接收方和發送方兩邊都會保存交易記錄,交易後交給第三方服務審計,确保交易過程的一緻性。
除以上三點,紅包功能還有很多邏輯,比如退款邏輯、紅包過期邏輯、網絡丢包的處理等等。許許多多的邏輯才構成了一個看似很小的紅包功能。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!