Python花呗分析模型温馨提醒:支出不规范,收入两行泪

全世界只有3.14 % 的人关注了

数据与算法之美


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


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


640?wx_fmt=jpeg


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


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

 

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


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


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


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


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

 


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

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


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

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


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

640?wx_fmt=jpeg


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

640?wx_fmt=jpeg


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

640?wx_fmt=png


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

640?wx_fmt=jpeg

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


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

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


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


基本生活支出:

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

购物支出:

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

娱乐支出:

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

学习支出:

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

其他支出:

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

640?wx_fmt=jpeg不要笑,我知道这是一名标准的月光族……640?wx_fmt=jpeg



3.模拟收支是否平衡

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


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

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

640?wx_fmt=jpeg

文末有完整代码和教程



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

640?wx_fmt=gif


模拟结果如下:


640?wx_fmt=png

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


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


第二回合:允许分期


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


640?wx_fmt=jpeg

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


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

640?wx_fmt=jpeg

文末有完整代码和教程


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

640?wx_fmt=png


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

640?wx_fmt=png

 

640?wx_fmt=png


640?wx_fmt=png

 

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


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

640?wx_fmt=png


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

640?wx_fmt=jpeg

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

 640?wx_fmt=jpeg

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



4.考虑额度后如何吃土

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


640?wx_fmt=jpeg

图表显示,在第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识破花呗还款套路》

配练习材料

640?wx_fmt=jpeg


课程大纲

1 Python语言入门

2 每月净收入模型构建

3 每月支出模型构建

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

5 负债积累问题

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



Part.3

免费资料和代码分享


1.文中所有完整代码

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

640?wx_fmt=jpeg


Part.4

答疑助力+福利获取方式


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


640?wx_fmt=png

群号:676882466


席位有限,先到先得~


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/301728.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

fiddler插件开发

Fiddler 是优秀的抓包工具,有着众多的优秀插件。Fiddler 软件是由C#语言开发的,运行在.net Framework 框架之上,所以我们也可以使用vs来开发自己的Fiddler插件,下面就介绍fiddler插件开发基本步骤。1.打开visual studio 创建一个V…

2500 万行的代码就问你敢不敢动?!

全世界只有3.14 % 的人关注了数据与算法之美近日,某网友在 Hacker News 上发起了一个 “你见过的最糟糕的代码是什么?” 的问题,引起了广泛关注和讨论,评论数已接近600条。其中,一位 ID 为“oraguy”的程序员对 Oracle…

WPF Grid添加边框的两种方法

最近项目中使用到了Grid表格,居然要加边框,查了一下,grid原生居然是不支持实线边框的。。最终我还是实现了效果,看看吧:左边是直接写的每行一个border,每列写一个border,这样在行列比较少的时候还行,如果多…

当初互联网大佬给的几块钱“羊毛”,现在又要我们加倍还回去!

全世界只有3.14 % 的人关注了数据与算法之美对于上班族来说,春节早就过去了,今天已经是上班的第N天了。不知道大家在春节七天有没有走进电影院呢?在春节档期的八部电影各有各的特色,数据汪一一看完之后真是爽歪歪!但是…

在 dotnet runtime 的容器中安装 dotnet global tool

在 dotnet runtime 的容器中安装 dotnet global toolIntro.NET Core 从 2.1 开始支持 Global tool, 借助 global tool 我们可以通过命令行来实现很多功能,微软提供的一系列的 dotnet 诊断工具也都提供了 global tool,我们可以通过 global tool 比较方便的…

Asymptote 学习记录(2):例子阅读

学习编程的一个有效方式是去读别人写的代码.我学习了这里的代码.代码虽多,但是简单.代码如下(稍微做了修改): import settings; pdfviewer"/usr/bin/okular"; outformat"pdf"; size(400); texpreamble("\usepackage{CJK}\AtBeginDocument{\begin{CJK}…

如何启发孩子的数学思维?你想要的答案或许在这!

▲数据汪特别推荐点击上图进入玩酷屋记得寒假时,超模君七岁小表弟来问了我一道题目:下面线段有多少条?首先我问了他什么是线段?他说:两端有端点,不可以伸长的直线。AB就是线段。我慢慢引导,假如…

.NET Core 服务在 ARM64 服务器中的部署

Linux 服务器 CPU 架构主要可分为:X86_64/AMD64、ARM64/AARCH64 两大类,大多情况使用的都是基于 AMD64 CPU 架构的服务器。但随着国产操作系统、CPU 等自主生态打造的应用产品得到越来越多的用户认可和应用,如:华为鲲鹏、统信 UOS…

php 读取onedrive文件夹,oneindex

oneindexOnedrive Directory Index功能:不用服务器空间,不走服务器流量,直接列onedrive目录,文件直链下载。demochange log:18-03-29: 更新直链获取机制、缓存机制,避免频繁访问的token失效18-03-29: 解决非英文编码问…

50种奇妙装置玩法,将STEM教育一网打尽

▲数据汪特别推荐点击上图进入玩酷屋致砖《小小机器人》套装全新首发电动机械的完美结合先来看看视频过过眼瘾吧来自美国STEAM教育让孩子跨学科学知识积木向来是STEAM教育很重要的一部分,因为它涉及到了多种学科:要搭建得稳固——这是工程学;…

ubuntu php7.4,在Ubuntu 18.04/19.04/16.04版本上安装PHP 7.4的简单方法

以下介绍安装PHP 7.4的方法非常的简单,适用于Ubuntu 18.04/19.04/16.04版本上,所安装的版本是PHP 7.4.0 RC1,只需要添加PHP ppa存储库并运行相关命令即可完成安装。一、添加PHP ppa存储库我们将添加ppa:ondrej/php PPA存储库,它具…

通过Dapr实现一个简单的基于.net的微服务电商系统(十七)——服务保护之动态配置与热重载...

在上一篇文章里,我们通过注入sentinel component到apigateway实现了对下游服务的保护,不过受限于目前变更component需要人工的重新注入配置以及重启应用更新component等等原因,对于真实的环境运维稍有难度,最近我根据sentinel-gol…

NASA成立寻找外星人小组,三全水饺回应猪瘟,微波炉+葡萄=爆炸,94年故宫首次晚间开放,这就是今天的大新闻!...

元宵节刚刚过完汤圆也吃了好几碗是时候来回忆下发生了什么下面是今天的大新闻报!故宫网站崩了,被众多人“围攻”! (搜狐新闻)此前,故宫94年来首开夜场”的消息刷屏了!故宫将在正月十五、十六开夜…

wpf 可以取消的单选checkbox

利用radioButton的groupName分组互斥。。再解决radiobutton的取消选择的问题。给radiobutton加了一个像checkbox的样式 2个方式&#xff1a; 效果图 第一种usecontrol&#xff1a; xaml&#xff1a; View Code <RadioButton x:Class"GEMS.Windows.Controls.UserContro…

表格高亮

引用&#xff1a;http://blog.163.com/ms8712126/blog/static/1899099120122934023200/ //js实现隔行变色window.οnlοadfunction(){var otaldocument.getElementById("otable");for(var i0; i<otal.rows.length; i){ if(i%20){ otal.rows[i].className"e…

大数据人工智能时代,这个行业终于爆发了!

全世界只有3.14 % 的人关注了数据与算法之美这个冬天的程序员可谓是受到了心理和生理上的双重折磨&#xff0c;不仅天气冷&#xff0c;寒冬还见了鬼一样的笼罩着互联网&#xff01;正如老话所说&#xff0c;哪有稳定的工作&#xff0c;只有稳定的能力。这个冬天上午还在改bug下…

弃码而去

题图来自溪源2017年拍摄的照片。弃码而去1那是2015年的一天。下午5点40&#xff0c;我收拾完手头上的工作&#xff0c;准备关机回家时&#xff0c;qq上突然弹出的窗口吸引了我的注意。“源哥&#xff0c;我能跟你聊一下么&#xff1f;”我点开一看&#xff0c;发现给我发消息的…

config.php开启redis,微擎如何开启redis,redis开启方法详解

资源来源网络&#xff0c;如果需要授权&#xff0c;请大家更换源码&#xff0c;模块仅供学习&#xff0c;如需商用请购买正版授权&#xff0c;本栏目不提供技术服务&#xff0c;积分不够请签到&#xff0c;或者会员中心投稿源码一、使用5G云宝塔定制版的很多问微信怎么开启redi…

对不起,你被裁了

全世界只有3.14 % 的人关注了数据与算法之美在这互联网高速发展的时代新词层出不穷不过说到造词能力中国肯定是当仁不让的就连裁员这件事都能玩出花来今天数据汪就给大家普普及一下那些关于“裁员”的黑话美团美团外卖&#xff0c;裁员真快不久前&#xff0c;有美团员工在脉脉上…

c#爬虫-使用ChromeDriver 所见即所得

问题最近在做爬虫的时候发现很多网页都是浏览器看得见&#xff0c;但是源文件是看不到的&#xff0c;也就是所谓的异步加载。这时候如果我们需要那些异步内容&#xff0c;要么是了解他的规则&#xff0c;进行条件的组合进而再次进行http请求&#xff0c;得到数据&#xff1b;这…