用python“科学”预测下《哪吒》票房!

基于python的电影票房预测系统设计与实现 摘 要近些年来,随着电影行业变得越来越热门,也为影院带来不小的票房收入。传统的影院都是依靠个人经验进行排片,但是由于影片的票房收入可能受多种因素的影响,排片多的电影最后的票房会远低于预期值,导致影院因安排失误而导致大量的票房损失。 阅读详情

 最近几天,朋友圈和微博被《 哪吒之魔童降世 》刷屏了。不少看过的朋友都成为“自来水”,力荐此片。

而它的市场表现也很给力, 上映首日即破亿,5天超10亿 ,目前已成为国产动画片最高票房。

于是很多人开始猜测,最终的票房会达到多少?一开始有人预测十几亿,后来普遍认为超20亿,到现在甚至有人给出了40亿的预测。

 

 

 

 

Python资源共享群:484031800

今天我尝试用“科学”一点的方法也来预测一下。如果最终结果有幸言中,还望大家帮忙转发点赞支持一下。

事先说明,我还没有去看《哪吒》,所以在预测中并无个人偏好。对于纯数据分析来说,这是个好事,让我可以做一个没有感情的杀手分析师。

相关的代码、数据、原图已上传,获取方式见文末。(还有小彩蛋)

----

截至发稿时(8月2日)是《哪吒》上映第8天,实时票房15亿多,前 7日 票房 14.68亿 。

一种粗糙的预测方式就是: 找一找之前类似电影这个时间的票房是多少,按倍数乘一下 。

但这里有个问题,不同电影的票房走势是不一样的。以下是我们从 猫眼票房 上随手找的几部大片或类似电影,他们的票房走势:

 

 

 

 

 

注:零点首映场的数据被算在了首映前一天,这里我们做了个人工处理,把它合并到了首映日。并且没计算之前的电影数据。这是为了后面的预测分析做准备。

从图上可以看出,有的电影在 上线后会有一小波增长,并且在之后的周末和假日都会向上波动 ,这通常是上映后口碑较好,吸引到更多观众并且排片增加的影片;而有的电影,则是 上映即巅峰,之后一路下落,甚至没啥反弹 ,这其中不乏票房很高的大片,一般是阵容强大/题材吸引人/早期宣发做得好,但观影感受却低于预期的影片。

这里发现一个特别的案例:《白蛇:缘起》,它是少有的上映后票房持续呈上涨趋势的影片。然而却在春节档到来之际突然下线,票房戛然而止,实在可惜。

所以拿不同的电影来比较,结果也会差很多。比如常用来作对比的《大圣归来》,前7日票房累计为2.99亿,总票房9.56亿,按比例算一下《哪吒》票房就是 近47亿 ;而拿《流浪地球》来作为参考,前7日票房累计为23.6亿,总票房46.55亿,结果就是 28.9亿 。若是再换做《白蛇》或者《爱情公寓》,那更是相去甚远。

所以我想到的方法是: 通过对历史票房数据进行多项式曲线拟合,建立一个票房走势的“模型”,再把现有的票房套进模型里做计算 。

这里用到的是 numpy 库 polyfit 和 poly1d 方法,根据已有数据,利用最小二乘法得到拟合曲线的方程和系数。

np.poly1d(np.polyfit(x, y, n))

对于上述9部电影的拟合效果(红线为拟合结果):

 

 

 

 

 

对于新上映的电影,数据还太少,直接拟合没有意义。所以我们选择其他电影拟合出的曲线,进行“缩放”,让它适合现有的数据。

这里用 scipy 库的最小二乘函数 leastsq ,将其他电影拟合出的曲线作为基础(而非通用的多项式),对《哪吒》的已有数据进行拟合。

def func(x, p):  # 拟合函数
    A, k = p
#     return A * z(k * x) # 增加x
    return A * z(x)  # z为其他电影算出的模型
def residuals(p, y, x):
    #实验数据x, y和拟合函数之间的差,p为拟合需要找到的系数
    return y - func(x, p)
plsq = leastsq(residuals, p, args=(y, x))

