【编者按】本文作者为蚂蚁金服人工智能部高级算法工程师墨眀(网名:沙漠之鹰),曾就职于三星研究院从事语音合成工作,擅长自然语言处理、网页爬虫和数据分析。本文为作者在加入蚂蚁金服之前的个人业余兴趣项目。本篇分析最先发表在其个人公众号“沙漠之鹰”上,网络转载阅读超过200万,分享话题主要是通过抓取公开资料,围绕当前北京机动车摇号这一社会热点展开。下面一起来看下,他是如何借助数据的力量去验证自己种种的假设和猜测的。
偶数月的26号中午11点到下午1点,沙漠君的手机上就会收到一条短信,不是中介和广告,但内容肯定是一样的:“很遗憾,该编码本次摇号未中签或摇号资格已过期”。二姨妈真是比大姨妈都准时!
几年过去了,在帝都辛苦挤地铁的你,是否和沙漠君有同样的疑问:
现在摇号到底有多难?
哪些人摇到了号?平均摇了几回?
有没有提升摇号概率的方法?
摇号算法是什么?是绝对公平的吗?
沙漠君用真实的数据,告诉你答案。
摇到号的概率是多少?
2016到2017年,北京每年各有15万个小汽车指标。新能源比例达到40%,普通号只剩9万个,一年6次,每次15000个。
但是!2016年第3次摇号,摇号池总数量是9917981!总摇号人数270.7万!如果你摇号次数在24次之内,那么本次摇到的概率为千分之一! 花166年摇一千次都不中的概率是37%!
每摇12次没中签,真的会像官方的说法,可能性增加一倍么?太天真!因为你增加,别人的也在增加。除非你是第一批参加摇号的人,否则会有更多的人比你增加更高的概率。因此,号是越来越难摇的。
五年间,摇到号的人数总共94万人。2011年时,每隔10个人就会有一个幸运儿,几年前买车确实比现在买车容易太多。看看这张图:

2012年和2014年算是摇号黄金期,每期都有接近两万人摇到号,可是到了2016年,这个数字降为1.3万。然而,下面这张图绝对让你哭晕!

当然,每年增加的摇号人数基本是线性的:

从第一期的18万,到2016年6月份的270万,每年增加五十万人。我们难以确定新增加的是哪些人数,按照政策,学生可能占了相当大的比重。
那么,那些摇到号的人,总共摇了多少次呢?下面这张图回答你:

有接近九万人第一次就摇到号了,还有190人摇了整整51次才拿到号,这个曲线非常地光滑,几个凸起点正好是调整中签率的门限,非常符合数学的美感。
有14201人,51次摇号没有一次成功。真正的幸运儿是这些人:在最近的这一期,以1/1000的概率第一次抽签就拿到了号,一共90人。

摇号程序是否公平?
作为程序员的沙漠君,被激发了昂扬的斗志,我们来验证一下摇号程序是否公平。
通过使用沙漠君自己开发的Hawk爬虫程序,采集了从2011年到2016年51期每期的摇号池列表和随机种子。同时,我还下载了它的摇号程序,用于分析其摇号算法。程序使用C#编写,沙漠君破解它的源代码简直不要太容易。
为了能让不懂程序的读者也能理解,我用尽量简明的语言描述其摇号方法:假设有5人摇号,每个人都有唯一的ID,1-5,用户2,4有两倍中签率,用户3有3倍中签率。

大流量&高并发
互联网应用实践在线峰会
应对超大流量、超高并发的绝密实践,最适合技术开发者的夜间技术交流、每场1.5小时互动分享、素材第一时间公开、全开放注册,我们希望通过在线峰会这样的新模式,广聚开发者,共建技术分享的生态。
[ 09月21日 ] 阿里聚石塔电商云容器服务应用和实践
[ 09月21日 ] 如何打造应对超大流量的负载均衡
[ 09月21日 ] 聚星台:客户运营核心大数据与算法技术
扫码直入报名页:


