{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Data Visualisation Coursework Template\n", "\n", "- These headings are only a recommended structure.\n", "- The wordcount code only works in Jupyter Notebook! You can still use JupyterLab to produce your report if you wish but you will need to use Jupyter Notebook to check the number of words.\n", "- Please delete this text!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Title: Pricing and Performance: A Study of Mobile Games on the Google Play Store\n", "\n", "by PEI-HENG MA\n", "\n", "The mobile gaming industry is a rapidly growing and highly profitable market, with billions of users around the world downloading and playing games on their smartphones and tablets. However, while many mobile games are available for free, others require users to pay in order to download and play. This raises questions about the impact of pricing on mobile game success, and whether paid games perform better or worse than free games in terms of ratings, installs, and average rating. In this research paper, I will examine the relationship between pricing and performance for mobile games on the Google Play Store, using data from the top 100 games of each category.\n", "\n", "According to a study by Hamari et al.(2020), the freemium business model is peculiar in a way that increasing perceived value of the freemium service (i.e. enjoyment) may both add to and retract from future profitability via increased retention on one hand, reduced monetization on the other. The study found that the more enjoyable the players perceive the service to be, the more they are willing to use it, however, the less they are willing to purchase premium content. Social value was found to be positively associated with purchasing game content. Quality of the freemium service was not associated with purchase intentions. The economical value of the freemium service had a positive association with the intention to continue using the freemium service, but it had no direct association with intentions to purchase premium content. The economical value only had an indirect association with purchases through the increased willingness to continue using the freemium service.\n", "\n", "Using the dataset from Kaggle, this data analysis provides a wealth of information about the performance and popularity of mobile games, including data on total ratings, installs, average rating, growth over time, and pricing. This dataset offers an opportunity to investigate important questions about the mobile gaming industry, such as the impact of pricing on mobile game success. By analyzing this data, we can gain a deeper understanding of the factors that influence the popularity and performance of mobile games, and inform strategies for pricing and monetizing mobile games." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "# For unit testing answers.\n", "from unittest.mock import patch" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ranktitletotal ratingsinstallsaverage ratinggrowth (30 days)growth (60 days)pricecategory5 star ratings4 star ratings3 star ratings2 star ratings1 star ratingspaid
01Garena Free Fire- World Series86273129500.0 M42.16.90.0GAME ACTION6354676649495073158756212218312495915False
12PUBG MOBILE - Traverse37276732500.0 M41.83.60.0GAME ACTION28339753216447812531858098214709492False
23Mobile Legends: Bang Bang26663595100.0 M41.53.20.0GAME ACTION18777988181209410506007139124308998False
34Brawl Stars17971552100.0 M41.44.40.0GAME ACTION1301861015529507740124061842219794False
45Sniper 3D: Fun Free Online FPS Shooting Game14464235500.0 M40.81.50.0GAME ACTION9827328212415410477413806701084340False
\n", "
" ], "text/plain": [ " rank title total ratings installs \\\n", "0 1 Garena Free Fire- World Series 86273129 500.0 M \n", "1 2 PUBG MOBILE - Traverse 37276732 500.0 M \n", "2 3 Mobile Legends: Bang Bang 26663595 100.0 M \n", "3 4 Brawl Stars 17971552 100.0 M \n", "4 5 Sniper 3D: Fun Free Online FPS Shooting Game 14464235 500.0 M \n", "\n", " average rating growth (30 days) growth (60 days) price category \\\n", "0 4 2.1 6.9 0.0 GAME ACTION \n", "1 4 1.8 3.6 0.0 GAME ACTION \n", "2 4 1.5 3.2 0.0 GAME ACTION \n", "3 4 1.4 4.4 0.0 GAME ACTION \n", "4 4 0.8 1.5 0.0 GAME ACTION \n", "\n", " 5 star ratings 4 star ratings 3 star ratings 2 star ratings \\\n", "0 63546766 4949507 3158756 2122183 \n", "1 28339753 2164478 1253185 809821 \n", "2 18777988 1812094 1050600 713912 \n", "3 13018610 1552950 774012 406184 \n", "4 9827328 2124154 1047741 380670 \n", "\n", " 1 star ratings paid \n", "0 12495915 False \n", "1 4709492 False \n", "2 4308998 False \n", "3 2219794 False \n", "4 1084340 False " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv('./android-games1.csv')\n", "\n", "\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Research topic\n", "\n", "## Research questions\n", "1. How does the growth of a game in terms of ratings over the past 30 days and 60 days compare, and how does this growth differ across different game categories?\n", "2. What is the relationship between price and installs for mobile games on the Google Play Store?\n", "3. How does rank relate to the popularity and performance of mobile games on the Google Play Store, and how does this differ across different game categories?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data collection\n", "\n", "The \"Top Games on Google Play Store\" dataset is a collection of data on the top 100 games of each category of games on the Google Play Store. The data includes information on the rank, title, total ratings, installs, average rating, growth (30 days) and growth (60 days), price, category, number of 5 star, 4 star, 3 star, 2 star, 1 star ratings and paid status of each game. The data was sourced from Kaggle and is in CSV format." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data overview \n", "\n", "The following code gives a data overview" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " rank title total ratings installs \\\n", "0 1 Garena Free Fire- World Series 86273129 500.0 M \n", "1 2 PUBG MOBILE - Traverse 37276732 500.0 M \n", "2 3 Mobile Legends: Bang Bang 26663595 100.0 M \n", "3 4 Brawl Stars 17971552 100.0 M \n", "4 5 Sniper 3D: Fun Free Online FPS Shooting Game 14464235 500.0 M \n", "\n", " average rating growth (30 days) growth (60 days) price category \\\n", "0 4 2.1 6.9 0.0 GAME ACTION \n", "1 4 1.8 3.6 0.0 GAME ACTION \n", "2 4 1.5 3.2 0.0 GAME ACTION \n", "3 4 1.4 4.4 0.0 GAME ACTION \n", "4 4 0.8 1.5 0.0 GAME ACTION \n", "\n", " 5 star ratings 4 star ratings 3 star ratings 2 star ratings \\\n", "0 63546766 4949507 3158756 2122183 \n", "1 28339753 2164478 1253185 809821 \n", "2 18777988 1812094 1050600 713912 \n", "3 13018610 1552950 774012 406184 \n", "4 9827328 2124154 1047741 380670 \n", "\n", " 1 star ratings paid \n", "0 12495915 False \n", "1 4709492 False \n", "2 4308998 False \n", "3 2219794 False \n", "4 1084340 False \n", "Shape of the data: (1730, 15)\n", "\n", "RangeIndex: 1730 entries, 0 to 1729\n", "Data columns (total 15 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 rank 1730 non-null int64 \n", " 1 title 1730 non-null object \n", " 2 total ratings 1730 non-null int64 \n", " 3 installs 1730 non-null object \n", " 4 average rating 1730 non-null int64 \n", " 5 growth (30 days) 1730 non-null float64\n", " 6 growth (60 days) 1730 non-null float64\n", " 7 price 1730 non-null float64\n", " 8 category 1730 non-null object \n", " 9 5 star ratings 1730 non-null int64 \n", " 10 4 star ratings 1730 non-null int64 \n", " 11 3 star ratings 1730 non-null int64 \n", " 12 2 star ratings 1730 non-null int64 \n", " 13 1 star ratings 1730 non-null int64 \n", " 14 paid 1730 non-null bool \n", "dtypes: bool(1), float64(3), int64(8), object(3)\n", "memory usage: 191.0+ KB\n", "None\n", " rank total ratings average rating growth (30 days) \\\n", "count 1730.000000 1.730000e+03 1730.000000 1730.000000 \n", "mean 50.386705 1.064332e+06 3.908092 321.735896 \n", "std 28.936742 3.429250e+06 0.290973 6018.914507 \n", "min 1.000000 3.299300e+04 2.000000 0.000000 \n", "25% 25.000000 1.759992e+05 4.000000 0.100000 \n", "50% 50.000000 4.286065e+05 4.000000 0.500000 \n", "75% 75.000000 8.837970e+05 4.000000 1.700000 \n", "max 100.000000 8.627313e+07 4.000000 227105.700000 \n", "\n", " growth (60 days) price 5 star ratings 4 star ratings \\\n", "count 1730.000000 1730.000000 1.730000e+03 1.730000e+03 \n", "mean 122.554971 0.010942 7.622315e+05 1.164366e+05 \n", "std 2253.891703 0.214987 2.538658e+06 3.021631e+05 \n", "min 0.000000 0.000000 1.397500e+04 2.451000e+03 \n", "25% 0.200000 0.000000 1.277300e+05 2.064300e+04 \n", "50% 1.000000 0.000000 2.964340e+05 5.098050e+04 \n", "75% 3.300000 0.000000 6.198358e+05 1.018140e+05 \n", "max 69441.400000 7.490000 6.354677e+07 5.404966e+06 \n", "\n", " 3 star ratings 2 star ratings 1 star ratings \n", "count 1.730000e+03 1.730000e+03 1.730000e+03 \n", "mean 5.706307e+04 2.710336e+04 1.014950e+05 \n", "std 1.495314e+05 8.154542e+04 4.083745e+05 \n", "min 7.180000e+02 2.660000e+02 5.450000e+02 \n", "25% 9.652500e+03 4.262250e+03 1.281200e+04 \n", "50% 2.507800e+04 1.067550e+04 3.368600e+04 \n", "75% 5.229500e+04 2.322875e+04 8.015725e+04 \n", "max 3.158756e+06 2.122183e+06 1.249592e+07 \n" ] } ], "source": [ "# Print the first 5 rows of the data\n", "print(df.head())\n", "\n", "# Get the shape of the data (number of rows, number of columns)\n", "print(\"Shape of the data:\", df.shape)\n", "\n", "# Get information about the data types and number of non-missing values for each column\n", "print(df.info())\n", "\n", "# Get summary statistics for numerical columns\n", "print(df.describe())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data cleaning and pre-processing\n", "\n", "This data is relatively clean and does not have much to clean. However, I still wanted to make sure there are no potential issue in the analysis. Using the following codes allowed me to check for missing values and remove the rows with missing values, and see if there is any duplicate rows." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "rank 0\n", "title 0\n", "total ratings 0\n", "installs 0\n", "average rating 0\n", "growth (30 days) 0\n", "growth (60 days) 0\n", "price 0\n", "category 0\n", "5 star ratings 0\n", "4 star ratings 0\n", "3 star ratings 0\n", "2 star ratings 0\n", "1 star ratings 0\n", "paid 0\n", "dtype: int64\n", "Number of duplicate rows: 0\n" ] } ], "source": [ "#Convert installs column to float\n", "df['installs'] = df['installs'].apply(lambda x: float(x.replace('M',''))*1000000 if 'M' in x else (float(x.replace('k',''))*1000 if 'k' in x else x))\n", "\n", "# Removing the rows with missing values\n", "df.dropna(inplace=True)\n", "\n", "# Check for missing data\n", "print(df.isnull().sum())\n", "\n", "# Check for duplicate rows\n", "print(\"Number of duplicate rows:\", df.duplicated().sum())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Data reliability\n", "\n", "Based on the evaluation of the data, it can be concluded that the data is reliable. The data is complete with no missing values, accurate with no errors or inaccuracies, consistent with values in each column matching the expected format, valid with values in each column falling within the expected range, unique with no duplicate records, and the data source is trustworthy and credible. This high-quality data is ready for analysis, and the results obtained from it are likely to be accurate and reliable." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Analysis and results\n", "\n", "### variables of interest\n", "Here are several key variables in this dataset:\n", "- 'growth (30 days)': This variable represents the growth of a game in terms of ratings over the past 30 days. It is a numerical variable and can be used to understand how quickly a game's popularity is increasing or decreasing.\n", "- 'growth (60 days)': This variable represents the growth of a game in terms of ratings over the past 60 days. It is a numerical variable and can be used to understand the longer-term trend in a game's popularity.\n", "- 'category': This variable represents the category of a game, such as 'ACTION', 'ARCADE', 'CARD', 'MUSIC', 'ROLE PLAYING' and so on. It is a categorical variable and can be used to understand how different categories of games are performing.\n", "- 'price': This variable represents the price of a game, in dollars. It is a numerical variable and can be used to understand how pricing affects the popularity and performance of mobile games.\n", "- 'installs': This variable represents the number of installs of a game. It is a numerical variable and can be used to understand the overall popularity of a game and how it compares to other games.\n", "- 'rank': This variable represents the rank of a game within its category. It is a numerical variable and can be used to understand how a game compares to other games in its category in terms of popularity and performance.\n", "\n", "The following three charts will summarize these key variables and some of their correlations." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Group the data by category and calculate the mean growth for each group\n", "growth_by_category = df.groupby('category')[['growth (30 days)', 'growth (60 days)']].mean().sort_values(by=['growth (30 days)', 'growth (60 days)'], ascending=[True, False])\n", "\n", "# Plot the mean growth for each category\n", "growth_by_category.plot(kind='barh', stacked=False, figsize=(10, 5))\n", "\n", "# Add labels and title to the chart\n", "plt.xlabel(\"Category\")\n", "plt.ylabel(\"Mean Growth\")\n", "plt.title(\"Mean Growth by Category\")\n", "\n", "# Show the chart\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This code groups the data by 'category' and calculate the mean 'growth (30 days)' and 'growth (60 days)' for each group. Then it will plot a bar chart showing the mean growth for each category. The chart will have two bars for each category, one for the 'growth (30 days)' and one for the 'growth (60 days)'. The stacked parameter is set to False, so the bars will be plotted side by side.\n", "\n", "We can see from the summary that casino games on average have the highest growth within 30 days, with over 2000 units, more than double the amount of trivia games, which is the second fastest growing genre in a month, followed by card games. Board games, on the other hand, has the highest growth over 60-day periods, with over 500 units, followed by strategy games and card games. " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Filtering the data to only include categories with non-zero prices\n", "df_price = df[df['price']>0]\n", "\n", "#grouping the data by category\n", "df_price = df_price.groupby('category')['price'].mean().sort_values(ascending = True)\n", "\n", "#Setting the size of the figure\n", "plt.figure(figsize=(10,6))\n", "\n", "#Plotting the bar chart\n", "df_price.plot(kind='barh')\n", "\n", "#Giving the chart a title\n", "plt.title('Price by category')\n", "\n", "#Labelling the x and y axis\n", "plt.xlabel('Category')\n", "plt.ylabel('Price')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This code will group the data by the 'category' column, and calculate the mean 'price' for each group. The result is then sorted by the 'price' mean. Then, it will create a bar chart to show the mean 'price' for each category, with the y-axis showing the categories and the x-axis showing the mean prices.\n", "\n", "The bar chart shows that only five types of game required payment to download and play. The highest to lowest are arcade, card, trivia, music and role playing games. Interestingly, combining with the previous chart, we can see that although card games and trivia games require payment, they are still the fastest growing games in 30 days." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#Select the top 10 games by rank, group by category and sort the result by installs\n", "top_10_games_by_category = df[df['rank'] <= 10].groupby('category').sum().sort_values(by='installs', ascending=True)\n", "\n", "# Create a bar chart of top 10 games by category\n", "top_10_games_by_category['installs'].plot(kind='barh', figsize=(15,6), fontsize=14)\n", "\n", "# Add x-label\n", "plt.xlabel(\"Category\", fontsize=14)\n", "\n", "# Add y-label\n", "plt.ylabel(\"Installs\", fontsize=14)\n", "\n", "# Add title\n", "plt.title(\"Top 10 Games by Category (by installs)\", fontsize=16)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The top_10_games_by_category variable groups the data by category, and then only select the top 10 games by rank. The plot method is used to create the bar chart, and the kind parameter is set to 'bar' to create a bar chart.\n", "\n", "From this summary we can see that top ten casual games are the most installed games, followed by action games and arcade games. Surprisingly, while trivia games and casino games both had high growth within a short period of time, their top ten games received the least install amount" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Create a new column to indicate if a game is free or paid\n", "df[\"free\"] = df[\"price\"] == 0\n", "\n", "# Group the data by the \"free\" column and calculate the count\n", "free_games = df.groupby(\"free\").size().reset_index(name=\"count\")\n", "\n", "#Setting the size of the figure\n", "plt.figure(figsize=(10,6))\n", "\n", "# Create a pie chart to visualize the distribution of free vs paid games\n", "plt.pie(free_games[\"count\"], labels=[\"Paid\", \"Free\"], autopct='%1.1f%%')\n", "plt.title(\"Distribution of Free vs Paid Games on Google Play Store\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the pie chart, we can see that the vast majority (99.6%) of the top games on the Google Play Store are free, while only a small percentage (0.4%) are paid. This suggests that the freemium business model is highly prevalent in the mobile gaming industry, with most developers choosing to offer their games for free and monetizing through in-app purchases or other forms of in-game advertising.\n", "\n", "This also implies that the majority of the top games on the Google Play Store are not relying on the revenue from the initial purchase, but on the revenue generated by in-app purchases and in-game advertising, which can be seen as a way of increasing perceived value of the freemium service as the study by Hamari et al.(2020) mentioned.\n", "\n", "Additionally, this information can be useful for game developers and marketers when considering the pricing strategy for their own mobile games. It may be more beneficial to consider a freemium model rather than charging for the initial download, as it seems to be the more popular and successful choice among top games on the Google Play Store." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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JFVgwPbRliRJGoheeeUV5s+fz4svvtjboaxQhg4dyujRoxkyZEjDy5hoS5Ik9SPz589n+PDhbLrppkREb4ezQshMnnjiCebPn8+YMWMaXs6uI5IkSf3Iiy++yLrrrmuS3YMignXXXbfDvyKYaEuSJPUzJtk9rzPb3ERbkiRJHTJ48GDGjRu37DV37txuXf+SJUv46le/yhZbbLGsjBNPPLFby+gJ9tGWJEnqx7q7cTuz/XmGDRvGjBkzWlk+yUwGDep8e+5xxx3Ho48+yh133MHQoUNZvHgxP/jBDzq9vt5ii7YkSZK6ZO7cuWy11VZ87nOfY8cdd2TevHl873vfY/z48Wy33XYcf/zxy+a98MIL2XnnnRk3bhyf/vSnWbp06XLrev755zn77LM59dRTGTp0KADDhw/nhBNOWDbPxIkT2Wmnndhmm20466yzlo1fffXVOfroo9lpp53Yc889ueWWW5gwYQKbbbYZkydPBmDp0qV85StfWRbbT3/6UwAWLFjAW9/6VsaNG8e2227L9ddf3+XtYqItSZKkDnnhhReWdel43/veB8CsWbM4+OCD+de//sWsWbOYPXs2t9xyCzNmzGD69Olcd911zJw5k1//+tfccMMNzJgxg8GDB3PRRRctt+45c+aw8cYbM3z48FbLP+ecc5g+fTrTpk3jlFNO4YknngDgueeeY8KECUyfPp3hw4dz3HHHcdVVV/G73/2Or3/96wD8/Oc/Z80112Tq1KlMnTqVs88+mwceeIBf/vKX7L333syYMYPbbruNcePGdXk72XVEkiRJHdKy68jcuXPZZJNN2GWXXQC48sorufLKK9lhhx0AePbZZ5k9eza3334706dPZ/z48UCRsK+//vptlvWLX/yCk08+mSeeeIIbb7yRjTbaiFNOOYXf/e53AMybN4/Zs2ez7rrrsvLKK7PPPvsAMHbsWFZZZRWGDBnC2LFjl/Ujv/LKK7n99tu59NJLAXj66aeZPXs248eP5xOf+ASvvPIKEydONNGWJElS37DaaqstG85Mjj32WD796U8vN8+pp57KpEmT+Pa3v93qet7whjfw0EMPsXjxYoYPH84hhxzCIYccwrbbbsvSpUuZMmUKV199NTfddBOrrroqEyZMWHbbvSFDhiy7O8igQYNYZZVVlg0vWbJkWWynnnoqe++99+vKvu666/jTn/7EQQcdxFe+8hUOPvjgLm0Tu450s4jee0mSJPUFe++9N+eccw7PPvssAA8//DALFy5kjz324NJLL2XhwoUAPPnkkzz44IPLLbvqqqty6KGHcsQRRyxLoJcuXcrLL78MFC3Qa6+9Nquuuir33HMPN998c4djO+OMM3jllVcAuPfee3nuued48MEHWX/99fnUpz7FoYceyq233tqlbQC2aEuSJKmb7bXXXsycOZNdd90VKC5SvPDCC9l666351re+xV577cWrr77KkCFDOO2009hkk02WW/7EE0/ka1/7Gttuuy3Dhw9n2LBhTJo0iQ033JCRI0dy5plnst1227Hlllsu667SqE9+8pPMnTuXHXfckcxkxIgRXH755UyZMoXvfe97DBkyhNVXX53zzz+/y9shspF7uPRDTU1NOW3atB4vtzdblgdoVUqSpBozZ85kq6226u0wVkj1tn1ETM/Mpnrz23VEkiRJqoCJtiRJklQBE21JkiSpAibakiRJUgVMtCVJkqQKmGhLkiRJFTDRliRJUocMHjyYcePGse2223LAAQfw/PPPtzrv5MmTOemkk+pOW3311euOf+yxx/jIRz7CZpttxk477cSuu+667JHr/YmJtiRJUn/WC4+aHjZsGDNmzODOO+9k5ZVX5swzz2x13n333Zdjjjmm4Y+TmUycOJG3vvWt3H///UyfPp2LL76Y+fPnN7yOvsJEW5IkSZ22++67M2fOHP7whz/w5je/mR122IE999yTxx57DIBzzz2XI444AoAHHniAXXfdlfHjx/O1r32t7vr+9re/sfLKK/OZz3xm2bhNNtmEI488EoC5c+ey++67s+OOO7Ljjjty4403AjBlyhTe9ra38cEPfpA3vvGNHHPMMVx00UXsvPPOjB07lvvuuw+ARYsW8f73v5/x48czfvx4brjhBgCuvfZaxo0bx7hx49hhhx1YvHhxl7eNibYkSZI6ZcmSJVxxxRWMHTuWt7zlLdx8883861//4sADD+S73/3u6+b//Oc/z2c/+1mmTp3Kf/zHf9Rd51133cWOO+7Yapnrr78+V111Fbfeeiu//vWvOeqoo5ZNu+222zj55JO54447uOCCC7j33nu55ZZb+OQnP8mpp566LIYvfOELTJ06lcsuu4xPfvKTAHz/+9/ntNNOY8aMGVx//fUMGzasK5sGgJW6vAZJkiSt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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(12,6))\n", "\n", "# Create a histogram of installs for games with different prices\n", "plt.hist(df[df['price'] == 0]['installs'], bins = 20, color = 'blue', label = 'Free Games')\n", "plt.hist(df[df['price'] > 0]['installs'], bins = 20, color = 'red', label = 'Paid Games')\n", "\n", "\n", "# Add labels and title\n", "plt.xlabel('Installs')\n", "plt.ylabel('Number of Games')\n", "plt.title('Relationship between Price and Installs for Mobile Games on the Google Play Store')\n", "\n", "# Add a legend\n", "plt.legend()\n", "\n", "# Show the plot\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This code creates a histogram that shows the distribution of installs for free games (in blue) and paid games (in red). The histogram will allow us to see if there is a difference in the number of installs between games with different prices.\n", "\n", "From the histogram, it is clear that free games have significantly more installs than paid games on the Google Play Store. This suggests that most users are more likely to download and play games that are available for free rather than games that require payment.\n", "\n", "This could indicate that mobile games that are free to download and play are more likely to be successful in terms of user engagement and downloads. However, it should be noted that while free games may have more installs, they may not necessarily be more profitable in terms of monetization. Free games may rely on in-app purchases and advertising revenue to generate income.\n", "\n", "On the other hand, paid games have less installs but they generate revenue from their price, this means that if a game is good enough, users are willing to pay for it. This suggests that games that have a unique value proposition and a high level of quality may still be successful even if they are not free.\n", "\n", "One possible strategy for mobile game developers and publishers would be to consider offering a free version of their game with in-app purchases or ads, and also a paid version without them. This would allow users to try the game for free before deciding to pay for it, while still generating revenue from the free version." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(12,6))\n", "\n", "# Scatter plot of rank and average rating\n", "plt.scatter(df['rank'], df['average rating'])\n", "plt.xlabel('Rank')\n", "plt.ylabel('Average Rating')\n", "plt.title('Rank vs Average Rating')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This code creates a scatter plot that visualizes the relationship between the rank of mobile games on the Google Play Storeand the average rating of those games.\n", "\n", "The result of the scatter plot for average rating vs. pricing shows that most of the data points are concentrated around the average rating of 3 and 4. This suggests that the majority of mobile games on the Google Play Store have an average rating that falls within this range.\n", "\n", "From this analysis, we can conclude that the majority of mobile games on the Google Play Store are rated positively by users, with most of them having an average rating of 3 or 4. This indicates that users generally have a positive experience with these games.\n", "\n", "Additionally, we can observe that there is no clear relationship between pricing and average rating, as the data points are spread across the entire range of prices and average ratings. This suggests that pricing does not have a significant impact on the average rating of mobile games on the Google Play Store." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conclusions\n", "\n", "In conclusion, this data analysis aimed to examine the relationship between pricing and performance for mobile games on the Google Play Store. Through the use of scatter plot and other analysis techniques, I was able to gain insights into the factors that influence the popularity and performance of mobile games.\n", "\n", "I found that the majority of mobile games on the Google Play Store have an average rating that falls within the range of 3 to 4, indicating that users generally have a positive experience with these games. Additionally, there is no clear relationship between pricing and average rating, suggesting that pricing does not have a significant impact on the average rating of mobile games.\n", "\n", "Furthermore, it is observed that the growth of a game in terms of ratings over the past 30 days and 60 days, and found that different categories of games have different growth rate. I also discovered that the relationship between price and installs for mobile games on the Google Play Store is not clear, and it depends on the category of the game.\n", "\n", "Finally, I found that rank is a good indicator of the popularity and performance of mobile games, and different categories of games have different performance based on their rank.\n", "\n", "It's important to note that this analysis is based on a small sample of data, and a more comprehensive analysis with a larger dataset would be needed to draw more accurate conclusions about the relationship between pricing and performance for mobile games on the Google Play Store.\n", "\n", "I must say, this data analysis process was a great learning experience for me. It was amazing to see how we can extract meaningful insights from a dataset and understand the underlying patterns and trends in the data. I enjoyed the working process and investigating the impact of pricing on mobile game success.\n", "\n", "I particularly liked how I was able to use different analysis techniques like bar chart to visualize the data and make it more understandable. It was also interesting to see how to use the growth of a game in terms of ratings over the past 30 days and 60 days to understand the popularity of a game.\n", "\n", "I also found it intriguing to see how the relationship between price and installs for mobile games on the Google Play Store is not clear, and it depends on the category of the game. This highlights the complexity of the mobile gaming industry and the multiple factors that influence the success of a game. It also underlines the importance of understanding the specific context and target audience of a game before determining its pricing strategy.\n", "\n", "Another aspect that I found interesting is the relationship between rank and the popularity and performance of mobile games on the Google Play Store. It was fascinating to see how different categories of games have different performance based on their rank, and this highlights the importance of understanding the competition in the market.\n", "\n", "One thing that I found challenging was working with a the data that misses some key information. It made it a bit difficult to draw accurate conclusions about the relationship between pricing and performance for mobile games on the Google Play Store. However, I understand that this is a common limitation when working with real-world data.\n", "\n", "Overall, this data analysis process was a great opportunity for me to apply the concepts and techniques I have learned and enhance my skills in data analysis. I am excited to continue exploring more datasets and uncovering new insights" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References\n", "\n", "Hamari, J., Hanner, N., & Koivisto, J. (2020). “Why pay premium in freemium services?” A study on perceived value, continued use and purchase intentions in free-to-play games. International Journal of Information Management, 51, 102040. https://doi.org/10.1016/j.ijinfomgt.2019.102040" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Appendices" ] }, { "cell_type": "markdown", "metadata": { "editable": false }, "source": [ "## Word Count\n", "\n", "The following code will count the number of words in Markdown cells. Code cells are not included.\n", "\n", "- `Main word count` is the number of words in the main body of the text, *excluding* references or appendices.\n", "- `References and appendices word count` is the number of words in any references or appendices.\n", "\n", "Only `Main word count` relates to the assignment word limit. There is no limit to the number of words that can be included in references or appendices. Please note that appendices should only be used to provide context or supporting information. *No marks will be directly awarded for material submitted in appendices*.\n", "\n", "Important:\n", "\n", "- Please do not modify the word count code!\n", "- To exclude references from your word count **you must** have a cell that starts with the text `## References`. Everything below this cell will not count towards the main word count.\n", "- If you are submitting additional material as appendices **you must** have a cell that starts with the text `## Appendices`. Everything below this cell will not count towards the main word count. If you do not have any appendices you can delete the `## Appendices` cell.\n", "- Code comments should only be used to explain details of the implementation, not for discussing your findings. All analysis commentary **must** be written in Markdown cells. *No marks will be awarded for analysis discussion submitted as comments in code cells*." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "editable": false, "tags": [] }, "outputs": [ { "data": { "application/javascript": [ "\n", "// Run this cell to update your word count.\n", "\n", "function wordcount() {\n", " let wordCount = 0\n", " let extraCount = 0\n", " let mainBody = true\n", "\n", " let cells = Jupyter.notebook.get_cells()\n", " cells.forEach((cell) => {\n", " if (cell.cell_type == 'markdown') {\n", " let text = cell.get_text()\n", " // Stop counting as main body when get to References or Appendices.\n", " if (text.startsWith('## References') ||\n", " text.startsWith('## Appendices')) {\n", " mainBody = false\n", " }\n", " if (text.startsWith('## Word Count')) {\n", " text = ''\n", " }\n", " if (text) {\n", " let words = text.toLowerCase().match(/\\b[a-z\\d]+\\b/g)\n", " if (words) {\n", " let cellCount = words.length\n", " if (mainBody) {\n", " wordCount += cellCount\n", " } else {\n", " extraCount += cellCount\n", " }\n", " }\n", " }\n", " }\n", " })\n", " return [wordCount, extraCount]\n", "}\n", "\n", "let wc = wordcount()\n", "element.append(`Main word count: ${wc[0]} (References and appendices word count: ${wc[1]})`)\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%js\n", "\n", "// Run this cell to update your word count.\n", "\n", "function wordcount() {\n", " let wordCount = 0\n", " let extraCount = 0\n", " let mainBody = true\n", "\n", " let cells = Jupyter.notebook.get_cells()\n", " cells.forEach((cell) => {\n", " if (cell.cell_type == 'markdown') {\n", " let text = cell.get_text()\n", " // Stop counting as main body when get to References or Appendices.\n", " if (text.startsWith('## References') ||\n", " text.startsWith('## Appendices')) {\n", " mainBody = false\n", " }\n", " if (text.startsWith('## Word Count')) {\n", " text = ''\n", " }\n", " if (text) {\n", " let words = text.toLowerCase().match(/\\b[a-z\\d]+\\b/g)\n", " if (words) {\n", " let cellCount = words.length\n", " if (mainBody) {\n", " wordCount += cellCount\n", " } else {\n", " extraCount += cellCount\n", " }\n", " }\n", " }\n", " }\n", " })\n", " return [wordCount, extraCount]\n", "}\n", "\n", "let wc = wordcount()\n", "element.append(`Main word count: ${wc[0]} (References and appendices word count: ${wc[1]})`)" ] } ], "metadata": { "celltoolbar": "Edit Metadata", "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.3" } }, "nbformat": 4, "nbformat_minor": 5 }