为什么别的程序员天天吃鸡 你却顿顿吃土?
消息来源:baojiabao.com 作者: 发布时间:2026-04-25

作者 | 倪家禹
责编 | 胡巍巍
上周七夕节的时候,我的暗恋对象邀我共进晚餐,这把我激动的!!!万年单身的我终于可以不再寂寞了。去了才知道,原来她被闺蜜们放了鸽子,奈何近期有喜事,需要找人一起喝酒,所以才有了我的出现。
当然我还是珍惜这难得的机会,到底是什么事如此迫不及待呢?主要有三件:
暗恋对象最近学习了 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)微专业学员,喜欢用数据挖掘生活中的小秘密。对数据研究有着敏锐的洞察力,善于把复杂的问题简单化,简单的问题流程化。希望大家通过数据感受生活的魅力。
声明:本文为作者投稿,版权归对方所有。
相关文章
B站怎么炸崩了哔哩哔哩服务器今日怎么又炸挂了?技术团队公开早先原因2023-03-06 19:05:55
苹果iPhoneXS/XR手机电池容量续航最强?答案揭晓2023-02-19 15:09:54
华为荣耀两款机型起内讧:荣耀Play官方价格同价同配该如何选?2023-02-17 23:21:27
google谷歌原生系统Pixel3 XL/4/5/6 pro手机价格:刘海屏设计顶配版曾卖6900元2023-02-17 18:58:09
科大讯飞同传同声翻译软件造假 浮夸不能只罚酒三杯2023-02-17 18:46:15
华为mate20pro系列手机首发上市日期价格,屏幕和电池参数配置对比2023-02-17 18:42:49
小米MAX4手机上市日期首发价格 骁龙720打造大屏标准2023-02-17 18:37:22
武汉弘芯遣散!结局是总投资1280亿项目烂尾 光刻机抵押换钱2023-02-16 15:53:18
谷歌GoogleDrive网云盘下载改名“GoogleOne” 容量提升价格优惠2023-02-16 13:34:45
巴斯夫将裁员6000人 众化工巨头裁员潮再度引发关注2023-02-13 16:49:06
人手不足 韵达快递客服回应大量包裹派送异常没有收到2023-02-07 15:25:20
资本微念与李子柒销声匿迹谁赢? 微念公司退出子柒文化股东2023-02-02 09:24:38
三星GalaxyS8 S9 S10系统恢复出厂设置一直卡在正在检查更新怎么办2023-01-24 10:10:02
华为Mate50 RS保时捷最新款顶级手机2022多少钱?1.2万元售价外观图片吊打iPhone142023-01-06 20:27:09
芯片常见的CPU芯片封装方式 QFP和QFN封装的区别?2022-12-02 17:25:17
华为暂缓招聘停止社招了吗?官方回应来了2022-11-19 11:53:50
热血江湖手游:长枪铁甲 刚猛热血 正派枪客全攻略技能介绍大全2022-11-16 16:59:09
东京把玩了尼康微单相机Z7 尼康Z7现在卖多少钱?2022-10-22 15:21:55
苹果iPhone手机灵动岛大热:安卓灵动岛App应用下载安装量超100万次2022-10-03 22:13:45
苹果美版iPhone可以在中国保修 从哪看怎么查询iPhone的生产日期?2022-09-22 10:00:07