如果用《大圣归来》的曲线,同时假设上映60天,算出来结果是 41.3 亿 。

 

 

 

 

 

或许那个 41 亿的预测就是这么出来的。不过《大圣》的票房量级要相对少很多,所以走势曲线也相对更“平缓”。直接套用在《哪吒》上,系数是 4.4 倍 ,我觉得这个误差是比较大的。实际票房不出意外的话,应该达不到这么高。

换做《流浪地球》再试下,结果 27.6 亿 。

 

 

 

 

 

这个结果我觉得更合理些。因为:

  1. 都是预算紧缺情况下完成的高质量作品
  2. 上映后都有比较好的口碑传播,形成现象级话题
  3. 都有知名度较高的题材(刘慈欣/哪吒)
  4. 都在热门档期(春节/暑期)

如果在现有数据上, 加上这个这周末的三天猜测数据 (2亿/2.5亿/2.5亿,我觉得这个数据算是比较保守了),再次进行拟合。那么结果就会达到 29.9 亿 。

 

 

 

 

 

考虑到《哪吒》的题材相对《地球》更适合全家观影,并且暑期档的时间更长,同期竞争较小,所以我觉得,它的曲线应当比《地球》更乐观, 破 30 亿问题不大 。

因此,就目前的状况来看,我的预测是 介于 30~40 亿之间 (比《地球》拟合的高,但比《大圣》拟合的低),取个折中就是 略高于 35 亿 吧。

当然,也不排除后续有变数。再过几天,有新的数据之后再跑一下这个预测程序,应该会更准确。

----

说点题外话,不管是30亿还是40亿,《哪吒》都是铁定进入历史总票房top10的,并很有希望进top5(34亿)。

我个人觉得这是个好现象。哪怕像《大圣归来》、《流浪地球》,包括《白蛇》这样的电影还多不足的地方,但它们的出现和市场表现让人觉得,还是有人在认真做电影,并且观众也会认可这样的电影。这样的良性循环会让以后出现更多类型更优质的国产电影,而不是只有喜剧片,只能靠流量明星的单一市场。

虽然劣币驱逐良币的现象在很多领域始终存在,但总会有人愿意去做良币。有什么样的受众就有什么样的创作者。我愿意为这些出现的良币鼓掌和付费,这样它们的出现才会多一些、久一些。不然,好团队好作品生存不了,我们以后就只能“吃垃圾”了。

----

相关代码、数据、结果图已上传,并附有说明,获取请在公众号( Crossin的编程教室 )里回复关键字 哪吒

(今天号里还有抽奖送书活动,欢迎来碰个运气)

简单说明下,代码分几部分,可单独运行:

  • get_boxoffice.py 从猫眼票房获取几部参考影片的历史票房数据
  • get_nezha.py 从猫眼票房获取《哪吒》票房数据
  • plot.py 绘制历史票房走势图
  • nezha.py 对历史票房进行曲线拟合,并对《哪吒》票房进行预测
电影票房预测问题:如何使用Python生成词云 机器学习训练营——机器学习爱好者的自由交流空间(qq群号:696721295) 案例介绍 2018年电影工业蓬勃发展,全球电影票房估值超过400亿美元。哪些电影最赚钱?本案例使用来自The Movie Database的超过7,000部已公映电影的元数据,预测单部电影的全球票房收入。 数据介绍 数据集包括7,398部电影的元数据,每部电影由id确定。数据点包括cast, crew, plot ... 阅读详情

相关推荐

51单片机-点亮LED和蜂鸣器

ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。ULN2003是大电流驱动陈列,多用于单片机、只能仪表、PLC、数字量输出卡等控制电路中。可直接驱动蜂鸣器、继电器等负载。void delay(u16 i) // i等于1大约10uswhile(i--);//取反,高低电平不断变化,产生脉冲delay(10);// 周期200us。

三日沐水 1129

用python“科学”预测下《哪吒》票房

点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤将来的你,一定会感谢现在努力拼搏的自己!最近几天,朋友圈...

pdcfighting的博客 925

