Py学习  »  Python

用Python预测你的花呗可以用到什么时候

Python程序员 • 5 年前 • 776 次点击  

春节结束,离开家里混吃混喝的怀抱,我又开始了用花呗、还花呗的无限循环。


花呗给人一种“有钱”的感觉,我不禁思考:像我这种发工资前靠花呗活着,一发工资就还花呗的平静什么时候会打破,我要是还不起花呗了怎么办?



我决定用Python建立模型,看看以我目前的收入情况,什么时候会面临吃土的状况。


利用蒙特卡洛原理,我决定建立收入支出模型进行测算。先梳理一下基本情况:

 

1、基本收入:我的月薪是税前1W,并且公司每月会根据绩效给予1500元左右的奖金,做的多给的多;


2、吃土条件:假设全部花费由花呗支付,当月花呗欠款大于当月可支出收入时,就要“吃土了”;


3、不吃土条件:预设120个月(十年),假如十年都没能够吃上土,那就代表愿望成真。


以这个逻辑,我可以建立收入-支出模型并用Python代码实现。


蒙特卡洛原理,又称随机抽样或统计试验方法,使用随机数(或更常见的伪随机数)来解决很多计算问题,将所求解的问题同一定的概率模型建立关系,用计算机实现统计模拟或抽样,以获得问题的近似解,并以赌城“蒙特卡洛”命名。

 


1.建立每月到手收入模型

在上海,我的到手收入是这样组成的:


净收入=月薪-五险一金+奖金-个人所得税

*五险一金基数为月薪,个税基数为扣除五险一金后,月薪与奖金的和。


上海市五险一金缴纳系数:


个税政策随着收入的上升税率如下(调整前):


奖金的数学模型设为以1500元为均值、200元为标准差的正态分布:


综合以上信息,我用Python建立计算每月净收入的模型如下:

即使不懂python语言,会一些英语也可以看出我根据上述信息,构建了名为“final_income”的函数。文末有完整代码和教程。


2.建立每月花呗支出模型

根据我对自己深刻的理解,我模拟出每月在哪些项目上支出以及如何支出:


总支出=基本生活+购物+娱乐+学习+其他


基本生活支出:

在上海的基本支出,一天100不在话下,变化也不会太大。我设定以3000元和3500元为限,均匀分布。

购物支出:

“工资一分二,购物拿一半。”我是一个特别爱买买买的人,所以,模型设定为以5000元为均值,500元为标准差的正态分布。

娱乐支出:

每周一次的朋友会面是不能少的,一次至少花个100,多则300不过分吧。所以,模型设定以400元和1200元为限,均匀分布。

学习支出:

爱学习应该是我的优点,某在线平台课程价格大概在100元到500元不等。所以,这个也可以设定个均匀分布的模型。

其他支出:

每个月总会有些意外什么的,比如出门掉了个钱包等等。所以,为了计算尽可能接近真实,我设定500元为均值,40元为标准差的正态分布模型。

不要笑,我知道这是一名标准的月光族……



3.模拟收支是否平衡

有了收入支出,我就可以计算是否能收支平衡了。


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

当月支出,下月需全部还清。算法模型如下:

文末有完整代码和教程



为了使结果更为精确,结合以上收支模型我进行了1万次模拟,模拟的过程是这样的:


模拟结果如下:


横坐标代表第x个月要吃土;柱形图高度h代表1w次模拟中,结果恰好为第x个月要吃土的模拟次数


显然,在不分期借贷的情况下,我几乎会在一年后面临吃土,而最快只要6个月。那么,可以分期会不会好一点呢?


第二回合:允许分期


分期相当于把当月需要还的款项分摊到之后数个月,当月的负担减小了,但代价是支付一定的利息。此时我快速翻出了花呗的利率表:


看明白了吗?数学好的可以仔细算算。现在余额宝年化2.5%,而花呗分期10%!!!!


如果每期欠款都做分期偿还,则算法模型如下:

文末有完整代码和教程


以分三个月还清债务为例,一万次模拟后,这样的方式的确大大延缓了吃土的日子。最早12个月后才会面临吃土问题。平均挥霍20个月。 


分六个月、九个月和十二个月还款的情况分布在图上是这样的: 

 


 

注意图上标注的“平均XX个月后吃土”。结果已经很明朗了,虽然没有达到预定的十年吃不上土的标准,但是分期时间越长,可以尽情挥霍不吃土的时间就越长,表明通过透支、借贷,能够大大延缓面临吃土的时间


挥霍四年才会破产,已经大大地出乎我的意料。并且我相信以我的数据分析能力,4年后我的收入肯定已经大涨了。


但是当我打开我的花呗首页时,我发现一个问题:我的信用总额度只有1.5万

我选取了分期十二个月、一万次模拟中的一次数据,看了下吃土前夕最后12个月欠款项总额:

 

……我的额度根本不够,看来吃土无法避免。



4.考虑额度后如何吃土

这次我对分期十二月的算法增加一个限制,当未来12个月欠款金额大于等于1.5万,则剁手,不再使用花呗。我截取了额度用尽时的最可能时间点课欠款额,进行了简单计算:


图表显示,在第20个月额度用尽,未来12个月所需偿还的贷款总额为16544元。符合正常额度。而当月需还2291元,而后每月递减。


2000多元的欠款不多,以我目前的状况肯定能负担,看来花呗的额度有控制风险的作用,不至于让我没钱用,也不会让我欠下巨额款项。


经过一番计算,我终于意识到:道路千万条,数据第一条。支出不规范,收入两行泪。

支付宝说就算《流浪地球》里杭州没了,花呗还是要还的。


只有继续做好我的Python数据分析工作,升职加薪,才能让我彻底摆脱吃土的可能性所以,你要不要加入我,来听我是如何进入数据分析行业,并亲手计算自己的收入-支出模型


网易云课堂联合城市数据团送出免费福利,新年开始,来听听免费的直播课程体验成为一名专业数据分析师的快感:


Part.1

免费直播课

第一场:

《数据图表思考:辅助过程or结果表达?》

2月21日 周四 20:30


直播大纲

1 数据表达有多重要?

2 数据图表的几种形式及意义

3 面向分析过程与面向结果表达的逻辑与区别

4 案例演示:全套数据工作的图表制作流程

 

第二场:

《是什么成就年薪30万的数据分析师?》

2月27日 周三 20:00


直播大纲

1 数据的价值体现在哪里?

2 多元数据分类解析

3 数据的整理与收集 —— 数据爬虫

4 应用场景剖析:合理的数据+可行的方案


Part.2

《一周体验课:用Python识破花呗还款套路》

配练习材料


课程大纲

1 Python语言入门

2 每月净收入模型构建

3 每月支出模型构建

4 不同情况下的花呗还款场景模拟

5 负债积累问题

6 如何用图表讲好一个故事?(彩蛋)


Part.3

免费资料和代码分享


1.文中所有完整代码

2.【6G】数据分析综合学习资料


Part.4

答疑助力+福利获取方式


扫码加入QQ群,即可免费获取以上所有福利



群号:676882466


席位有限,先到先得~


点击【阅读原文】,领取福利!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/29169
 
776 次点击  
文章 [ 1 ]  |  最新文章 3 年前