{"id":46705,"date":"2022-06-02T00:00:00","date_gmt":"2022-06-02T07:00:00","guid":{"rendered":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/"},"modified":"2025-11-13T12:56:03","modified_gmt":"2025-11-13T20:56:03","slug":"visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market","status":"publish","type":"post","link":"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/","title":{"rendered":"Visualizing Scraped Google Play Store Data to Gain Insight into the Android App Market"},"content":{"rendered":"<p>The increasing use of smartphones has encouraged developers to create more and more mobile apps, on both platforms; android and ios. Around 70% of the mobile phones used by people are based on Android, making it more popular among people. In this project, we will be exploring data from the Google Play Store to gain insights regarding the apps and their popularity based on their specifications.<\/p>\n<p><a href=\"https:\/\/github.com\/griddbnet\/Blogs\/tree\/main\/Visualizing%20Scraped%20Google%20Play%20Store%20Data%20to%20Gain%20Insight%20into%20the%20Android%20App%20Market\"> Full source code here <\/a><\/p>\n<h2>Exporting and Import dataset using GridDB<\/h2>\n<p>GridDB is a highly scalable and in-memory No SQL database that allows parallel processing for higher performance and efficiency, especially for our vast dataset. It is optimized for time-series databases for IoT and big data technologies. We can easily connect GridDB to python and use it to import or export data in real-time, with the help of the GridDB-python client.<\/p>\n<h3>Setup GridDB<\/h3>\n<p>First and foremost, we need to make sure that we have properly installed GridDB on our system. Our step-by-step guide available on the website can assist you with setting up GridDB on different operating systems.<\/p>\n<h3>Dataset<\/h3>\n<p>We will be using the dataset from the google play store stored in the CSV &#8216;apps.csv&#8217;. It contains all the details of the applications on Google Play. 13 features describe a given app, including its rating, size, and number of downloads.<\/p>\n<h3>Preprocessing<\/h3>\n<p>Before exporting the data to the GridDB platform, we will perform some preprocessing tasks to clean our data for optimal performance by GridDB. We will read the raw data available to us as CSV file.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-python\">apps_with_duplicates = pd.read_csv('datasets\/apps.csv', index_col=0)    <\/code><\/pre>\n<\/div>\n<p>We have our dataset saved as a dataframe to start the cleaning process. We would be removing some duplicates and null values from the apps dataset. We would also drop some columns that are not required for our analysis in this project and reset the index column to avoid discrepancies in our data.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-python\">apps = apps_with_duplicates.drop_duplicates()\napps.dropna(inplace=True)\napps.drop(['Genres','Content Rating', 'Last Updated', 'Current Ver', 'Android Ver'],axis = 1)   \napps.reset_index(drop=True, inplace=True)\napps.index.name = 'ID' <\/code><\/pre>\n<\/div>\n<p>The last step before storing the dataset is to remove the special characters from our dataset to be able to easily read our numerical data. We have a list of special characters already known that we would remove from our numerical columns.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-python\"># List of characters to remove\nchars_to_remove = ['+', ',', 'M', '$']\n# List of column names to clean\ncols_to_clean = ['Installs', 'Size', 'Price']\n\n\n\n# Loop for each column\nfor col in cols_to_clean:\n    # Replace each character with an empty string\n    for char in chars_to_remove:\n        #print(col)\n        #print(char)\n        apps[col] = apps[col].astype(str).str.replace(char, '')\n    apps[col] = pd.to_numeric(apps[col])\n<\/code><\/pre>\n<\/div>\n<p>We will save the dataframes as local copies on our device before uploading them on GridDB.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-python\">apps.to_csv(\"apps_processed.csv\")<\/code><\/pre>\n<\/div>\n<p>Exporting Dataset into GridDB:<\/p>\n<p>Now we will upload the data to GridDB. For that, we will read the processed CSV files from the local drive and save them to different dataframes.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-python\">#read the cleaned data from csv\napps = pd.read_csv(\"apps_processed.csv\")<\/code><\/pre>\n<\/div>\n<p>Next, we will create a container to pass our column info of apps to the GridDB to be able to generate the design of the database before inserting the row information.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-python\">#Create container \napps_container = \"apps_container\"\n\n# Create containerInfo\napps_containerInfo = griddb.ContainerInfo(apps_container,\n                    [[\"ID\", griddb.Type.INTEGER],\n                    [\"App\", griddb.Type.STRING],\n                    [\"Category\", griddb.Type.STRING],\n                    [\"Rating\", griddb.Type.FLOAT],\n                    [\"Reviews\", griddb.Type.FLOAT],\n                    [\"Size\", griddb.Type.FLOAT],\n                    [\"Installs\", griddb.Type.STRING],\n                    [\"Type\", griddb.Type.STRING],\n                    [\"Price\", griddb.Type.FLOAT]],\n                    griddb.ContainerType.COLLECTION, True)\n                    \napps_columns = gridstore.put_container(apps_containerInfo)\n<\/code><\/pre>\n<\/div>\n<p>After completing the schema, we will insert our row-wise data into the GridDB.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-python\"># Put rows\napps_columns.put_rows(apps)\n<\/code><\/pre>\n<\/div>\n<p>The data is now successfully uploaded to the GridDB platform.<\/p>\n<h3>Importing Dataset from GridDB<\/h3>\n<p>We can easily extract the data from GridDB by creating the container and querying the relevant rows using TQL commands, a query language similar to SQL. We will use different containers and variables to store the two datasets separately.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-python\"># Define the container names\napps_container = \"apps_container\"\n\n# Get the containers\nobtained_apps = gridstore.get_container(apps_container)\n    \n# Fetch all rows - language_tag_container\nquery = obtained_apps.query(\"select *\")\n    \nrs = query.fetch(False)\nprint(f\"{apps_container} Data\")\n    \n# Iterate and create a list\nretrieved_data= []\nwhile rs.has_next():\n    data = rs.next()\n    retrieved_data.append(data)\n\n# Convert the list to a pandas data frame\napps = pd.DataFrame(retrieved_data, columns=[\"ID\",\"App\",\"Category\",\"Rating\",\"Reviews\",\"Size\",\"Installs\",\"Type\",\"Price\"])\n\n# Get the data frame details\nprint(apps)\napps.info()<\/code><\/pre>\n<\/div>\n<p>Our data is now ready to be used for analysis.<\/p>\n<h2>Data Analysis and Visualization<\/h2>\n<p>We will start our analysis by exploring the dataset and understanding a few characteristics of the dataset.<\/p>\n<ol>\n<li>The Total number of distinct apps in our dataset<\/li>\n<\/ol>\n<div class=\"clipboard\">\n<pre><code class=\"language-python\"># Print the total number of apps\nprint('Total number of apps in the dataset = ', len(apps))<\/code><\/pre>\n<\/div>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2022\/04\/NumberofApps.jpg\"><img decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2022\/04\/NumberofApps.jpg\" alt=\"\" width=\"463\" height=\"22\" class=\"aligncenter size-full wp-image-28196\" srcset=\"\/wp-content\/uploads\/2022\/04\/NumberofApps.jpg 463w, \/wp-content\/uploads\/2022\/04\/NumberofApps-300x14.jpg 300w\" sizes=\"(max-width: 463px) 100vw, 463px\" \/><\/a><\/p>\n<ol>\n<li>Most expensive app<\/li>\n<\/ol>\n<div class=\"clipboard\">\n<pre><code class=\"language-python\">Expensiveapp = apps.iloc[appdata['Price'].idxmax()]<\/code><\/pre>\n<\/div>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2022\/04\/ExpensiveApp.jpg\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2022\/04\/ExpensiveApp.jpg\" alt=\"\" width=\"366\" height=\"268\" class=\"aligncenter size-full wp-image-28195\" srcset=\"\/wp-content\/uploads\/2022\/04\/ExpensiveApp.jpg 366w, \/wp-content\/uploads\/2022\/04\/ExpensiveApp-300x220.jpg 300w\" sizes=\"(max-width: 366px) 100vw, 366px\" \/><\/a><\/p>\n<ol>\n<li>Total number of categories in our dataset<\/li>\n<\/ol>\n<div class=\"clipboard\">\n<pre><code class=\"language-python\"># Print the total number of unique categories\nnum_categories = len(apps['Category'].unique())\nprint('Number of categories = ', num_categories)<\/code><\/pre>\n<\/div>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2022\/04\/NumberofCategories.jpg\"><img decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2022\/04\/NumberofCategories.jpg\" alt=\"\" width=\"489\" height=\"20\" class=\"aligncenter size-full wp-image-28198\" srcset=\"\/wp-content\/uploads\/2022\/04\/NumberofCategories.jpg 489w, \/wp-content\/uploads\/2022\/04\/NumberofCategories-300x12.jpg 300w\" sizes=\"(max-width: 489px) 100vw, 489px\" \/><\/a><\/p>\n<ol>\n<li>Average app rating<\/li>\n<\/ol>\n<div class=\"clipboard\">\n<pre><code class=\"language-python\">avg_app_rating = apps['Rating'].mean()\nprint('Average app rating = ', avg_app_rating)<\/code><\/pre>\n<\/div>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2022\/04\/AverageRating.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2022\/04\/AverageRating.jpg\" alt=\"\" width=\"379\" height=\"21\" class=\"aligncenter size-full wp-image-28192\" srcset=\"\/wp-content\/uploads\/2022\/04\/AverageRating.jpg 379w, \/wp-content\/uploads\/2022\/04\/AverageRating-300x17.jpg 300w, \/wp-content\/uploads\/2022\/04\/AverageRating-370x21.jpg 370w\" sizes=\"(max-width: 379px) 100vw, 379px\" \/><\/a><\/p>\n<p>We will continue our analysis by plotting some graphs against different specifications of an application. For example, we will start by dividing the apps into categories and then plotting the number of apps in each category to explore the most popular category among apps on the play store.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-python\"># Count the number of apps in each 'Category' and sort them in descending order\nnum_apps_in_category = apps['Category'].value_counts().sort_values(ascending = False)\nnum_apps_in_category.plot.bar()\nplt.show()<\/code><\/pre>\n<\/div>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2022\/04\/NumberofAppsperCategory.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2022\/04\/NumberofAppsperCategory.png\" alt=\"\" width=\"381\" height=\"364\" class=\"aligncenter size-full wp-image-28197\" srcset=\"\/wp-content\/uploads\/2022\/04\/NumberofAppsperCategory.png 381w, \/wp-content\/uploads\/2022\/04\/NumberofAppsperCategory-300x287.png 300w\" sizes=\"(max-width: 381px) 100vw, 381px\" \/><\/a><\/p>\n<p>We can see that most of the applications belong to the &#8216;Family&#8217; category. One of the reason for high number of applications in this category might be that it targets most of the audience and therefore they have higher chances of success in the market.<\/p>\n<p>We would then use our dataset to gain insights about user preference for the cost of the app. There are two types of apps available on Google Playstore, mostly are free which means they cost $0, while some are paid apps. Let us compare the number of installs for paid applications vs free applications.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-python\">type_installs = apps[[\"Installs\",\"Type\"]].groupby(by = \"Type\").mean()\nsns.barplot(data=type_installs, x=type_installs.index , y = \"Installs\" )<\/code><\/pre>\n<\/div>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2022\/04\/Type_Installs.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2022\/04\/Type_Installs.png\" alt=\"\" width=\"376\" height=\"273\" class=\"aligncenter size-full wp-image-28199\" srcset=\"\/wp-content\/uploads\/2022\/04\/Type_Installs.png 376w, \/wp-content\/uploads\/2022\/04\/Type_Installs-300x218.png 300w\" sizes=\"(max-width: 376px) 100vw, 376px\" \/><\/a><\/p>\n<p>The results are as expected. People tend to download applications that are free and are usually reluctant to pay for them unless necessary.<\/p>\n<p>We will compare the price of the app across different categories. Selecting a few popular categories out of our dataset then plotting it across the apps with prices lesser than $100 would give us a better understanding of the pricing strategy used while developing mobile applications, because most of the applications in our dataset lie below $100 and others would be considered as outliers.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-python\"># Select a few popular app categories\npopular_app_cats = apps[apps.Category.isin(['GAME', 'FAMILY', 'PHOTOGRAPHY',\n                                            'MEDICAL', 'TOOLS', 'FINANCE',\n                                            'LIFESTYLE','BUSINESS'])]\n\n# Select apps priced below $100\napps_under_100 = popular_app_cats[popular_app_cats['Price']&lt;100]\n\nfig, ax = plt.subplots()\nfig.set_size_inches(15, 8)\n\n# Examine price vs category with the authentic apps (apps_under_100)\nax = sns.stripplot(x='Price', y='Category', data=apps_under_100,\n                   jitter=True, linewidth=1)\nax.set_title('App pricing trend across categories after filtering for outliers')\nplt.show()<\/code><\/pre>\n<\/div>\n<p><a href=\"https:\/\/griddb.net\/wp-content\/uploads\/2022\/04\/Category_Price.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/griddb.net\/wp-content\/uploads\/2022\/04\/Category_Price.png\" alt=\"\" width=\"948\" height=\"496\" class=\"aligncenter size-full wp-image-28193\" srcset=\"\/wp-content\/uploads\/2022\/04\/Category_Price.png 948w, \/wp-content\/uploads\/2022\/04\/Category_Price-300x157.png 300w, \/wp-content\/uploads\/2022\/04\/Category_Price-768x402.png 768w, \/wp-content\/uploads\/2022\/04\/Category_Price-600x314.png 600w\" sizes=\"(max-width: 948px) 100vw, 948px\" \/><\/a><\/p>\n<p>We can see that most of the expensive apps belong to the business or medical field, while apps belonging to games, tools, or photography categories lie under $20. This is because of the selected users for which the application is specified. Most of the games of tools or photography applications are designed for leisure purposes and people tend to think twice to spend money on these applications. They generate revenues mostly through ads and\/or third-party collaborations.<\/p>\n<p><a href=\"https:\/\/github.com\/griddbnet\/Blogs\/tree\/main\/Visualizing%20Scraped%20Google%20Play%20Store%20Data%20to%20Gain%20Insight%20into%20the%20Android%20App%20Market\"> Full source code here <\/a><\/p>\n<p><strong>Conclusion:<\/strong><\/p>\n<p>We can conclude that the developing application is as important as other aspects of the product management including setting the price and targeting the audience. All of the analysis was done using the GridDB database at the backend, making the integration seamless and efficient.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The increasing use of smartphones has encouraged developers to create more and more mobile apps, on both platforms; android and ios. Around 70% of the mobile phones used by people are based on Android, making it more popular among people. In this project, we will be exploring data from the Google Play Store to gain [&hellip;]<\/p>\n","protected":false},"author":41,"featured_media":28310,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[121],"tags":[],"class_list":["post-46705","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Visualizing Scraped Google Play Store Data to Gain Insight into the Android App Market | GridDB: Open Source Time Series Database for IoT<\/title>\n<meta name=\"description\" content=\"The increasing use of smartphones has encouraged developers to create more and more mobile apps, on both platforms; android and ios. Around 70% of the\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Visualizing Scraped Google Play Store Data to Gain Insight into the Android App Market | GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"og:description\" content=\"The increasing use of smartphones has encouraged developers to create more and more mobile apps, on both platforms; android and ios. Around 70% of the\" \/>\n<meta property=\"og:url\" content=\"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/\" \/>\n<meta property=\"og:site_name\" content=\"GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/griddbcommunity\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-06-02T07:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-13T20:56:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/griddb.net\/wp-content\/uploads\/2022\/04\/app_1920x1440.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1440\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"griddb-admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:site\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"griddb-admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/\"},\"author\":{\"name\":\"griddb-admin\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233\"},\"headline\":\"Visualizing Scraped Google Play Store Data to Gain Insight into the Android App Market\",\"datePublished\":\"2022-06-02T07:00:00+00:00\",\"dateModified\":\"2025-11-13T20:56:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/\"},\"wordCount\":912,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2022\/04\/app_1920x1440.png\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/\",\"url\":\"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/\",\"name\":\"Visualizing Scraped Google Play Store Data to Gain Insight into the Android App Market | GridDB: Open Source Time Series Database for IoT\",\"isPartOf\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2022\/04\/app_1920x1440.png\",\"datePublished\":\"2022-06-02T07:00:00+00:00\",\"dateModified\":\"2025-11-13T20:56:03+00:00\",\"description\":\"The increasing use of smartphones has encouraged developers to create more and more mobile apps, on both platforms; android and ios. Around 70% of the\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/#primaryimage\",\"url\":\"\/wp-content\/uploads\/2022\/04\/app_1920x1440.png\",\"contentUrl\":\"\/wp-content\/uploads\/2022\/04\/app_1920x1440.png\",\"width\":1920,\"height\":1440},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#website\",\"url\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/\",\"name\":\"GridDB: Open Source Time Series Database for IoT\",\"description\":\"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL\",\"publisher\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#organization\",\"name\":\"Fixstars\",\"url\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"contentUrl\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"width\":200,\"height\":83,\"caption\":\"Fixstars\"},\"image\":{\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/griddbcommunity\/\",\"https:\/\/x.com\/GridDBCommunity\",\"https:\/\/www.linkedin.com\/company\/griddb-by-toshiba\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233\",\"name\":\"griddb-admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g\",\"caption\":\"griddb-admin\"},\"url\":\"https:\/\/griddb.net\/en\/author\/griddb-admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Visualizing Scraped Google Play Store Data to Gain Insight into the Android App Market | GridDB: Open Source Time Series Database for IoT","description":"The increasing use of smartphones has encouraged developers to create more and more mobile apps, on both platforms; android and ios. Around 70% of the","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/","og_locale":"en_US","og_type":"article","og_title":"Visualizing Scraped Google Play Store Data to Gain Insight into the Android App Market | GridDB: Open Source Time Series Database for IoT","og_description":"The increasing use of smartphones has encouraged developers to create more and more mobile apps, on both platforms; android and ios. Around 70% of the","og_url":"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/","og_site_name":"GridDB: Open Source Time Series Database for IoT","article_publisher":"https:\/\/www.facebook.com\/griddbcommunity\/","article_published_time":"2022-06-02T07:00:00+00:00","article_modified_time":"2025-11-13T20:56:03+00:00","og_image":[{"width":1920,"height":1440,"url":"https:\/\/griddb.net\/wp-content\/uploads\/2022\/04\/app_1920x1440.png","type":"image\/png"}],"author":"griddb-admin","twitter_card":"summary_large_image","twitter_creator":"@GridDBCommunity","twitter_site":"@GridDBCommunity","twitter_misc":{"Written by":"griddb-admin","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/#article","isPartOf":{"@id":"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/"},"author":{"name":"griddb-admin","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233"},"headline":"Visualizing Scraped Google Play Store Data to Gain Insight into the Android App Market","datePublished":"2022-06-02T07:00:00+00:00","dateModified":"2025-11-13T20:56:03+00:00","mainEntityOfPage":{"@id":"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/"},"wordCount":912,"commentCount":0,"publisher":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#organization"},"image":{"@id":"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2022\/04\/app_1920x1440.png","articleSection":["Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/","url":"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/","name":"Visualizing Scraped Google Play Store Data to Gain Insight into the Android App Market | GridDB: Open Source Time Series Database for IoT","isPartOf":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/#primaryimage"},"image":{"@id":"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2022\/04\/app_1920x1440.png","datePublished":"2022-06-02T07:00:00+00:00","dateModified":"2025-11-13T20:56:03+00:00","description":"The increasing use of smartphones has encouraged developers to create more and more mobile apps, on both platforms; android and ios. Around 70% of the","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb.net\/en\/blog\/visualizing-scraped-google-play-store-data-to-gain-insight-into-the-android-app-market\/#primaryimage","url":"\/wp-content\/uploads\/2022\/04\/app_1920x1440.png","contentUrl":"\/wp-content\/uploads\/2022\/04\/app_1920x1440.png","width":1920,"height":1440},{"@type":"WebSite","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#website","url":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/","name":"GridDB: Open Source Time Series Database for IoT","description":"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL","publisher":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#organization","name":"Fixstars","url":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/logo\/image\/","url":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","contentUrl":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","width":200,"height":83,"caption":"Fixstars"},"image":{"@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/griddbcommunity\/","https:\/\/x.com\/GridDBCommunity","https:\/\/www.linkedin.com\/company\/griddb-by-toshiba"]},{"@type":"Person","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233","name":"griddb-admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g","caption":"griddb-admin"},"url":"https:\/\/griddb.net\/en\/author\/griddb-admin\/"}]}},"_links":{"self":[{"href":"https:\/\/griddb.net\/en\/wp-json\/wp\/v2\/posts\/46705","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/griddb.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/griddb.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/griddb.net\/en\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/griddb.net\/en\/wp-json\/wp\/v2\/comments?post=46705"}],"version-history":[{"count":1,"href":"https:\/\/griddb.net\/en\/wp-json\/wp\/v2\/posts\/46705\/revisions"}],"predecessor-version":[{"id":51379,"href":"https:\/\/griddb.net\/en\/wp-json\/wp\/v2\/posts\/46705\/revisions\/51379"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/griddb.net\/en\/wp-json\/wp\/v2\/media\/28310"}],"wp:attachment":[{"href":"https:\/\/griddb.net\/en\/wp-json\/wp\/v2\/media?parent=46705"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/griddb.net\/en\/wp-json\/wp\/v2\/categories?post=46705"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/griddb.net\/en\/wp-json\/wp\/v2\/tags?post=46705"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}