LTspice仿真报错Timestep too small?5种实测有效的解决方法(附详细参数配置)

本文针对LTspice仿真中常见的“Timestep too small”报错,提供了5种经过实测有效的解决方案。从理解错误根源入手,详细介绍了调整求解器、仿真参数、优化精度容差、设置初始条件、为理想元件添加寄生参数以及使用高级指令等具体方法,并附有详细的参数配置步骤,帮助工程师快速定位并解决仿真收敛问题,提升电路设计效率。

weixin_29213655的博客 281

Python时序分析风语咒票房预测

先占个坑,晚上总结必发!

成功唯有积累,没有奇迹。 876

JS逆向-快手__NS_hxfalcon参数分析

现在快手H5接口都需要__NS_hxfalcon这个参数,这篇文章就是逆向这个参数

ckcookies的博客 4076

手把手教你用LIO-SAM搞定激光雷达和IMU联合标定(附避坑指南)

本文详细介绍了使用LIO-SAM进行激光雷达与IMU联合标定的全流程,包括标定原理、工具选型、硬件配置、数据采集、LI_calib标定步骤及LIO-SAM集成验证。特别提供了避坑指南和参数优化技巧,帮助开发者高效完成传感器标定,提升自动驾驶和机器人定位精度。

hadoop5ranger的博客 995

3天9亿!我爬取上万条评论解读《西虹市首富》并预测票房

♚作者:徐麟,目前就职于上海唯品会产品技术中心,哥大统计数据狗,从事数据挖掘&分析工作,喜欢用R&Python玩一些不一样的数据。前言:纵观近几年的国产电...

Python中文社区 2774

台式机ubuntu系统屏幕无法调节的问题(已解决)(汇总)

背景:新配了一台主机,安装了双系统,windows下屏幕在带鱼屏上显示良好,但Ubuntu系统屏幕拉伸严重。 问题描述:系统没有适应屏幕被整个拉伸了,进入设置界面,显示Built-in Display,分辨率只有1024*768无法设置。 尝试一:网上最多的方法就是使用xrandr, 结果显示:xrandr:Failed to get size of gamma for output default 尝试二: 第一次进入命令行页面:login:填你的用户面 password:使用字母上方的数字键输入你的密码

weixin_45626706的博客 4630

用 Python“科学”预测下《哪吒》票房

最近几天,朋友圈和微博被《哪吒之魔童降世》刷屏了。不少看过的朋友都成为“自来水”,力荐此片。而它的市场表现也很给力,上映首日即破亿,5天超10亿,目前已成为国产动画片最高...

Python之禅的专栏 887

从手机到单片机:聊聊ARM Cortex家族那些事,A、R、M系列到底有啥不同?

本文深入解析ARM Cortex家族的A、R、M三大系列处理器,揭示它们在性能、实时响应和能效方面的核心差异。从智能手机到汽车电子和物联网设备,Cortex-A、R、M各司其职,分别应对复杂运算、实时控制和超低功耗场景。通过技术指标对比和典型应用案例,帮助开发者理解如何根据DMIPS/MHz等关键参数选择适合的处理器架构。

weixin_31574149的博客 351

ABB变频器使用PROFINET IO通信模块时的激活方法

ABB变频器使用PROFINET IO通信模块时的激活方法

Robot_PLC_HMI_Automation 2736

《哪吒》票房超越《药神》,用Python来预测下《哪吒》的票房

最近几天,朋友圈和微博被《哪吒之魔童降世》刷屏了。不少看过的朋友都成为“自来水”,力荐此片。 而它的市场表现也很给力,上映首日即破亿,5天超10亿,目前已成为国产动画片最高票房。 于是很多人开始猜测,最终的票房会达到多少?一开始有人预测十几亿,后来普遍认为超20亿,到现在甚至有人给出了40亿的预测。 我尝试用“科学”一点的方法也来预测一下。如果最终结果有幸言中,还望大家帮忙转发点赞支持一下。 截...

xiaoxijing的博客 559

代谢组数据分析(一):生成代谢组数据SummarizedExperiment对象

