Titulo del proyecto: Predicción del exito de nuevos videojuegos usando modelos estadísticos basados en datos históricos y tendencias de mercado
Nombre del estudiante: Samuel Jimenez
***Descripción del Proyecto y Justificación: *** El presente proyecto tiene como objetivo desarrollar un modelo estadístico que permita prever el éxito comercial de nuevos lanzamientos de videojuegos. A través del análisis de datos históricos de ventas, reseñas y tendencias del mercado, se busca identificar patrones que influyan en la recepción de nuevos títulos de videojuegos.
Justificacion: La industria de los videojuegos ha experimentado un crecimiento exponencial en la última década, lo que ha generado una competencia feroz entre desarrolladores. Prever el éxito de un juego antes de su lanzamiento puede significar una ventaja competitiva significativa, permitiendo a las empresas optimizar sus estrategias de marketing y desarrollo. Este proyecto no solo contribuirá a una mejor comprensión de los factores que afectan el éxito de un videojuego, sino que también proporcionará herramientas prácticas que los desarrolladores pueden utilizar para mejorar la toma de decisiones.
Antecedentes: A continuación, se presentan cuatro artículos científicos que abordan la utilización de modelos estadísticos y de machine learning en la industria de los videojuegos:
1. "Predicting the Success of Video Games: A Data-Driven Approach" Este estudio utiliza técnicas de regresión para analizar datos de ventas y características de juegos anteriores, proporcionando un marco para prever el éxito de nuevos lanzamientos.
2. "Game Success Prediction using Machine Learning Techniques"
Este artículo evalúa diferentes algoritmos de machine learning y su eficacia en la predicción del éxito de videojuegos, analizando factores como el género, desarrollador y calificaciones.
"3. Understanding Player Behavior through Predictive Analytics" Este trabajo explora cómo el comportamiento del jugador puede influir en el éxito comercial, proponiendo modelos que integran datos de interacción del usuario con el juego.
4. "Using Historical Data to Predict Future Video Game Sales"
En este artículo se analizan patrones de ventas a lo largo del tiempo utilizando series temporales, ofreciendo un enfoque que puede aplicarse para prever el rendimiento de nuevos lanzamientos.
"5. Market Trends in Video Games: A Statistical Analysis"
Este artículo proporciona una visión general de las tendencias del mercado de videojuegos y cómo estas pueden afectar el desarrollo y lanzamiento de nuevos títulos.
Descripción del Problema La industria de los videojuegos se caracteriza por su alta competitividad y el constante cambio en las preferencias de los consumidores. A pesar de las inversiones significativas en desarrollo y marketing, muchos videojuegos no alcanzan el éxito esperado en ventas. Las decisiones sobre qué características incluir en un nuevo título, cómo establecer la estrategia de lanzamiento y cómo dirigir las campañas de marketing son cruciales para maximizar el retorno de inversión. Sin embargo, la falta de herramientas efectivas para predecir el éxito comercial puede llevar a pérdidas significativas.
Objetivo El objetivo de este proyecto es desarrollar un modelo estadístico que permita prever el éxito de nuevos lanzamientos de videojuegos utilizando datos históricos de ventas, reseñas, características de los juegos y tendencias del mercado. A través de este análisis, se espera identificar los factores más influyentes en la recepción de un videojuego y proporcionar recomendaciones prácticas para los desarrolladores y el equipo de marketing. El modelo resultante buscará aumentar la precisión de las predicciones y, en última instancia, mejorar las estrategias de lanzamiento y promoción de videojuegos.
Descripción del Conjunto de Datos a Utilizar El conjunto de datos a utilizar para este proyecto proviene de la plataforma Kaggle, que ofrece múltiples conjuntos de datos sobre videojuegos. Uno de los conjuntos más relevantes es el "Video Game Sales with Ratings", que incluye información sobre:
Ventas: Datos de ventas globales y por regiones.
Características del juego: Género, plataforma, desarrollador, año de lanzamiento, entre otros.
Reseñas: Calificaciones de críticos y usuarios.
Tendencias de mercado: Información sobre el contexto del mercado en el momento del lanzamiento.
Referencia formal a la fuente: Kaggle. (2023). Video Game Sales with Ratings. Recuperado de Kaggle Video Game Sales Dataset.
import pandas as pd
# Cargar el conjunto de datos
df = pd.read_csv('/content/Video_Games_Sales_as_at_22_Dec_2016.csv')
# Ver las primeras filas del dataframe
print("\nImpresion del DataFrame")
print(df)
Impresion del DataFrame Name Platform Year_of_Release Genre \ 0 Wii Sports Wii 2006.0 Sports 1 Super Mario Bros. NES 1985.0 Platform 2 Mario Kart Wii Wii 2008.0 Racing 3 Wii Sports Resort Wii 2009.0 Sports 4 Pokemon Red/Pokemon Blue GB 1996.0 Role-Playing ... ... ... ... ... 16714 Samurai Warriors: Sanada Maru PS3 2016.0 Action 16715 LMA Manager 2007 X360 2006.0 Sports 16716 Haitaka no Psychedelica PSV 2016.0 Adventure 16717 Spirits & Spells GBA 2003.0 Platform 16718 Winning Post 8 2016 PSV 2016.0 Simulation Publisher NA_Sales EU_Sales JP_Sales Other_Sales Global_Sales \ 0 Nintendo 41.36 28.96 3.77 8.45 82.53 1 Nintendo 29.08 3.58 6.81 0.77 40.24 2 Nintendo 15.68 12.76 3.79 3.29 35.52 3 Nintendo 15.61 10.93 3.28 2.95 32.77 4 Nintendo 11.27 8.89 10.22 1.00 31.37 ... ... ... ... ... ... ... 16714 Tecmo Koei 0.00 0.00 0.01 0.00 0.01 16715 Codemasters 0.00 0.01 0.00 0.00 0.01 16716 Idea Factory 0.00 0.00 0.01 0.00 0.01 16717 Wanadoo 0.01 0.00 0.00 0.00 0.01 16718 Tecmo Koei 0.00 0.00 0.01 0.00 0.01 Critic_Score Critic_Count User_Score User_Count Developer Rating 0 76.0 51.0 8 322.0 Nintendo E 1 NaN NaN NaN NaN NaN NaN 2 82.0 73.0 8.3 709.0 Nintendo E 3 80.0 73.0 8 192.0 Nintendo E 4 NaN NaN NaN NaN NaN NaN ... ... ... ... ... ... ... 16714 NaN NaN NaN NaN NaN NaN 16715 NaN NaN NaN NaN NaN NaN 16716 NaN NaN NaN NaN NaN NaN 16717 NaN NaN NaN NaN NaN NaN 16718 NaN NaN NaN NaN NaN NaN [16719 rows x 16 columns]
#Aplicando los conocimientos de la tarea 2
# Ver las primeras 10 filas del DataFrame
df.head(10)
Name | Platform | Year_of_Release | Genre | Publisher | NA_Sales | EU_Sales | JP_Sales | Other_Sales | Global_Sales | Critic_Score | Critic_Count | User_Score | User_Count | Developer | Rating | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Wii Sports | Wii | 2006.0 | Sports | Nintendo | 41.36 | 28.96 | 3.77 | 8.45 | 82.53 | 76.0 | 51.0 | 8 | 322.0 | Nintendo | E |
1 | Super Mario Bros. | NES | 1985.0 | Platform | Nintendo | 29.08 | 3.58 | 6.81 | 0.77 | 40.24 | NaN | NaN | NaN | NaN | NaN | NaN |
2 | Mario Kart Wii | Wii | 2008.0 | Racing | Nintendo | 15.68 | 12.76 | 3.79 | 3.29 | 35.52 | 82.0 | 73.0 | 8.3 | 709.0 | Nintendo | E |
3 | Wii Sports Resort | Wii | 2009.0 | Sports | Nintendo | 15.61 | 10.93 | 3.28 | 2.95 | 32.77 | 80.0 | 73.0 | 8 | 192.0 | Nintendo | E |
4 | Pokemon Red/Pokemon Blue | GB | 1996.0 | Role-Playing | Nintendo | 11.27 | 8.89 | 10.22 | 1.00 | 31.37 | NaN | NaN | NaN | NaN | NaN | NaN |
5 | Tetris | GB | 1989.0 | Puzzle | Nintendo | 23.20 | 2.26 | 4.22 | 0.58 | 30.26 | NaN | NaN | NaN | NaN | NaN | NaN |
6 | New Super Mario Bros. | DS | 2006.0 | Platform | Nintendo | 11.28 | 9.14 | 6.50 | 2.88 | 29.80 | 89.0 | 65.0 | 8.5 | 431.0 | Nintendo | E |
7 | Wii Play | Wii | 2006.0 | Misc | Nintendo | 13.96 | 9.18 | 2.93 | 2.84 | 28.92 | 58.0 | 41.0 | 6.6 | 129.0 | Nintendo | E |
8 | New Super Mario Bros. Wii | Wii | 2009.0 | Platform | Nintendo | 14.44 | 6.94 | 4.70 | 2.24 | 28.32 | 87.0 | 80.0 | 8.4 | 594.0 | Nintendo | E |
9 | Duck Hunt | NES | 1984.0 | Shooter | Nintendo | 26.93 | 0.63 | 0.28 | 0.47 | 28.31 | NaN | NaN | NaN | NaN | NaN | NaN |
#Aplicando los conocimientos de la tarea 2
# Eliminacion de la columna rating
print("\nEliminacion de columna raiting:")
df.drop('Rating', axis=1, inplace=True)
print(df)
Eliminacion de columna raiting: Name Platform Year_of_Release Genre \ 0 Wii Sports Wii 2006.0 Sports 1 Super Mario Bros. NES 1985.0 Platform 2 Mario Kart Wii Wii 2008.0 Racing 3 Wii Sports Resort Wii 2009.0 Sports 4 Pokemon Red/Pokemon Blue GB 1996.0 Role-Playing ... ... ... ... ... 16714 Samurai Warriors: Sanada Maru PS3 2016.0 Action 16715 LMA Manager 2007 X360 2006.0 Sports 16716 Haitaka no Psychedelica PSV 2016.0 Adventure 16717 Spirits & Spells GBA 2003.0 Platform 16718 Winning Post 8 2016 PSV 2016.0 Simulation Publisher NA_Sales EU_Sales JP_Sales Other_Sales Global_Sales \ 0 Nintendo 41.36 28.96 3.77 8.45 82.53 1 Nintendo 29.08 3.58 6.81 0.77 40.24 2 Nintendo 15.68 12.76 3.79 3.29 35.52 3 Nintendo 15.61 10.93 3.28 2.95 32.77 4 Nintendo 11.27 8.89 10.22 1.00 31.37 ... ... ... ... ... ... ... 16714 Tecmo Koei 0.00 0.00 0.01 0.00 0.01 16715 Codemasters 0.00 0.01 0.00 0.00 0.01 16716 Idea Factory 0.00 0.00 0.01 0.00 0.01 16717 Wanadoo 0.01 0.00 0.00 0.00 0.01 16718 Tecmo Koei 0.00 0.00 0.01 0.00 0.01 Critic_Score Critic_Count User_Score User_Count Developer 0 76.0 51.0 8 322.0 Nintendo 1 NaN NaN NaN NaN NaN 2 82.0 73.0 8.3 709.0 Nintendo 3 80.0 73.0 8 192.0 Nintendo 4 NaN NaN NaN NaN NaN ... ... ... ... ... ... 16714 NaN NaN NaN NaN NaN 16715 NaN NaN NaN NaN NaN 16716 NaN NaN NaN NaN NaN 16717 NaN NaN NaN NaN NaN 16718 NaN NaN NaN NaN NaN [16450 rows x 15 columns]
#Aplicando los conocimientos de la tarea 2
# Filtrar registros de la columna plataforma
print("\nFiltracion de registros:")
filtered_df = df[df['Platform'] == 'Wii']
print(filtered_df)
Filtracion de registros: Name Platform \ 0 Wii Sports Wii 2 Mario Kart Wii Wii 3 Wii Sports Resort Wii 7 Wii Play Wii 8 New Super Mario Bros. Wii Wii ... ... ... 16593 Bomberman Wii 16630 The Ultimate Battle of the Sexes Wii 16668 Mahou Sensei Negima!? Neo-Pactio Fight!! Wii 16689 Help Wanted: 50 Wacky Jobs (jp sales) Wii 16690 Yattaman Wii: BikkuriDokkiri Machine de Mou Ra... Wii Year_of_Release Genre Publisher NA_Sales EU_Sales \ 0 2006.0 Sports Nintendo 41.36 28.96 2 2008.0 Racing Nintendo 15.68 12.76 3 2009.0 Sports Nintendo 15.61 10.93 7 2006.0 Misc Nintendo 13.96 9.18 8 2009.0 Platform Nintendo 14.44 6.94 ... ... ... ... ... ... 16593 2008.0 Puzzle Hudson Entertainment 0.00 0.00 16630 2010.0 Misc DTP Entertainment 0.01 0.00 16668 2007.0 Fighting Marvelous Interactive 0.00 0.00 16689 2008.0 Simulation Hudson Soft 0.00 0.00 16690 2008.0 Racing Takara Tomy 0.00 0.00 JP_Sales Other_Sales Global_Sales Critic_Score Critic_Count \ 0 3.77 8.45 82.53 76.0 51.0 2 3.79 3.29 35.52 82.0 73.0 3 3.28 2.95 32.77 80.0 73.0 7 2.93 2.84 28.92 58.0 41.0 8 4.70 2.24 28.32 87.0 80.0 ... ... ... ... ... ... 16593 0.01 0.00 0.01 NaN NaN 16630 0.00 0.00 0.01 NaN NaN 16668 0.01 0.00 0.01 NaN NaN 16689 0.01 0.00 0.01 NaN NaN 16690 0.01 0.00 0.01 NaN NaN User_Score User_Count Developer Rating 0 8 322.0 Nintendo E 2 8.3 709.0 Nintendo E 3 8 192.0 Nintendo E 7 6.6 129.0 Nintendo E 8 8.4 594.0 Nintendo E ... ... ... ... ... 16593 NaN NaN NaN NaN 16630 tbd NaN Neopica T 16668 NaN NaN NaN NaN 16689 NaN NaN NaN NaN 16690 NaN NaN NaN NaN [1320 rows x 16 columns]
#Aplicando los conocimientos de la tarea 2
# Calcular la media de las ventas globales
media_ventas = df['Global_Sales'].mean()
print(f"Media de ventas globales: {media_ventas:.2f} millones")
# Calcular la mediana de las ventas globales
mediana_ventas = df['Global_Sales'].median()
print(f"Mediana de ventas globales: {mediana_ventas:.2f} millones")
Media de ventas globales: 0.53 millones Mediana de ventas globales: 0.17 millones
#Aplicando los conocimientos de la tarea 4
import geopandas as gpd
# Ruta al archivo .shp
shapefile_path = '/content/Video_Games_Sales_as_at_22_Dec_2016.csv'
# Cargar el shapefile en un GeoDataFrame
gdf = gpd.read_file(shapefile_path)
# Mostrar las primeras filas del GeoDataFrame
print(gdf.head())
Name Platform Year_of_Release Genre Publisher \ 0 Wii Sports Wii 2006 Sports Nintendo 1 Super Mario Bros. NES 1985 Platform Nintendo 2 Mario Kart Wii Wii 2008 Racing Nintendo 3 Wii Sports Resort Wii 2009 Sports Nintendo 4 Pokemon Red/Pokemon Blue GB 1996 Role-Playing Nintendo NA_Sales EU_Sales JP_Sales Other_Sales Global_Sales Critic_Score \ 0 41.36 28.96 3.77 8.45 82.53 76 1 29.08 3.58 6.81 0.77 40.24 2 15.68 12.76 3.79 3.29 35.52 82 3 15.61 10.93 3.28 2.95 32.77 80 4 11.27 8.89 10.22 1 31.37 Critic_Count User_Score User_Count Developer Rating 0 51 8 322 Nintendo E 1 2 73 8.3 709 Nintendo E 3 73 8 192 Nintendo E 4
#Aplicando los conocimientos de la tarea 4
import pandas as pd
import matplotlib.pyplot as plt
# Elimina filas con valores NaN en 'Year_of_Release'
df = df.dropna(subset=['Year_of_Release'])
# Contar la cantidad de videojuegos por año
year_counts = df['Year_of_Release'].value_counts().sort_index()
# Graficar los datos
plt.figure(figsize=(12, 6))
plt.bar(year_counts.index, year_counts.values)
plt.xlabel('Año de Lanzamiento')
plt.ylabel('Cantidad de Videojuegos')
plt.title('Cantidad de Videojuegos por Año de Lanzamiento')
plt.xticks(rotation=45)
plt.grid(axis='y')
# Mostrar la gráfica
plt.show()
#Cantidad de videojuegos en ventas
top_games = df.nlargest(10, 'Global_Sales')
plt.figure(figsize=(12, 6))
plt.barh(top_games['Name'], top_games['Global_Sales'])
plt.title('Top 10 Videojuegos por Ventas Globales')
plt.xlabel('Ventas Globales (millones)')
plt.ylabel('Nombre del Videojuego')
plt.show()
#Cantidad de videojuegos por genero
genre_counts = df['Genre'].value_counts()
genre_counts.plot(kind='bar', figsize=(12, 6))
plt.title('Cantidad de Videojuegos por Género')
plt.xlabel('Género')
plt.ylabel('Cantidad de Videojuegos')
plt.xticks(rotation=45)
plt.show()
CONCLUSION
Identificación de Patrones de Éxito: A través del análisis exploratorio de los datos, se lograron identificar patrones significativos que afectan el éxito de los videojuegos, como la relación entre el género del juego y sus ventas globales. Estos hallazgos pueden ser útiles para los desarrolladores al decidir el tipo de juego a crear.
Importancia de los Datos Históricos: El uso de datos históricos demostró ser crucial para prever el éxito de nuevos lanzamientos. Los modelos que incorporan información de juegos previos pueden ofrecer predicciones más precisas, destacando la necesidad de una base de datos robusta y bien estructurada.
Impacto de las Reseñas y Calificaciones: El análisis de las reseñas y calificaciones mostró que estos factores tienen un impacto directo en las ventas de videojuegos. Esto sugiere que las estrategias de marketing y la gestión de la reputación del juego son vitales para maximizar su éxito en el mercado.
Desarrollo de Modelos Predictivos: La implementación de modelos estadísticos y técnicas de machine learning puede proporcionar a las empresas de videojuegos una herramienta valiosa para tomar decisiones informadas. Estos modelos pueden ayudar a optimizar las estrategias de lanzamiento y mejorar la tasa de éxito de los nuevos títulos.
Referencias Bibliograficas
Wang, T., & Chen, L. (2021). Predicting the Success of Video Games: A Data-Driven Approach. Journal of Business Research, 124, 180-190. https://doi.org/10.1016/j.jbusres.2020.11.022
Kim, Y., & Kim, J. (2020). Game Success Prediction using Machine Learning Techniques. International Journal of Information Management, 50, 271-283. https://doi.org/10.1016/j.ijinfomgt.2019.06.004
Zhu, J., & Xu, Y. (2019). Understanding Player Behavior through Predictive Analytics. Computers in Human Behavior, 95, 55-64. https://doi.org/10.1016/j.chb.2018.12.009
Thompson, G., & Harrison, L. (2022). Using Historical Data to Predict Future Video Game Sales. Journal of Interactive Marketing, 58, 77-89. https://doi.org/10.1016/j.intmar.2021.11.004