當前位置:
首頁 > 科技 > 為什麼別的程序員天天吃雞,你卻頓頓吃土?

為什麼別的程序員天天吃雞,你卻頓頓吃土?

作者 | 倪家禹

責編 | 胡巍巍

上周七夕節的時候,我的暗戀對象邀我共進晚餐,這把我激動的!!!萬年單身的我終於可以不再寂寞了。去了才知道,原來她被閨蜜們放了鴿子,奈何近期有喜事,需要找人一起喝酒,所以才有了我的出現。

當然我還是珍惜這難得的機會,到底是什麼事如此迫不及待呢?主要有三件:

暗戀對象最近學習了 Python 數據分析,換了一份月薪 1W 的工作,成為了一名優秀的數據分析師,並且公司每月會根據績效給予 1500 元左右的獎金;

暗戀對象在世界盃期間,參與了體育競猜遊戲,幸運地選中了法國隊,還清了螞蟻花唄巨額欠款;

暗戀對象說,有錢了,可以隨心所欲地浪,不用再擔心還不起花唄吃土了,所以今天她請客。

對於前兩件事,無疑是難得的。但第三件,為了防止她過度揮霍導致債台高築,我決定用 Python 進行一次模擬測算,默默提醒她,體現我的貼心。

利用剛學會的蒙特卡洛原理,我決定建立收入支出模型進行測算:如果當月花費全部由花唄支付,當月花唄欠款大於當月可支出收入時,就要「吃土了」。預設計算 120 個月(十年),假如十年都沒能吃上土,那就代表願望成真。

收入多少:每月凈收入模型

每月的凈收入公式如下:

凈收入=月薪-五險一金+獎金-個人所得稅

其中,五險一金基數為月薪,個稅基數為扣除五險一金後,月薪與獎金的和。

上海市五險一金繳納係數:

個稅政策:

獎金的數學模型設為以 1500 元為均值、200 元為標準差的正態分布:

據此,用 Python 建立計算每月凈收入的模型如下:

deftax(salary_sum):

ifsalary_sum

return

elifsalary_sum

return(salary_sum -3500) *0.03

elifsalary_sum

return(salary_sum -5000) *0.1+45

elifsalary_sum

return(salary_sum -8000) *0.2+345

elifsalary_sum

return(salary_sum -12500) *0.25+1245

elifsalary_sum

return(salary_sum -38500) *0.3+7745

elifsalary_sum

return(salary_sum -58500) *0.35+13745

else:

return(salary_sum -80000) *0.45+22495

definsurance(salary):

ifsalary

return(salary - salary *0.175)

else:

returnsalary -3744.58

deffinal_income(s,b_avg):

salary = s

salary_get = insurance(salary)

bonus = pd.Series(np.random.normal(loc=b_avg,scale=200,size=120))

.map(lambdax: round(x,2))

salary_sum = salary_get + bonus

income = salary_sum - salary_sum.apply(lambdax : tax(x))

returnincome

花費多少:每月開支模型

根據暗戀對象的自述和我對她的深刻了解,我模擬出了她每月開支的模型。

基本生活支出:

以她奢侈的生活,一天 100 不在話下。但由於是基本支出,變化也不會太大。我設定以 3000 元和 3500 元為限,均勻分布。

購物支出:

暗戀對象有句名言,「工資一分二,購物拿一半。」所以,模型設定為以 5000元為均值,500 元為標準差的正態分布。

娛樂支出:

暗戀對象閨蜜眾多,每周一次的 girl』s night 是不能少的,一次至少花個 100,多則 300 不過分吧。所以,模型設定以 400 元和 1200 元為限,均勻分布。

學習支出:

愛學習,應該是暗戀對象少有的優點,某在線平台課程,價格大概在 100 元到 500 元不等。所以,這個也可以設定個均勻分布的模型。

其他支出:

每個月總會有些意外什麼的,比如出門掉了個錢包等等。所以,為了計算儘可能接近真實,我設定 500 元為均值,40 元為標準差的正態分布模型。

綜上,總支出=基本生活+購物+娛樂+學習+其他

嘖嘖,大概是一名揮霍無度的月光少女吧。

是否吃土:每月收支模型

下面,我們正式開始模擬每月的收支情況,看看要不要吃土。

整理幾個約束條件:

每月先還欠款,再消費。

所有的支出除還款外,都可以使用花唄透支。

當這月的收入小於等於需要還款的金額,就代表你要吃土了。

第一回合:不使用分期功能

當月支出,下月需全部還清。演算法模型如下:

efcase_a():

data_1 = []

foriinrange(,120):

if-debt[i] >= income[i]:

print("第{}個月,沒錢了,要吃土了!".format(str(i+1)))

break

ifsaving[i] >=:

money = saving[i] + income[i] + debt[i] - expense[i]

ifmoney >=:

saving[i+1] = money

else:

debt[i+1] = money

data_1.append([i+1,income[i],debt[i],expense[i],saving[i+1],debt[i+1]])

result_a = pd.DataFrame

(data_1,columns=["月份","收入","需還貸款","支出總計","本月余錢","欠債"])

returnresult_a

為了使結果更為精確,結合以上收支模型我進行了 1 萬次模擬,模擬的過程是這樣的:

模擬結果如下:

橫坐標代表第 x 個月要吃土;柱形圖高度 h 代表 1w 次模擬中,結果恰好為第 x 個月要吃土的模擬次數。

顯然,在不分期借貸的情況下,她幾乎會在一年後面臨吃土,而最快只要 6 個月。那麼,可以分期會不會好一點呢?

第二回合:允許分期

分期相當於把當月需要還的款項,分攤到之後數個月,當月的負擔減小了,但代價是支付一定的利息。此時我快速翻出了花唄的利率表:

螞蟻花唄的利率表:

看明白了嗎?數學好的可以仔細算算。現在餘額寶年化 3.5%,而花唄分期10%!

如果每期欠款都做分期償還,則演算法模型如下:

defcase_b():

data_1 = []

foriinrange(,1200):

if-debt[i] >= income[i]:

print("第{}個月,沒錢了,要吃土了!".format(str(i+1)))

break

ifsaving[i] >=:

money = saving[i] + income[i] + debt[i] - expense[i]

ifmoney >=:

saving[i+1] = money

else:

money_piece = (money+ money*0.025)/3

debt[i+1] = money_piece + debt[i+1]

debt[i+2] = money_piece + debt[i+2]

debt[i+3] = money_piece + debt[i+3]

else:

money = income[i] + debt[i] - expense[i]

ifmoney >=:

saving[i+1] = money

else:

money_piece = (money+ money*0.025)/3

debt[i+1] = money_piece + debt[i+1]

debt[i+2] = money_piece + debt[i+2]

debt[i+3] = money_piece + debt[i+3]

data_1.append([i+1,income[i],debt[i],expense[i],saving[i+1],debt[i+1]])

result_b = pd.DataFrame

(data_1,columns=["月份","收入","需還貸款","支出總計","本月余錢","欠債"])

returnresult_b

同樣一萬次模擬。先來看看分期三月的情況:

果然效果顯著,大大延緩了吃土的日子,可以盡情揮霍 20 個月。

分期六、九個月和一年的情況分布在圖上是這樣的:

注意圖上標註的「平均 XX 個月後吃土」。結果已經很明朗了,雖然沒有達到預定的十年吃不上土的標準,但是分期時間越長,可以盡情揮霍不吃土的時間就越長,表明通過透支、借貸,能夠大大延緩面臨吃土的時間。

揮霍四年才會破產,已經大大地出乎我的意料。並且我相信,我在這段時間內,能靠自己的天分,從「高帥」變成「高富帥」,她愛上我,嫁了我,吃土的問題,就可以迎刃而解了!

曾經,有人和我說,「還完花唄,月月吃土!」,我現在通過測算,可以很肯定地說,這不存在!只要敢分期,不怕沒錢花。

......但是當我打開我的花唄首頁時,我發現一個問題:我的信用總額度只有 1.5 萬:

我選取了分期十二個月、一萬次模擬中的一次數據,看了下吃土前夕最後 12 個月欠款項總額:

有誰螞蟻花唄額度是 6 萬的?看她的樣子就不像,只能繼續研究下了。

考慮實際:有額度限制的收支模型

這次我對分期十二月的演算法增加一個限制,當未來 12 個月欠款金額大於等於 1.5 萬,則剁手,不再使用花唄。我截取了額度用盡時的時間點。

圖表顯示,在第 20 個月額度用盡,未來 12 個月所需償還的貸款總額為 16544 元,符合正常額度。而當月需還 2291 元,而後每月遞減。2000 元的還款,絕對不會讓我的暗戀對象吃土,只是,或許當月 shopping 額度,就沒那麼多了。

當然,真實情境可能更為糾結,當月初還完款,總會有部分額度恢復,那麼是不是又可以透支起來了呢?這真是滿滿的套路啊!

花唄會誘使你儘可能的使用完每一份額度,但絕不會允許你還不上。所謂「有了花唄,再也不用吃土!」只是揮霍無度,過度透支,但又樂在其中的錯覺罷了。

彩蛋:同時使用多個平台?

有些世外高人,想出了一個絕妙的主意:市面上借貸平台,又不止花唄一家,只要在手機上裝上足夠多的 App ,沒了花唄還有買唄、用唄......疊加起來,額度限制就不是問題了!

這......你肯定沒有好好看文章,我來給你回顧下!

選取分期十二個月、一萬次模擬中的一次數據:第 55 月以後,需要還款的金額,就超過了當月收入(開始吃土),圖上是每個月需還款的數量。從此時開始,是不能用借貸平台的,並且當月就需要還款 9000+。

在這段令人憂傷的時間裡,我建議任何想在刷爆邊緣瘋狂試探的小夥伴們,學一首歌,捧一隻碗,買一張地鐵票,遨遊一下上海的地下世界。

作者:數據俠倪家禹,城市數據團特約撰稿人,數據分析師(Python)微專業學員,喜歡用數據挖掘生活中的小秘密。對數據研究有著敏銳的洞察力,善於把複雜的問題簡單化,簡單的問題流程化。希望大家通過數據感受生活的魅力。

聲明:本文為作者投稿,版權歸對方所有。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

程序員,技術債你還清了嗎?
Windows 7 終究活成了 XP 的樣子

TAG:CSDN |