神分析:微信紅包先搶和后搶差距居然這么大!
春節是中華民族隆重的農歷新年 這是世界上規模最大的節日 在春節前后 炎黃子孫們不遠萬里衣錦還鄉 與親人們團圓 在此期間 中國的鐵路上會發生 地球上最大規模的人口遷徙 作為世界上最能吃最能玩的種族 聰明勇敢的中國人發明了非常多的娛樂活動 比如 貼春聯、放鞭炮、看春晚、接財神、吃餃子…… 以及……搶紅包…… 人們搶微信紅包的心態是一件很有趣的事 拼死拼活拿了幾分錢還激動到爆炸! 感覺就像是一幫人大老遠地好不容易歡聚一堂 然后他們一起在垃圾堆里撿礦泉水瓶 如果你在春節期間,愿意遠離微信紅包的誘惑,戒除自己的手機控,和好久不見的親戚們聊聊天,看看久違的春節聯歡晚會,你很快就會發現,還是微信搶紅包最好玩…… 看看近三年來的微信紅包數據就知道搶紅包有多么火! 去年光除夕一天全國人民就發出了80.8億個紅包! 圖1.部分重要節日的全國微信紅包數量 搶紅包已經超越了紅包本身,成為了一種獨特的社交方式,是中國人在春節前后釋放情感、滿足心理訴求的重要載體。 搶紅包也讓很多人深刻了解到,自己不僅窮、貪婪、聒噪、懶惰,而且運氣也非常糟糕。 不是吹牛,我周圍沒有人敢和我拼搶紅包手速。然而作為一個人品差到極點的人,我經常能在人均幾十塊的大紅包里穩穩地第一個拿下幾分錢。 這大概就是穩穩的幸福吧…… 相信許多人都和我一樣有一些直覺 比如搶紅包貌似后搶比先搶能拿到更多的錢? 比如搶紅包的金額是和人有關的? 老子要測試也不會給他們測試! 目前國內外關于搶紅包的理論研究十分匱乏,盡管許多人都認識到了搶紅包策略的重要性,但絕大部分人都只停留在了感性的、經驗的層面上! 我想我有必要對搶紅包這件小事開展系統的研究,把它提升到理論的高度!并給出搶紅包的最優策略! 下面,請大家跟隨我的思路,一點點破解搶紅包的奧秘。相信等你看完全文的那一刻,你會成長成一個和我一樣優秀的紅包教父。 一、微信紅包,先搶后搶究竟公不公平? 直接先亮出答案 不!公!平! 看到這里許多讀者可能會大吃一驚!不公平這還搶個屁??!那我應該咋辦??! 但微信紅包先搶后搶的確是有區別的! (我們所說的公平,是指隨機、均勻,先搶后搶沒有區別。比如抓鬮就是一個典型的公平規則,不管先抓后抓,每個人抓到的概率和分布都是一樣的。) 用一個很簡單的搶紅包實驗就可以證明 比方說有n個人搶一個(n+1)分錢的紅包,那結果肯定是某一個人搶到2分錢,剩下的人搶到1分錢。 (你說這不廢話么……勞資的抽屜原理在小學的時候就已經通關了) 但如果你真的發一個這樣的紅包你就會發現一個吼神奇的現象!我稱之為“末位紅包抽屜原理”(Last red bag drawer principle) 末位紅包抽屜原理:n個人搶一個(n+1)分錢的紅包,必然是前面的人都搶到1分錢,最后一個人搶到那個2分錢! 下面由我和我的4個小號為大家具體展示一下實驗結果 (1)2個人搶3分錢,是亞清搶到了2分錢 (2)3個人搶4分錢,最后一個人搶到2分錢 (3)4個人、5個人的情況,結論都是一樣的! 過去我們可能本能地認為,微信搶紅包無非就是把一個錢隨機分成幾份,然后隨機分給幾個搶紅包的人。但我的“末位紅包抽屜原理”已經充分證明了微信紅包先搶和后搶是有很大區別的!否則就不可能永遠只有最后一個人能拿2分錢! 雖然說現實生活中很少會有一個人發幾分錢紅包而不被打死的情況出現,但是我們的實驗已經為探索微信搶紅包的原理迎來了曙光! 二、先搶搶不到大的,后搶才能搶到大金額? 還是直接先亮出答案 是!這!樣!的! 看到這里許多讀者可能會大吃兩驚!微信怎么會出這么扯的設計! 但如果你仔細查查自己搶過的紅包就會發現,第一個搶的人永遠搶不到很大的數。我稱之為“先搶搶不到大紅包原理”(First rob rob no big red bag principle) 下面我和我的4個小號為大家帶來一組搶紅包實驗! 【實驗內容】我發50塊的紅包,給5個人搶。紅包發了210個,記錄每次第1個人搶到的金額。(搶的順序是經過打亂隨機的,以排除人品等干擾因素。) 結果表明,第一個搶的人搶到的紅包金額分布范圍是這樣的 圖2.第一個人搶到的微信紅包金額頻數分布直方圖 發現這其中的詭異之處了嗎? 5個人搶50塊紅包搶了210次,第一個人竟然永遠搶不到20塊以上的紅包!最高只搶到過19.88元! 也就是說,真正的大紅包都只會在后面出現,像這樣 為了進一步研究這其中的規律,我準備了大量資金,發個痛快! 【實驗內容】定義5個人的標準順序:畢導-亞清-小美-歐拉·王-梅大江。輪換他們的順序,在每一種順序下發50塊紅包,搶30次,共150次。記錄每次5個人搶的紅包金額,得到750個原始數據。(如下圖所示) 最終得到的五個人搶到紅包的金額范圍分布是這樣的 圖3.不同搶紅包順序搶到的金額頻數分布直方圖 這張圖已經可以告訴我們許多規律了
可怕!早在2014年我就已經開始暗自用打地鼠游戲練習搶紅包,最終習得一身技藝,指如疾風,勢如閃電,可以掃平所有群的所有紅包,江湖人稱“紅包霹靂手”! 然而現在看來,“先搶搶不到大紅包原理”已經注定了,正是我超凡的手速讓我輸在了起跑線上…… 我必須要繼續探究出一套最佳的搶紅包策略! 三、搶紅包和人品有關嗎? 在進一步實驗之前,我覺得首先得排除一個因素的干擾…… 世間萬物都有它運行的法則! 理論上講,你抽SSR和我抽SSR的概率是一樣的,你出敬業福的概率和我也是一樣的。但是這個世界就是會分出非洲人和歐洲人,就是有人敬業有人不敬業(我已經集齊五福了,我去年也集齊五福了的嘿嘿) 生活中的種種不公平讓我們不得不思考:除了概率之外,還有一種更重要的東西在左右著我們的客觀世界——人品! 5個人搶的150個50元紅包的結果是這樣的 圖4.五個人搶到的金額頻數分布直方圖 呃……至少五個人都能抽到大紅包……臉還不算太黑……那么究竟誰最厲害呢?請看下面的散點圖以及表格數據 圖5.五個人搶到的金額 5個人搶50塊,平均每人10塊錢 從圖上可以看出,5個人的平均值都是在10塊錢附近,標準差也都在6~7之間。 但是細細看看統計數據還是有明顯差異的…… 我的平均值只有9塊1!小美有10塊7!這差距也太尼瑪大了吧! 我的手氣佳次數也很低!而手氣最爛次數排名第一! 綜合看來,小美的人品最好,歐拉·王其次但是發揮不穩定,下來是梅大江、亞清,人品最差的就是我……可能人品和顏值是成正比的吧…… --“所以微信搶紅包這事和人究竟有沒有關系?。俊?/p> --“人品這種事情,如果能用理論算的話還叫人品嗎?” 四、搶紅包最優策略是什么! 人品這種虛無飄渺的因素還是撇開不談了,畢竟大過年的我們也很難在搶紅包之前突擊扶老奶奶過馬路來攢人品(攤手) 搶紅包的時候我們唯一能控制的就是先搶還是后搶!另外我記得之前微信群里經常有搶紅包的游戲,規則很簡單,就是搶到“手氣最佳”的人要繼續發紅包 所以接下來我們的研究任務是!
依然采取前面的那組實驗數據,在五種搶紅包順序下的原始數據是這樣的 圖6.五種順序下搶到的金額 直觀上看大家平均都在10塊上下波動 下面我們忽略人的因素,把五張圖的數據匯總到一張圖上! 圖7.五種順序下搶到的金額匯總 規律已經很明顯了! 均值:不論先搶后搶,均值都在10左右 標準差:后搶的標準差更大,可能搶到超級大紅包,也可能搶到超級小紅包 最大最小值:第一個搶的人超不過20,后搶才可能搶到超級大紅包 手氣:第一個搶的人“手氣最佳”的概率最高!手氣最差的概率最低! 所以搶紅包的最優策略如下: 不論先搶還是后搶,搶到的平均金額都是一樣的?。闾ゑR又在說廢話吼,不一樣還玩個屁?。?/strong> 如果你是一個風險規避者,一個連50塊錢都不敢拿來炒股的人,只想要穩穩當當地搶,就先搶吧!不然波動太大,如果你連續搶了好幾個1分錢可能就跳樓了。 如果你是一個風險偏好者,只是追求體驗搶到超級大紅包的快感,就后搶吧!你可能時不時地爆出一個超級大紅包傲視群雄! 如果你想多多抽到"手氣最佳"證明自己的人品,就先搶! 如果你在玩“手氣最佳發紅包”的游戲,卻又只想悶聲發大財,就后搶! 看到這里可能有人會質疑,你這不就只做了150個紅包實驗,樣本量太小,得出來的結果可能根本不具備普遍規律??! 但是反正大過年的閑得慌,我的探究當然不會就此停止! 五、微信究竟怎么設計的搶紅包? 按照正常的套路,搶紅包最簡單的辦法不就是把紅包的總錢數隨機分給幾個人么……但是微信偏不這么搞,就是一定要讓第一個人抽到的錢只能在0.01元到20元之間。 對于5個人搶50塊紅包而言,20元是個什么數? 在一篇《微信紅包的架構設計簡介》的文章中提到這可能是“平均值的2倍”(也就是說,每個能搶到的錢最多是當前剩余金額的平均值的2倍)雖然不明白微信為什么要搞這么復雜的一套規則,但是我們不妨拿數據檢驗一下這個規則對不對! (以下為理論推導,文科生可快進) (1)檢驗第一個人搶到的金額是否服從均勻分布 簡化:搶紅包問題本身是(¥0.01,¥0.02,…)的離散分布,在此為檢驗均勻分布,將其作為連續分布近似處理。 首先對每個人作為首搶時的數據分析,進行Kolmogorov-Smirnov檢驗,利用累積分布函數檢驗第一個人抽到的金額是否服從均勻分布。假設檢驗均通過,得到類似“畢導第一個搶時,畢導搶到的金額確定是均勻分布”的結論。 (2)檢驗是否有人品因素的干擾 看五人分別作為首搶時是否有個人因素導致搶到金額有分布上的差異,進行Anderson-Darling k-樣本檢驗,發現其實沒有。所以搶紅包次數足夠多的前提下,不存在臉帝光環。 (3)搶到的金額是多少到多少的均勻分布? 最小值肯定是0了,因為實際中已經知道有人不管紅包金額多大都只能搶到1分錢。 根據統計推斷的點估計理論中的極大似然估計知道,參數的極大似然估計是最大值。我們的210組搶紅包數據中,第一個人最大就搶到過19.88元。 但是極大似然估計往往低估了,采用貝葉斯估計的方法。先驗分布選共軛的帕累托分布,后驗均值是mN/(N-1)=210/(210-1)*19.88=19.975。 基本可以在統計學意義上斷定,均勻分布的右端點是20。 (4)后面搶的人也服從0.01~剩余均值2倍的均勻分布嗎? 根據第一個人的均勻分布可以遞推出第二個人的分布密度函數,進一步用類似方法檢驗第二個人搶的金額是否符合這個密度函數。檢驗同樣通過,第二個人的金額服從0.01~剩余均值2倍的均勻分布。當然從算法的簡潔性上來說,微信也不太可能給第一個搶和后搶設置不同的算法規則。因此我們有一定的理由相信微信紅包是按這個規則設計的。 至此基本可以給出微信設計的搶紅包規則了: 每個人能搶到的金額服從0.01到2倍剩余均值之間的均勻分布。 我們5個人搶50塊: 第一個人最多能搶到2*50/5=20元,比如他搶了5元,此時剩下45元。 第二個人最多能搶到2*45/4=22.5元,比如他搶了12元,此時剩下33元。 第三個人最多能搶到2*33/3=22元,比如他搶了17元,此時剩下16元。 第四個人最多能搶到2*16/2=16元,他和第五個人分這16元。 下面要考慮的問題是:這種規則產生的紅包,是否會導致先搶后搶均值相等,而后搶的方差更大? (以下是一大段的理論推導,文科生可快進) 將問題抽象為n個人搶一個S元的紅包 證畢,在微信紅包的“0.01~2倍剩余均值均勻分布”算法下,先搶后搶的均值相同,越往后搶方差越大。最后兩個人同分布。 六、閑得蛋疼 現在既然我們已經知道了微信紅包的算法原理……那就可以編程給自己發紅包看規律了…… 出于禮貌,我用matlab給自己發了五萬個紅包。五個人搶紅包金額分布圖是這樣的(縱坐標太大隱去了……) 圖8.不同先后順序搶到的金額分布圖(五萬次模擬) 圖9.不同先后順序搶到的金額匯總(五萬次模擬) 結果一切盡在掌握之中!均值相同,標準差變大,第一個人有最多的“手氣最佳”! 由于最近真的有人拉我玩“手氣最佳發紅包”的游戲,嚇得我趕緊給自己發了一千萬個紅包研究理論規律。 畢竟這個游戲里只搶不發悶聲發大財是墜吼滴,一抽到手氣最佳之前搶的錢都白費了。 圖10.不同先后順序下搶到的手氣最佳、最差(一千萬次模擬) 看來先后順序對抽到“手氣最佳”是有決定性影響的! 5個人搶紅包的時候,越先抽,抽到“手氣最佳”的概率越大!第1個人搶到手氣最佳的概率是21.6%,而最后倆人的概率只有19.2%!相反,第1個人搶到手氣最差的概率是16.6%,最后倆人的概率高達23.5%! 不過只有5個人搶的時候有這個規律。 當參與搶紅包的人數變化時,“手氣最佳”的概率隨著先搶后搶順序變化的規律也是不一樣的。 所以一幫人玩“手氣最佳發紅包”的游戲時
七、結論 微信搶紅包的規律
搶紅包的最優策略是
經過這么漫長的系統研究我終于得出了最優策略! 我很興奮地去和他們玩“手氣最佳發紅包”游戲了! 一幫辣雞,在我強大的概率論面前臣服吧! 我可以利用最優策略,故意先憋幾分鐘再搶哈哈哈哈我真是太天才了! 致謝 感謝清華大學統計中心一位不愿透露姓名的熱心同學對本文理論推導部分的指導和關懷。他嚴肅的科學態度,精益求精的工作作風,嚴謹的計算過程為本文提高了不少逼格。在此謹向他致以誠摯的謝意! 參考文獻 1、微信紅包的架構設計簡介,來源于QCon某高可用架構群整理,整理朱玉華 https://www.zybuluo.com/yulin718/note/93148 2、維基百科,Kolmogorov-Smirnov檢驗 https://en.wikipedia.org/wiki/Kolmogorov 3、維基百科,Anderson-Darling k-樣本檢驗 https://en.wikipedia.org/wiki/Anderson 4、均勻分布貝葉斯估計 Minka T P. Bayesian inference of a uniform 該文章在 2023/12/20 23:07:43 編輯過 |
關鍵字查詢
相關文章
正在查詢... |