本文介绍了基于Zeybel 2022年发布的多组学数据集的分析脚本,该数据集包含微生物组、宿主人体学指标、临床学指标、血浆代谢组和免疫因子等多维度数据,涵盖56位患者的横截面数据和22位患者的纵向时间序列数据。脚本旨在生成适用于下游分析的数据对象,主要包括phyloseq和SummarizedExperiment两类。phyloseq对象用于整合微生物群落数据,支持多数据整合、可视化、丰富分析功能和便捷的数据处理;SummarizedExperiment对象则广泛应用于基因组学和转录组学研究,便于数据整合、

专注生信领域 2995

python预测药_《哪吒》票房超越《药神》,用Python来预测下《哪吒》的票

最近几天,朋友圈和微博被《哪吒之魔童降世》刷屏了。不少看过的朋友都成为“自来水”,力荐此片。而它的市场表现也很给力,上映首日即破亿,5天超10亿,目前已成为国产动画片最高票房。于是很多人开始猜测,最终的票房会达到多少?一开始有人预测十几亿,后来普遍认为超20亿,到现在甚至有人给出了40亿的预测。我尝试用“科学”一点的方法也来预测一下。如果最终结果有幸言中,还望大家帮忙转发点赞支持一下。截至发稿时(...

weixin_36213934的博客 248

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

向Excel说再见,神级编辑器统一表格与Python

机器之心报道参与:思源、张倩是的,在一个界面上同时展示可视化表格与代码,而且同时通过表格与代码修改数据,这不就是 Python 与 Excel 的结合吗?项目地址:htt...

机器学习算法与Python学习 501

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Github超燃的 5 个机器学习项目,有趣有内涵!

本文由『专知』整理本文整理了Github上评价最高的几个机器学习项目。1. face-recognition [25858 stars]https://github.co...

机器学习算法与Python学习 558

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

教程 | 快速学习正则表达式,这里有份中文资源和互动学习网站

晓查 发自 凹非寺量子位 出品 | 公众号 QbitAI无论你使用的是Python、Java、Perl还是Shell,正则表达式是学习主流编程语言几乎绕不开的话题。有了它...

机器学习算法与Python学习 291

【Reading Notes】(8.2)Favorite Articles from 2025 February

2025年2月28日:2022年7月花费8万多购入一辆哪吒V(2022款 潮 400 Lite),官方宣称纯电续航400公里。来自上海的贺先生在2023年11月预订了一辆奇瑞舒享家,12月12日提车当天,竟发现这辆车像是被“动过手脚”,引擎盖有拆装过的痕迹,螺丝生锈,车头部位多处漆面异常。大多数人的春节假期,都是法定节假日(1月28日至2月4日),而张雪峰公司放假23天(1月18日至2月10日),真的是非常慷慨的假期了。2025年2月27日:【315专题】十几万买了辆奇瑞“瑕疵车”,售后却装死?

bryant_meng 2103

Python电影票房数据可视化分析基础实践

数据可视化一直是很多数据分析或者是建模挖掘任务里面经常会用到的一项功能,今天我们基于某电影网站中公开发布的电影票房数据进行一些基础的数据可视化分析实践,下面是部分的数据样例: 叶问.,20160304,33151,2193,196.9万,33.96%,46 捉妖记,20150718,17860,995,192.71万,64.49%,47 复仇者联盟2:奥创纪元,20150517,29444,1152,179.88万,37.52%,50.1 我和我的祖国,20191002,36420,9522...

Together_CZ的博客 6657

数据分析 - Kaggle TMDB 票房预测

数据分析 - Kaggle TMDB 票房预测环境准备数据集正文数据预处理数据探索性分析建模 环境准备 使用了的环境: Windows 10 python 3.7.2 Jupyter Notebook(代码均在此测试成功) 数据集 正文 开工前准备,导入第三方库: import pandas as pd pd.set_option('max_columns',None) import m...

weixin_43342208的博客 8704
上一篇: Python更换代理爬取豆瓣电影数据!
下一篇: 10行Python代码写1个USB病毒!把室友的小电影都黑掉!
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值