Profitable App Profiles for both App Store and Google Play Markets
This project is to find mobile app profiles that are profitable for both App Store and Google Play markets.
from csv import reader
### The Google Play data set ###
opened_file = open('googleplaystore.csv')
read_file = reader(opened_file)
android = list(read_file)
android_header = android[0]
android = android[1:]
### The App Store data set ###
opened_file = open('AppleStore.csv')
read_file = reader(opened_file)
ios = list(read_file)
ios_header = ios[0]
ios = ios[1:]
Define a function explore_data() that can be used repeatedly to explore rows in a more readable way and also add an option for our function to show the number of rows and columns for any data set
def explore_data(dataset, start, end, rows_and_columns=False):
dataset_slice = dataset[start:end]
for row in dataset_slice:
print(row)
print('\n')
if rows_and_columns:
print('Number of rows:', len(dataset))
print('Number of columns:', len(dataset[0]))
print(android_header)
print('\n')
explore_data(android, 0, 3, True)
['App', 'Category', 'Rating', 'Reviews', 'Size', 'Installs', 'Type', 'Price', 'Content Rating', 'Genres', 'Last Updated', 'Current Ver', 'Android Ver'] ['Photo Editor & Candy Camera & Grid & ScrapBook', 'ART_AND_DESIGN', '4.1', '159', '19M', '10,000+', 'Free', '0', 'Everyone', 'Art & Design', 'January 7, 2018', '1.0.0', '4.0.3 and up'] ['Coloring book moana', 'ART_AND_DESIGN', '3.9', '967', '14M', '500,000+', 'Free', '0', 'Everyone', 'Art & Design;Pretend Play', 'January 15, 2018', '2.0.0', '4.0.3 and up'] ['U Launcher Lite – FREE Live Cool Themes, Hide Apps', 'ART_AND_DESIGN', '4.7', '87510', '8.7M', '5,000,000+', 'Free', '0', 'Everyone', 'Art & Design', 'August 1, 2018', '1.2.4', '4.0.3 and up'] Number of rows: 10841 Number of columns: 13
print(ios_header)
print('\n')
explore_data(ios, 0, 3, True)
['id', 'track_name', 'size_bytes', 'currency', 'price', 'rating_count_tot', 'rating_count_ver', 'user_rating', 'user_rating_ver', 'ver', 'cont_rating', 'prime_genre', 'sup_devices.num', 'ipadSc_urls.num', 'lang.num', 'vpp_lic'] ['284882215', 'Facebook', '389879808', 'USD', '0.0', '2974676', '212', '3.5', '3.5', '95.0', '4+', 'Social Networking', '37', '1', '29', '1'] ['389801252', 'Instagram', '113954816', 'USD', '0.0', '2161558', '1289', '4.5', '4.0', '10.23', '12+', 'Photo & Video', '37', '0', '29', '1'] ['529479190', 'Clash of Clans', '116476928', 'USD', '0.0', '2130805', '579', '4.5', '4.5', '9.24.12', '9+', 'Games', '38', '5', '18', '1'] Number of rows: 7197 Number of columns: 16
Deleting wrong row
print(android[10472])
print('\n')
print(android_header)
print('\n')
print(android[0])
['Life Made WI-Fi Touchscreen Photo Frame', '1.9', '19', '3.0M', '1,000+', 'Free', '0', 'Everyone', '', 'February 11, 2018', '1.0.19', '4.0 and up'] ['App', 'Category', 'Rating', 'Reviews', 'Size', 'Installs', 'Type', 'Price', 'Content Rating', 'Genres', 'Last Updated', 'Current Ver', 'Android Ver'] ['Photo Editor & Candy Camera & Grid & ScrapBook', 'ART_AND_DESIGN', '4.1', '159', '19M', '10,000+', 'Free', '0', 'Everyone', 'Art & Design', 'January 7, 2018', '1.0.0', '4.0.3 and up']
print(len(android))
del android[10472]
print(len(android))
10841 10840
Deleting Duplicte Entries
for app in android:
name = app[0]
if name == 'Instagram':
print(app)
['Instagram', 'SOCIAL', '4.5', '66577313', 'Varies with device', '1,000,000,000+', 'Free', '0', 'Teen', 'Social', 'July 31, 2018', 'Varies with device', 'Varies with device'] ['Instagram', 'SOCIAL', '4.5', '66577446', 'Varies with device', '1,000,000,000+', 'Free', '0', 'Teen', 'Social', 'July 31, 2018', 'Varies with device', 'Varies with device'] ['Instagram', 'SOCIAL', '4.5', '66577313', 'Varies with device', '1,000,000,000+', 'Free', '0', 'Teen', 'Social', 'July 31, 2018', 'Varies with device', 'Varies with device'] ['Instagram', 'SOCIAL', '4.5', '66509917', 'Varies with device', '1,000,000,000+', 'Free', '0', 'Teen', 'Social', 'July 31, 2018', 'Varies with device', 'Varies with device']
duplicate_apps = []
unique_apps = []
for app in android:
name = app[0]
if name in unique_apps:
duplicate_apps.append(name)
else:
unique_apps.append(name)
print('Number of duplicate apps:', len(duplicate_apps))
print('\n')
print('Examples of duplicate apps:', duplicate_apps[:10])
Number of duplicate apps: 1181 Examples of duplicate apps: ['Quick PDF Scanner + OCR FREE', 'Box', 'Google My Business', 'ZOOM Cloud Meetings', 'join.me - Simple Meetings', 'Box', 'Zenefits', 'Google Ads', 'Google My Business', 'Slack']
Duplicate entries need to be removed and keep only one entry per app. Duplicate rows could be removed randomly or better use another alternative. We printed two cells above for the Instagram app, the main difference happens on the fourth position of each row, which corresponds to the number of reviews. The different numbers show that the Data was collected at different times. We can use this to build a criterion for holding rows. We can keep the rows that have the highest number of reviews because the higher the number of reviews, the more reliable the ratings. it can be done in two ways. First, Create a dictionary where each key is a unique app name, and the value is the highest number of reviews of that app. Second, Use the dictionary to create a new data set, which will have only one entry per app (and we only select the apps with the highest number of reviews)
reviews_max = {}
for app in android[1:]:
name = app[0]
n_reviews = float(app[3])
if name in reviews_max and reviews_max[name] < n_reviews:
reviews_max[name] = n_reviews
elif name not in reviews_max:
reviews_max[name] = n_reviews
print('Expected length:', len(android) - 1181)
print('Actual length:', len(reviews_max))
Expected length: 9659 Actual length: 9658
To use reviews_max dictionary to remove the duplicates. For the duplicate cases, we'll only keep the entries with the highest number of reviews. We start by initializing two empty lists, android_clean and already_added. We loop through the android data set, and for every iteration: We isolate the name of the app and the number of reviews. We add the current row (app) to the android_clean list, and the app name (name) to the already_added list if: The number of reviews of the current app matches the number of reviews of that app as described in the reviews_max dictionary; and The name of the app is not already in the already_added list. We need to add this supplementary condition to account for those cases where the highest number of reviews of a duplicate app is the same for more than one entry (for example, the Box app has three entries, and the number of reviews is the same). If we just check for reviews_max[name] == n_reviews, we'll still end up with duplicate entries for some apps.
android_clean = [] #List of apps without dupelicates(w/ data for the apps)
already_added = [] #List of app names already inside android_clean (names only)
for app in android[1:]:
name = app[0]
n_reviews = float(app[3])
if (reviews_max[name] == n_reviews) and (name not in already_added):
android_clean.append(app)
already_added.append(name)
explore_data(android_clean, 0, 3, True)
['U Launcher Lite – FREE Live Cool Themes, Hide Apps', 'ART_AND_DESIGN', '4.7', '87510', '8.7M', '5,000,000+', 'Free', '0', 'Everyone', 'Art & Design', 'August 1, 2018', '1.2.4', '4.0.3 and up'] ['Sketch - Draw & Paint', 'ART_AND_DESIGN', '4.5', '215644', '25M', '50,000,000+', 'Free', '0', 'Teen', 'Art & Design', 'June 8, 2018', 'Varies with device', '4.2 and up'] ['Pixel Draw - Number Art Coloring Book', 'ART_AND_DESIGN', '4.3', '967', '2.8M', '100,000+', 'Free', '0', 'Everyone', 'Art & Design;Creativity', 'June 20, 2018', '1.1', '4.4 and up'] Number of rows: 9658 Number of columns: 13
Removing Non-English Apps
def definitely_english(string):
for character in string:
if ord(character) > 127:
return False
return True
print(definitely_english('Instagram'))
print(definitely_english('爱奇艺PPS -《欢乐颂2》电视剧热播'))
print(definitely_english('Docs To Go™ Free Office Suite'))
print(definitely_english('Instachat 😜'))
True False False False
The function couldn't correctly identify certain English app names like 'Docs To Go™ Free Office Suite' and 'Instachat 😜'. This is because emojis and characters like ™ fall outside the ASCII range and have corresponding numbers over 127. To minimize the impact of data loss, we'll only remove an app if its name has more than three non-ASCII characters:
def definitely_english(string):
non_ascii = 0
for character in string:
if ord(character) > 127:
non_ascii += 1
if non_ascii > 3:
return False
else:
return True
print(definitely_english('Docs To Go™ Free Office Suite'))
print(definitely_english('Instachat 😜'))
print(definitely_english('爱奇艺PPS -《欢乐颂2》电视剧热播'))
True True False
android_english = []
ios_english = []
for app in android_clean:
name = app[0]
if definitely_english(name):
android_english.append(app)
for app in ios:
name = app[1]
if definitely_english(name):
ios_english.append(app)
explore_data(android_english, 0, 3, True)
print('\n')
explore_data(ios_english, 0, 3, True)
['U Launcher Lite – FREE Live Cool Themes, Hide Apps', 'ART_AND_DESIGN', '4.7', '87510', '8.7M', '5,000,000+', 'Free', '0', 'Everyone', 'Art & Design', 'August 1, 2018', '1.2.4', '4.0.3 and up'] ['Sketch - Draw & Paint', 'ART_AND_DESIGN', '4.5', '215644', '25M', '50,000,000+', 'Free', '0', 'Teen', 'Art & Design', 'June 8, 2018', 'Varies with device', '4.2 and up'] ['Pixel Draw - Number Art Coloring Book', 'ART_AND_DESIGN', '4.3', '967', '2.8M', '100,000+', 'Free', '0', 'Everyone', 'Art & Design;Creativity', 'June 20, 2018', '1.1', '4.4 and up'] Number of rows: 9613 Number of columns: 13 ['284882215', 'Facebook', '389879808', 'USD', '0.0', '2974676', '212', '3.5', '3.5', '95.0', '4+', 'Social Networking', '37', '1', '29', '1'] ['389801252', 'Instagram', '113954816', 'USD', '0.0', '2161558', '1289', '4.5', '4.0', '10.23', '12+', 'Photo & Video', '37', '0', '29', '1'] ['529479190', 'Clash of Clans', '116476928', 'USD', '0.0', '2130805', '579', '4.5', '4.5', '9.24.12', '9+', 'Games', '38', '5', '18', '1'] Number of rows: 6183 Number of columns: 16
Isolating the Free Apps
fresh_android = []
fresh_ios = []
for app in android_english:
price = app[7]
if price == '0':
fresh_android.append(app)
for app in ios_english:
price = app[4]
if price == '0.0':
fresh_ios.append(app)
print(len(fresh_android))
print(len(fresh_ios))
8863 3222
As we mentioned in the introduction, our aim is to determine the kinds of apps that are likely to attract more users because our revenue is highly influenced by the number of people using our apps.
To minimize risks and overhead, our validation strategy for an app idea is comprised of three steps:
Build a minimal Android version of the app, and add it to Google Play. If the app has a good response from users, we then develop it further. If the app is profitable after six months, we also build an iOS version of the app and add it to the App Store. Because our end goal is to add the app on both the App Store and Google Play, we need to find app profiles that are successful on both markets. For instance, a profile that might work well for both markets might be a productivity app that makes use of gamification.
Let's begin the analysis by getting a sense of the most common genres for each market. For this, we'll build a frequency table for the prime_genre column of the App Store data set, and the Genres and Category columns of the Google Play data set.
We'll build two functions we can use to analyze the frequency tables:
One function to generate frequency tables that show percentages Another function that we can use to display the percentages in a descending order
def freq_table(dataset, index):
table = {}
total = 0
for row in dataset:
total += 1
value = row[index]
if value in table:
table[value] += 1
else:
table[value] = 1
table_percentages = {}
for key in table:
percentage = (table[key] / total) * 100
table_percentages[key] = percentage
return table_percentages
def display_table(dataset, index):
table = freq_table(dataset, index)
table_display = []
for key in table:
key_val_as_tuple = (table[key], key)
table_display.append(key_val_as_tuple)
table_sorted = sorted(table_display, reverse = True)
for entry in table_sorted:
print(entry[1], ':', entry[0])
display_table(fresh_ios, -5) #prime_genre
Games : 58.16263190564867 Entertainment : 7.883302296710118 Photo & Video : 4.9658597144630665 Education : 3.662321539416512 Social Networking : 3.2898820608317814 Shopping : 2.60707635009311 Utilities : 2.5139664804469275 Sports : 2.1415270018621975 Music : 2.0484171322160147 Health & Fitness : 2.0173805090006205 Productivity : 1.7380509000620732 Lifestyle : 1.5828677839851024 News : 1.3345747982619491 Travel : 1.2414649286157666 Finance : 1.1173184357541899 Weather : 0.8690254500310366 Food & Drink : 0.8069522036002483 Reference : 0.5586592178770949 Business : 0.5276225946617008 Book : 0.4345127250155183 Navigation : 0.186219739292365 Medical : 0.186219739292365 Catalogs : 0.12414649286157665
Frequency Tablefor Apple App Store prime_genre Column Analisis: The most common genre for the apple app store is Games (58.1%) The next most common is Entertainment (8%) While the Least is (0.1%) Give the table above I strongly recommend the company to focus on making apps intended for entertainment and focus more on the Games app genres. However this table only shows the percentage of apps made for each genre and not the amount of user traffic or the number of users, It does not imply that apps of the gaming genre have a large number of users or that other app genres have a low number of users. Further study should be made on the number of reviews/ratings there for each genre of apps, which can be used to judge the number of users for each genre.
display_table(fresh_android, 1) #Genres
FAMILY : 18.910075595170937 GAME : 9.725826469592688 TOOLS : 8.462146000225657 BUSINESS : 4.592124562789123 LIFESTYLE : 3.9038700214374367 PRODUCTIVITY : 3.8925871601038025 FINANCE : 3.7007785174320205 MEDICAL : 3.5315355974275078 SPORTS : 3.396141261423897 PERSONALIZATION : 3.317161232088458 COMMUNICATION : 3.2381812027530184 HEALTH_AND_FITNESS : 3.0802211440821394 PHOTOGRAPHY : 2.944826808078529 NEWS_AND_MAGAZINES : 2.798149610741284 SOCIAL : 2.6627552747376737 TRAVEL_AND_LOCAL : 2.335552296062281 SHOPPING : 2.245289405393208 BOOKS_AND_REFERENCE : 2.1437436533904997 DATING : 1.8616721200496444 VIDEO_PLAYERS : 1.7939749520478394 MAPS_AND_NAVIGATION : 1.399074805370642 FOOD_AND_DRINK : 1.241114746699763 EDUCATION : 1.1621347173643235 ENTERTAINMENT : 0.9590432133589079 LIBRARIES_AND_DEMO : 0.9364774906916393 AUTO_AND_VEHICLES : 0.9251946293580051 HOUSE_AND_HOME : 0.8236488773552973 WEATHER : 0.8010831546880289 EVENTS : 0.7108202640189552 PARENTING : 0.6544059573507841 ART_AND_DESIGN : 0.6318402346835158 COMICS : 0.6205573733498815 BEAUTY : 0.5979916506826132
display_table(fresh_android, -4) #Category
Tools : 8.450863138892023 Entertainment : 6.070179397495204 Education : 5.348076272142616 Business : 4.592124562789123 Productivity : 3.8925871601038025 Lifestyle : 3.8925871601038025 Finance : 3.7007785174320205 Medical : 3.5315355974275078 Sports : 3.463838429425702 Personalization : 3.317161232088458 Communication : 3.2381812027530184 Action : 3.102786866749408 Health & Fitness : 3.0802211440821394 Photography : 2.944826808078529 News & Magazines : 2.798149610741284 Social : 2.6627552747376737 Travel & Local : 2.324269434728647 Shopping : 2.245289405393208 Books & Reference : 2.1437436533904997 Simulation : 2.042197901387792 Dating : 1.8616721200496444 Arcade : 1.8503892587160102 Video Players & Editors : 1.771409229380571 Casual : 1.7601263680469368 Maps & Navigation : 1.399074805370642 Food & Drink : 1.241114746699763 Puzzle : 1.128286133363421 Racing : 0.9928917973598104 Role Playing : 0.9364774906916393 Libraries & Demo : 0.9364774906916393 Auto & Vehicles : 0.9251946293580051 Strategy : 0.9139117680243709 House & Home : 0.8236488773552973 Weather : 0.8010831546880289 Events : 0.7108202640189552 Adventure : 0.6769716800180525 Comics : 0.6092745120162473 Beauty : 0.5979916506826132 Art & Design : 0.5867087893489789 Parenting : 0.4964458986799052 Card : 0.4513144533453684 Casino : 0.42874873067809993 Trivia : 0.4174658693444658 Educational;Education : 0.3949001466771973 Board : 0.38361728534356315 Educational : 0.37233442400992894 Education;Education : 0.33848584000902626 Word : 0.25950581067358686 Casual;Pretend Play : 0.2369400880063184 Music : 0.20309150400541578 Racing;Action & Adventure : 0.16924292000451313 Puzzle;Brain Games : 0.16924292000451313 Entertainment;Music & Video : 0.16924292000451313 Casual;Brain Games : 0.1353943360036105 Casual;Action & Adventure : 0.1353943360036105 Arcade;Action & Adventure : 0.1241114746699763 Action;Action & Adventure : 0.10154575200270789 Educational;Pretend Play : 0.09026289066907367 Simulation;Action & Adventure : 0.07898002933543948 Parenting;Education : 0.07898002933543948 Entertainment;Brain Games : 0.07898002933543948 Board;Brain Games : 0.07898002933543948 Parenting;Music & Video : 0.06769716800180525 Educational;Brain Games : 0.06769716800180525 Casual;Creativity : 0.06769716800180525 Art & Design;Creativity : 0.06769716800180525 Education;Pretend Play : 0.05641430666817105 Role Playing;Pretend Play : 0.045131445334536835 Education;Creativity : 0.045131445334536835 Role Playing;Action & Adventure : 0.033848584000902626 Puzzle;Action & Adventure : 0.033848584000902626 Entertainment;Creativity : 0.033848584000902626 Entertainment;Action & Adventure : 0.033848584000902626 Educational;Creativity : 0.033848584000902626 Educational;Action & Adventure : 0.033848584000902626 Education;Music & Video : 0.033848584000902626 Education;Brain Games : 0.033848584000902626 Education;Action & Adventure : 0.033848584000902626 Adventure;Action & Adventure : 0.033848584000902626 Video Players & Editors;Music & Video : 0.022565722667268417 Sports;Action & Adventure : 0.022565722667268417 Simulation;Pretend Play : 0.022565722667268417 Puzzle;Creativity : 0.022565722667268417 Music;Music & Video : 0.022565722667268417 Entertainment;Pretend Play : 0.022565722667268417 Casual;Education : 0.022565722667268417 Board;Action & Adventure : 0.022565722667268417 Video Players & Editors;Creativity : 0.011282861333634209 Trivia;Education : 0.011282861333634209 Travel & Local;Action & Adventure : 0.011282861333634209 Tools;Education : 0.011282861333634209 Strategy;Education : 0.011282861333634209 Strategy;Creativity : 0.011282861333634209 Strategy;Action & Adventure : 0.011282861333634209 Simulation;Education : 0.011282861333634209 Role Playing;Brain Games : 0.011282861333634209 Racing;Pretend Play : 0.011282861333634209 Puzzle;Education : 0.011282861333634209 Parenting;Brain Games : 0.011282861333634209 Music & Audio;Music & Video : 0.011282861333634209 Lifestyle;Pretend Play : 0.011282861333634209 Lifestyle;Education : 0.011282861333634209 Health & Fitness;Education : 0.011282861333634209 Health & Fitness;Action & Adventure : 0.011282861333634209 Entertainment;Education : 0.011282861333634209 Communication;Creativity : 0.011282861333634209 Comics;Creativity : 0.011282861333634209 Casual;Music & Video : 0.011282861333634209 Card;Action & Adventure : 0.011282861333634209 Books & Reference;Education : 0.011282861333634209 Art & Design;Pretend Play : 0.011282861333634209 Art & Design;Action & Adventure : 0.011282861333634209 Arcade;Pretend Play : 0.011282861333634209 Adventure;Education : 0.011282861333634209
Frequency Table for Google Play Store Category, and Genres Columns Analisis: For the Google Play Store, the most common app categories in order are Family (%18.9), Games (%9.7), and Tools (%8.5) with Family being slightly more than the next 2 largest combined. The least common app categories are Beauty (%0.6) and Comics (%0.6). If we look at the secondary app genres for apps we will see that the three most common genres are Tools (%8.4), Entertainment (%6.0), Education(%5.3), and the least common genres are Arcade; Pretend Play (%0.01), and Adventure; Education (%0.01). It should be noted however that many of the genres in the genres column (containing secondary app genres for apps that accompany the primary app genres in the category column) overlap unlike those in the categories column. On the Google Play Store app categories related to productivity appear to have more apps than on the Apple App Store, however app categories related to entertainment appear to still have a great number of apps. I would still recommend that the company focus on apps in the Games category even if there are fewer games apps than Family apps on the Google Play Store. I base this on the fact that there is an extremely large number of games apps on the Apps Store. However, the frequency tables for the Google Play Store again do not show that the categories have a large number of users, only that those categories have a large number of apps made for them. We can use that to guess whether there is a large or small number of users however at the end of the day that is only a guess until further analysis is made.
genres_ios = freq_table(fresh_ios, -5)
for genre in genres_ios:
total = 0
len_genre = 0
for app in fresh_ios:
genre_app = app[-5]
if genre_app == genre:
n_ratings = float(app[5])
total += n_ratings
len_genre += 1
avg_n_ratings = total / len_genre
print(genre, ':', avg_n_ratings)
Social Networking : 71548.34905660378 Photo & Video : 28441.54375 Games : 22788.6696905016 Music : 57326.530303030304 Reference : 74942.11111111111 Health & Fitness : 23298.015384615384 Weather : 52279.892857142855 Utilities : 18684.456790123455 Travel : 28243.8 Shopping : 26919.690476190477 News : 21248.023255813954 Navigation : 86090.33333333333 Lifestyle : 16485.764705882353 Entertainment : 14029.830708661417 Food & Drink : 33333.92307692308 Sports : 23008.898550724636 Book : 39758.5 Finance : 31467.944444444445 Education : 7003.983050847458 Productivity : 21028.410714285714 Business : 7491.117647058823 Catalogs : 4004.0 Medical : 612.0
for app in fresh_ios:
if app[-5] == 'Navigation':
print(app[1], ':', app[5]) # print name and number of ratings
Waze - GPS Navigation, Maps & Real-time Traffic : 345046 Google Maps - Navigation & Transit : 154911 Geocaching® : 12811 CoPilot GPS – Car Navigation & Offline Maps : 3582 ImmobilienScout24: Real Estate Search in Germany : 187 Railway Route Search : 5
display_table(fresh_android, 5) # the Installs columns
1,000,000+ : 15.728308699086089 100,000+ : 11.55365000564143 10,000,000+ : 10.549475346947986 10,000+ : 10.188423784271691 1,000+ : 8.394448832223853 100+ : 6.916393997517771 5,000,000+ : 6.826131106848697 500,000+ : 5.562450637481666 50,000+ : 4.772650344127271 5,000+ : 4.513144533453684 10+ : 3.542818458761142 500+ : 3.2494640640866526 50,000,000+ : 2.3017037120613786 100,000,000+ : 2.1324607920568655 50+ : 1.9180864267178157 5+ : 0.7898002933543946 1+ : 0.5077287600135394 500,000,000+ : 0.270788672007221 1,000,000,000+ : 0.2256572266726842 0+ : 0.045131445334536835 0 : 0.011282861333634209
categories_android = freq_table(fresh_android, 1)
for category in categories_android:
total = 0
len_category = 0
for app in fresh_android:
category_app = app[1]
if category_app == category:
n_installs = app[5]
n_installs = n_installs.replace(',', '')
n_installs = n_installs.replace('+', '')
total += float(n_installs)
len_category += 1
avg_n_installs = total / len_category
print(category, ':', avg_n_installs)
ART_AND_DESIGN : 2021626.7857142857 AUTO_AND_VEHICLES : 647317.8170731707 BEAUTY : 513151.88679245283 BOOKS_AND_REFERENCE : 8767811.894736841 BUSINESS : 1712290.1474201474 COMICS : 817657.2727272727 COMMUNICATION : 38456119.167247385 DATING : 854028.8303030303 EDUCATION : 1833495.145631068 ENTERTAINMENT : 11640705.88235294 EVENTS : 253542.22222222222 FINANCE : 1387692.475609756 FOOD_AND_DRINK : 1924897.7363636363 HEALTH_AND_FITNESS : 4188821.9853479853 HOUSE_AND_HOME : 1331540.5616438356 LIBRARIES_AND_DEMO : 638503.734939759 LIFESTYLE : 1437816.2687861272 GAME : 15588015.603248259 FAMILY : 3695641.8198090694 MEDICAL : 120550.61980830671 SOCIAL : 23253652.127118643 SHOPPING : 7036877.311557789 PHOTOGRAPHY : 17840110.40229885 SPORTS : 3638640.1428571427 TRAVEL_AND_LOCAL : 13984077.710144928 TOOLS : 10801391.298666667 PERSONALIZATION : 5201482.6122448975 PRODUCTIVITY : 16787331.344927534 PARENTING : 542603.6206896552 WEATHER : 5074486.197183099 VIDEO_PLAYERS : 24727872.452830188 NEWS_AND_MAGAZINES : 9549178.467741935 MAPS_AND_NAVIGATION : 4056941.7741935486
In this project, we analyzed data about the App Store and Google Play mobile apps with the goal of recommending an app profile that can be profitable for both markets.