This project consists finding which mobile app profiles are profitibale for the App Store and Google Play Markets.
The Apps are free to download, so the companies main source of revenue are in the app-ads. The more users who see and engage with the ad, the more revenue. To gain more users, our goal is to help our developers understand which type of apps are more attractive.
Without spending too much time and resources to find the data we will use an existing sample data. We were able to find 2 data sets that will help us achieve our goal.
The 1st dataset (Link) contains around 10,000 Android apps from Google Play that was collected in August 2018. Directly download the dataset here Link
The 2nd dataset (Link) contains around 7,000 apps from the App Store that was collected in July 2017. Directly download the dataset here Link
First we will open the 2 datasets and then explore them:
### Opening the 2 datasets ##
from csv import reader
## Google Play Dataset ##
opened_file = open('googleplaystore.csv')
read_file = reader(opened_file)
android = list(read_file)
android_header = android[0]
android = android[1:]
## App Store Dataset ##
opened_file = open('AppleStore.csv')
read_file = reader(opened_file)
ios = list(read_file)
ios_header = ios[0]
ios = ios[1:]
Now that the 2 datasets have been opened, we can now proceed exploring them.
First we will write a function called explore_data with an option to show the number of rows and columns per dataset:
## Google play dataset, Android ##
def explore_data (dataset, start, end, rows_and_columns=False): ## 4 parameters ##
dataset_slice = dataset[start:end] ## slices the dataset ##
for row in dataset_slice: ## loops through the slice ##
print(row) ## each iteration prints a row ##
print('\n') ## adds a new empty line after ##
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
After running the explore_data function for the Google Play dataset, we find out that there are 10,841 number of apps and 13 columns.
The columns that will help us the most with our analysis are: 'App', 'Category', 'Reviews', 'Installs', 'Type', 'Price', 'Content Rating' and 'Genres'.
Now to take a look at the dataset of Apple Store:
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
As you see above, we find out that the dataset of the Apple Store contains 7,197 number of apps and 16 columns.
The Columns that will help us with our analysis are: 'track_name', 'currency', 'price', 'rating_count_tot', 'rating_count_ver' and 'prime_genre'.
Details about the column names can be found here Link
There will be times where datasets will have data input errors and must be removed or modified to fit the purpose of our analysis. We will be finding an error within the Google Play dataset.
Through the use of this discussion section we can communicate with others to resolve problems we may have.
One discussion in particular, discussion, states that there is an error for a certain row. The error is in row 10472, below we will find this error and delete it.
### To find the error, we will find which row is not the same length as the header ###
print(android_header) ### print the header to show the right length ###
print('\n')
for row in android:
if len(row)!=len(android_header): ### loop through Google Play data set ###
print(row)
print('\n')
print(android.index(row)) ### print the location of the row ###
['App', 'Category', 'Rating', 'Reviews', 'Size', 'Installs', 'Type', 'Price', 'Content Rating', 'Genres', 'Last Updated', 'Current Ver', 'Android Ver'] ['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'] 10472
Above, show's us that the row *10472* corresponds to the app 'Life Made WI-Fi Touchscreen Photo Frame'.
Directly after the app name, the 'Category' column is missing an input. You can tell by seeing 2 quotation marks surrounding a comma *','*
With this being done, the 'Category' is matched with *'1.9'* and the 'Rating' is matched with *'19'*. This creates an error and needs to be deleted.
### deleting the error ###
print(len(android))
del android[10472] ### only run this once ###
print(len(android))
10841 10840
for app in android:
name = app[0]
if name == 'Facebook':
print(app)
['Facebook', 'SOCIAL', '4.1', '78158306', 'Varies with device', '1,000,000,000+', 'Free', '0', 'Teen', 'Social', 'August 3, 2018', 'Varies with device', 'Varies with device'] ['Facebook', 'SOCIAL', '4.1', '78128208', 'Varies with device', '1,000,000,000+', 'Free', '0', 'Teen', 'Social', 'August 3, 2018', 'Varies with device', 'Varies with device']
Next we will figure out how many duplicate entries there are in total within Google Play dataset:
### Start by creating 2 lists ###
duplicate_apps = []
unique_apps = []
for app in android: ### in operator because we are checking for membership within a list ###
name = app[0]
if name in unique_apps:
duplicate_apps.append(name) ### name existed in unique_apps append it to duplicate_apps ###
else:
unique_apps.append(name) ### name non-existent in unique_apps append it to unique_apps ###
print('Number of duplicate apps:', len(duplicate_apps))
print('\n')
print('Examples of duplicate apps:' , duplicate_apps[:15])
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', 'FreshBooks Classic', 'Insightly CRM', 'QuickBooks Accounting: Invoicing & Expenses', 'HipChat - Chat Built for Teams', 'Xero Accounting Software']
In total, there are *1,181* times when an app occurs more than once.
It's very important to keep one entry per app so we are not wasting time and resources while analyzing data.
If you take a look at the two rows we printed for 'Facebook', there is one difference between both of them. At the 3rd index of each list, 'Reviews', you can see they are not the same which shows that this data was collected at different times.
The Higher the number of reviews, the more reliable it is and the more recent the data is. With this being said, we will keep the row with the highest review count and remove the other entries.
First we will create a dictionary so that each key is a unique app name and the corresponding dictionary value is the highest number of reviews of that app.
reviews_max = {}
for app in android:
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
Previously we found out that there are *1,181* times when an app occurs more than once.
With this information, we will take the difference between the length of our data set and *1,181* to see if it is equal to to the length of our dictionary (unique_apps).
print('Expected length:', len(android) - 1181)
print('Actual length:', len(reviews_max))
Expected length: 9659 Actual length: 9659
Now to use the reviews_max dictionary created in the above cell to remove all the duplicates.
1st, we will start by creating two empty lists:
2nd, we will loop through the Android dataset and for every iteration:
android_clean = []
already_added = []
for app in android:
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)
Lets explore the android_clean dataset to confirm that we have *9,659* rows
explore_data(android_clean, 0, 3, True)
['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'] ['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'] Number of rows: 9659 Number of columns 13
We can now confirm that we have *9,659* rows as anticipated.
For this project, we are only intrested in the apps with the English language. Each letter in the English alphabet has a corresponding number associated with it using the ASCII standard.
The ASCII standard states all English characters correspond to the numbers between *0* and *127*.
Lets build a function that checks an apps name and tells us if it contains non-ASCII characters.
Using the built-in ord( ) function, we will find out the corresponding number of each character.
def english_lang(string):
for character in string:
if ord(character) > 127:
return False
return True
### Time to check our work with these app names ###
print(english_lang('Instagram'))
print(english_lang('爱奇艺PPS -《欢乐颂2》电视剧热播'))
True False
The funciton is working properly.
Yet we come across another problem. Some app names consist of emojis or other symbols that are not within the ASCII range and will be removed because of this and we will lose useful data.
### useful apps being removed because of emojis, symbols, etc... ###
print(english_lang('Docs To Go™ Free Office Suite'))
print(english_lang('Instachat 😜'))
print('\n')
print(ord('™')) ### symbol is > 127 so it thinks the app is not in English ###
print(ord('😜'))
False False 8482 128540
It's very important to minimize the impact of data loss.
We will only remove an app if its name has more than *3* non ASCII characters.
def english_lang(string):
non_ascii = 0
for character in string:
if ord(character) > 127:
non_ascii += 1
if non_ascii > 3:
return False
else:
return True
### time to check the above function ###
print(english_lang('Docs To Go™ Free Office Suite'))
print(english_lang('Instachat 😜'))
print(english_lang('爱奇艺PPS -《欢乐颂2》电视剧热播'))
True True False
Without spending to much time in optimization, our function is working the way we want it to with very few non-English apps passing through.
Now we will use the english_lang function we created to filter out the non-English apps for both Datasets.
android_english = []
ios_english = []
for app in android_clean:
name = app[0]
if english_lang(name):
android_english.append(app)
for app in ios:
name = app[1]
if english_lang(name):
ios_english.append(app)
explore_data(android_english, 0, 3, True)
print('\n')
explore_data(ios_english, 0, 3, True)
['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'] ['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'] Number of rows: 9614 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
We are left with, *9,614* Android apps and *6,183* IOS apps
The last step of our data cleaning process is to isolate the free apps from the non-free apps.
android_final = []
ios_final = []
for app in android_english:
price = app[7]
if price == '0':
android_final.append(app)
for app in ios_english:
price = app[4]
if price == '0.0':
ios_final.append(app)
### checking the length of each dataset to see how many apps remain ###
print(len(android_final))
print(len(ios_final))
8864 3222
After isolating the free apps from the non-free, we have *8,864* Android apps and *3,222* IOS apps leftover.
Time to begin our analysis!
With the apps being free to download and use, our revenue source comes from in app-adds. Our goal is to find what kind of apps appeal and attract more users. The more users use an app, the more revenue it brings in.
Our validation strategy for an app to minimize risks and overhead consists of three steps:
Our end goal is to add the app on both Google Play and the App Store. For this to happen we must find profiles that are successful in both markets.
We will begin our analysis by determining the most common genres for each market.
Start by building a frequency table for prime_genre column of the App Store data set and the Genres and Category columns of Google Play data set.
To analyze these frequency tables we will build two functions:
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_value_as_tuple = (table[key], key)
table_display.append(key_value_as_tuple)
table_sorted = sorted(table_display, reverse = True)
for entry in table_sorted:
print(entry[1], ':', entry[0])
Lets anaylze the frequency table we generated for the prime_genre column of the App Store data set.
display_table(ios_final, 11)
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
Above, we can see that more than half (*58.16%) of the apps are in the Games* genre. Which makes this the most common genre of apps of the App Store.
This is followed by Entertainment (*7.88%), then Photo & Video(4.96%*), etc...
Most of the free apps designed are dominated by entertainment use suchs as Games, Photo & Video, Social Networking and Sports. Apps that are designed for practical purposes such as Education, Shopping and lifestyle are rare and less.
This can tell us that there is a large market for gaming based off the amount of apps in the App Store. Yet, this does not imply that they have the most amount of users. The demand might not equal the offer.
We will continue by analyzing the frequency table for Category and Genres column of the Google Play dataset
### Start with the Category column ###
display_table(android_final, 1)
FAMILY : 18.907942238267147 GAME : 9.724729241877256 TOOLS : 8.461191335740072 BUSINESS : 4.591606498194946 LIFESTYLE : 3.9034296028880866 PRODUCTIVITY : 3.892148014440433 FINANCE : 3.7003610108303246 MEDICAL : 3.531137184115524 SPORTS : 3.395758122743682 PERSONALIZATION : 3.3167870036101084 COMMUNICATION : 3.2378158844765346 HEALTH_AND_FITNESS : 3.0798736462093865 PHOTOGRAPHY : 2.944494584837545 NEWS_AND_MAGAZINES : 2.7978339350180503 SOCIAL : 2.6624548736462095 TRAVEL_AND_LOCAL : 2.33528880866426 SHOPPING : 2.2450361010830324 BOOKS_AND_REFERENCE : 2.1435018050541514 DATING : 1.861462093862816 VIDEO_PLAYERS : 1.7937725631768955 MAPS_AND_NAVIGATION : 1.3989169675090252 FOOD_AND_DRINK : 1.2409747292418771 EDUCATION : 1.1620036101083033 ENTERTAINMENT : 0.9589350180505415 LIBRARIES_AND_DEMO : 0.9363718411552346 AUTO_AND_VEHICLES : 0.9250902527075812 HOUSE_AND_HOME : 0.8235559566787004 WEATHER : 0.8009927797833934 EVENTS : 0.7107400722021661 PARENTING : 0.6543321299638989 ART_AND_DESIGN : 0.6430505415162455 COMICS : 0.6204873646209386 BEAUTY : 0.5979241877256317
The Google Play store has a more significant stand with apps that are designed for practical purposes(family, tools, Business, etc..).
The leading genre is family at *18.90%, followed by Game* at *9.72%* and so on.
As we investigate further, we find out that the family category contains a lot of games for kids. Here you can see the apps under the family category within Google Play store, Google Play store: Family.
### Genre Column ###
display_table(android_final, -4)
Tools : 8.449909747292418 Entertainment : 6.069494584837545 Education : 5.347472924187725 Business : 4.591606498194946 Productivity : 3.892148014440433 Lifestyle : 3.892148014440433 Finance : 3.7003610108303246 Medical : 3.531137184115524 Sports : 3.463447653429603 Personalization : 3.3167870036101084 Communication : 3.2378158844765346 Action : 3.1024368231046933 Health & Fitness : 3.0798736462093865 Photography : 2.944494584837545 News & Magazines : 2.7978339350180503 Social : 2.6624548736462095 Travel & Local : 2.3240072202166067 Shopping : 2.2450361010830324 Books & Reference : 2.1435018050541514 Simulation : 2.0419675090252705 Dating : 1.861462093862816 Arcade : 1.8501805054151623 Video Players & Editors : 1.7712093862815883 Casual : 1.7599277978339352 Maps & Navigation : 1.3989169675090252 Food & Drink : 1.2409747292418771 Puzzle : 1.128158844765343 Racing : 0.9927797833935018 Role Playing : 0.9363718411552346 Libraries & Demo : 0.9363718411552346 Auto & Vehicles : 0.9250902527075812 Strategy : 0.9138086642599278 House & Home : 0.8235559566787004 Weather : 0.8009927797833934 Events : 0.7107400722021661 Adventure : 0.6768953068592057 Comics : 0.6092057761732852 Beauty : 0.5979241877256317 Art & Design : 0.5979241877256317 Parenting : 0.4963898916967509 Card : 0.45126353790613716 Casino : 0.42870036101083037 Trivia : 0.41741877256317694 Educational;Education : 0.39485559566787 Board : 0.3835740072202166 Educational : 0.3722924187725632 Education;Education : 0.33844765342960287 Word : 0.2594765342960289 Casual;Pretend Play : 0.236913357400722 Music : 0.2030685920577617 Racing;Action & Adventure : 0.16922382671480143 Puzzle;Brain Games : 0.16922382671480143 Entertainment;Music & Video : 0.16922382671480143 Casual;Brain Games : 0.13537906137184114 Casual;Action & Adventure : 0.13537906137184114 Arcade;Action & Adventure : 0.12409747292418773 Action;Action & Adventure : 0.10153429602888085 Educational;Pretend Play : 0.09025270758122744 Simulation;Action & Adventure : 0.078971119133574 Parenting;Education : 0.078971119133574 Entertainment;Brain Games : 0.078971119133574 Board;Brain Games : 0.078971119133574 Parenting;Music & Video : 0.06768953068592057 Educational;Brain Games : 0.06768953068592057 Casual;Creativity : 0.06768953068592057 Art & Design;Creativity : 0.06768953068592057 Education;Pretend Play : 0.056407942238267145 Role Playing;Pretend Play : 0.04512635379061372 Education;Creativity : 0.04512635379061372 Role Playing;Action & Adventure : 0.033844765342960284 Puzzle;Action & Adventure : 0.033844765342960284 Entertainment;Creativity : 0.033844765342960284 Entertainment;Action & Adventure : 0.033844765342960284 Educational;Creativity : 0.033844765342960284 Educational;Action & Adventure : 0.033844765342960284 Education;Music & Video : 0.033844765342960284 Education;Brain Games : 0.033844765342960284 Education;Action & Adventure : 0.033844765342960284 Adventure;Action & Adventure : 0.033844765342960284 Video Players & Editors;Music & Video : 0.02256317689530686 Sports;Action & Adventure : 0.02256317689530686 Simulation;Pretend Play : 0.02256317689530686 Puzzle;Creativity : 0.02256317689530686 Music;Music & Video : 0.02256317689530686 Entertainment;Pretend Play : 0.02256317689530686 Casual;Education : 0.02256317689530686 Board;Action & Adventure : 0.02256317689530686 Video Players & Editors;Creativity : 0.01128158844765343 Trivia;Education : 0.01128158844765343 Travel & Local;Action & Adventure : 0.01128158844765343 Tools;Education : 0.01128158844765343 Strategy;Education : 0.01128158844765343 Strategy;Creativity : 0.01128158844765343 Strategy;Action & Adventure : 0.01128158844765343 Simulation;Education : 0.01128158844765343 Role Playing;Brain Games : 0.01128158844765343 Racing;Pretend Play : 0.01128158844765343 Puzzle;Education : 0.01128158844765343 Parenting;Brain Games : 0.01128158844765343 Music & Audio;Music & Video : 0.01128158844765343 Lifestyle;Pretend Play : 0.01128158844765343 Lifestyle;Education : 0.01128158844765343 Health & Fitness;Education : 0.01128158844765343 Health & Fitness;Action & Adventure : 0.01128158844765343 Entertainment;Education : 0.01128158844765343 Communication;Creativity : 0.01128158844765343 Comics;Creativity : 0.01128158844765343 Casual;Music & Video : 0.01128158844765343 Card;Action & Adventure : 0.01128158844765343 Books & Reference;Education : 0.01128158844765343 Art & Design;Pretend Play : 0.01128158844765343 Art & Design;Action & Adventure : 0.01128158844765343 Arcade;Pretend Play : 0.01128158844765343 Adventure;Education : 0.01128158844765343
The difference between the Category column and the Genre column is that the genre column has more categories. As we move forward and looking at the bigger picture, we will only be using the Category column.
Now lets summarize what we know. The App Store is domniated by apps for entertainment purposes and fun. While Google Play store is more diversed and balanced between entertainment apps and practical use apps.
The frequency tables we have generated only tells us which percentage of apps fall into what genre and category. Now its time to find out which apps are the most popular (most active users).
To find which apps are the most popular (most users), we will be calculating the average number of installs for each app genre.
We find this information within the Installs column for the Google Play data set. For the App Store data set we will do things a little different since there is no information given about this. As a proxy, we will take the total number of user ratings which can be found in the rating_count_tot app.
Lets start by calculating the average number of user ratings per app genre on App Store:
genres_ios = freq_table(ios_final, -5)
for genre in genres_ios:
total = 0
len_genre = 0
for app in ios_final:
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
Looking at the list above, we can see that the Navigation app has the highest number of user reviews. Its not a suprise to see this thanks to the influence of big players such as Waze and Google Maps.
Waze and Google Maps combined almost have up to half a million user reviews:
for app in ios_final:
if app[-5] == 'Navigation':
print(app[1], ':', app[5])
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
With these big players dominating this genre of the market, competition will be cutthroat.
Lets take a look at the Travel genre:
for app in ios_final:
if app[-5] == 'Travel':
print(app[1], ':', app[5])
Google Earth : 446185 Yelp - Nearby Restaurants, Shopping & Services : 223885 GasBuddy : 145549 TripAdvisor Hotels Flights Restaurants : 56194 Uber : 49466 Lyft : 46922 HotelTonight - Great Deals on Last Minute Hotels : 32341 Hotels & Vacation Rentals by Booking.com : 31261 Southwest Airlines : 30552 Airbnb : 22302 Expedia Hotels, Flights & Vacation Package Deals : 10278 Fly Delta : 8094 Hopper - Predict, Watch & Book Flights : 6944 United Airlines : 5748 Skiplagged — Actually Cheap Flights & Hotels : 1851 Viator Tours & Activities : 1839 iExit Interstate Exit Guide : 1798 Gogo Entertainment : 1482 Google Street View : 1450 Webcams – EarthCam : 912 HISTORY Here : 685 DB Navigator : 512 Mobike - Dockless Bike Share : 494 MiFlight™ – Airport security line wait times at checkpoints for domestic and international travelers : 493 BlaBlaCar - Trusted Carpooling : 397 Six Flags : 353 Google Trips – Travel planner : 329 Voyages-sncf.com : book train and bus tickets : 268 Trainline UK: Live Train Times, Tickets & Planner : 248 Urlaubspiraten : 188 铁路12306 : 177 Ryanair - Cheapest Fares : 175 飞猪 : 154 Fleet Air Travel Guide & Airport Directory : 105 FlixBus - bus travel in Europe : 92 Ab in den Urlaub – Pauschalreisen günstig buchen : 22 SNCF : 7 skyticket - Reserve Best Valued Air Tickets : 0 Fluege.de - Finde den billigsten Flug : 0 VoiceTra(Voice Translator) : 0
The Travel genre shows more potential for revenue because the bigger players are more diverse within thier dominance within the market.
There are several apps within this genre that can do multitude of services for the consumer such as purchasing a airline ticket, hotel and rental car on one platform (TripAdvisor Hotels Flights Restaurants). Or apps that are stricly selective on one purpose such as solely purchasing ailrine tickets (* United Airlines*)
With this diversity, there are advantages where in another genre's such as Navigation really doesn't exist.
Now it's time to take a look at analyzing the Google Play market.
Since having the data of the number of installs, it should be easier to attain the genre popularity. On the other hand, the numbers arent actually precise and mostly left open-ended (*1,000,000+, 100,000+, 10,000+*, etc..).
display_table(android_final, 5)
1,000,000+ : 15.726534296028879 100,000+ : 11.552346570397113 10,000,000+ : 10.548285198555957 10,000+ : 10.198555956678701 1,000+ : 8.393501805054152 100+ : 6.915613718411552 5,000,000+ : 6.825361010830325 500,000+ : 5.561823104693141 50,000+ : 4.7721119133574 5,000+ : 4.512635379061372 10+ : 3.5424187725631766 500+ : 3.2490974729241873 50,000,000+ : 2.3014440433213 100,000,000+ : 2.1322202166064983 50+ : 1.917870036101083 5+ : 0.78971119133574 1+ : 0.5076714801444043 500,000,000+ : 0.2707581227436823 1,000,000,000+ : 0.22563176895306858 0+ : 0.04512635379061372 0 : 0.01128158844765343
With this information we cant tell that an app with *10,000* installs really has 10,000, 20,000, or all the way up to 49,000 installs. Makes it not the most precise.
However, we only want to find out which app genres attract the most users. We don't need it to be perfect precision with respect to the numbers of users. We will leave the numbers as they are.
*100,000+* app installs will mean 100,000 installs, *10,000+* app installs will mean 10,000 installs and so on.
We will start by computing the average number of installs for each genre (category) while converting each install number to float. If we do not convert to float (remove commas and plus characters) the conversion will raise an error.
categories_android = freq_table(android_final, 1)
for category in categories_android:
total = 0
len_category = 0
for app in android_final:
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 : 1986335.0877192982 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
The list above tells us that Communication apps has the most installs on average at *38,456,119. Followed by Video_Players* at *24,727,872* and thirdly Social with *23,253,652* installs.
Each of these three categorys of apps are heavily influenced by big players.
This tells us that a small amount of apps contain the larger amount of installs
for app in android_final:
if app[1] == 'COMMUNICATION' and (app[5] == '1,000,000,000+'
or app[5] == '500,000,000+'
or app[5] == '100,000,000+'):
print(app[0], ':', app[5])
WhatsApp Messenger : 1,000,000,000+ imo beta free calls and text : 100,000,000+ Android Messages : 100,000,000+ Google Duo - High Quality Video Calls : 500,000,000+ Messenger – Text and Video Chat for Free : 1,000,000,000+ imo free video calls and chat : 500,000,000+ Skype - free IM & video calls : 1,000,000,000+ Who : 100,000,000+ GO SMS Pro - Messenger, Free Themes, Emoji : 100,000,000+ LINE: Free Calls & Messages : 500,000,000+ Google Chrome: Fast & Secure : 1,000,000,000+ Firefox Browser fast & private : 100,000,000+ UC Browser - Fast Download Private & Secure : 500,000,000+ Gmail : 1,000,000,000+ Hangouts : 1,000,000,000+ Messenger Lite: Free Calls & Messages : 100,000,000+ Kik : 100,000,000+ KakaoTalk: Free Calls & Text : 100,000,000+ Opera Mini - fast web browser : 100,000,000+ Opera Browser: Fast and Secure : 100,000,000+ Telegram : 100,000,000+ Truecaller: Caller ID, SMS spam blocking & Dialer : 100,000,000+ UC Browser Mini -Tiny Fast Private & Secure : 100,000,000+ Viber Messenger : 500,000,000+ WeChat : 100,000,000+ Yahoo Mail – Stay Organized : 100,000,000+ BBM - Free Calls & Messages : 100,000,000+
This shows that this app genre is somewhat dominated by few giants which can make competition cutthroat and a fight for earning revenue.
lets try to find an app genre with a decent amount of user installs and fewer amount of popular apps that skew the average: TRAVEL_AND_LOCAL
for app in android_final:
if app[1] == 'TRAVEL_AND_LOCAL':
print(app[0], ':', app[5])
trivago: Hotels & Travel : 50,000,000+ Hopper - Watch & Book Flights : 5,000,000+ TripIt: Travel Organizer : 1,000,000+ Trip by Skyscanner - City & Travel Guide : 500,000+ CityMaps2Go Plan Trips Travel Guide Offline Maps : 1,000,000+ KAYAK Flights, Hotels & Cars : 10,000,000+ World Travel Guide by Triposo : 500,000+ Booking.com Travel Deals : 100,000,000+ Hostelworld: Hostels & Cheap Hotels Travel App : 1,000,000+ Google Trips - Travel Planner : 5,000,000+ GPS Map Free : 5,000,000+ GasBuddy: Find Cheap Gas : 10,000,000+ Southwest Airlines : 5,000,000+ AT&T Navigator: Maps, Traffic : 10,000,000+ VZ Navigator : 50,000,000+ KakaoMap - Map / Navigation : 10,000,000+ AirAsia : 10,000,000+ Expedia Hotels, Flights & Car Rental Travel Deals : 10,000,000+ Goibibo - Flight Hotel Bus Car IRCTC Booking App : 10,000,000+ Allegiant : 1,000,000+ Amtrak : 1,000,000+ JAL (Domestic and international flights) : 1,000,000+ Flight & Hotel Booking App - ixigo : 5,000,000+ VZ Navigator for Tablets : 500,000+ TripAdvisor Hotels Flights Restaurants Attractions : 100,000,000+ HSL - Tickets, route planner and information : 100,000+ Wisepilot for XPERIA™ : 5,000,000+ VZ Navigator for Galaxy S4 : 5,000,000+ MAIN : 1,000,000+ Yoriza Pension - travel, lodging, pension, camping, caravan, pool villas accommodation discount : 1,000,000+ Foursquare Swarm: Check In : 10,000,000+ PagesJaunes - local search : 10,000,000+ Flightradar24 Flight Tracker : 10,000,000+ Yatra - Flights, Hotels, Bus, Trains & Cabs : 10,000,000+ SNCF : 5,000,000+ Fly Delta : 5,000,000+ Skyscanner : 10,000,000+ Despegar.com Hotels and Flights : 10,000,000+ Navigation Plus : 1,000,000+ 2GIS: directory & navigator : 50,000,000+ Poynt : 5,000,000+ Gaode Map : 1,000,000+ Priceline Hotel Deals, Rental Cars & Flights : 5,000,000+ TravelPirates : 1,000,000+ Free Radar Detector : 1,000,000+ American Airlines : 5,000,000+ Where to travel - ticket. hotel. train ticket. car ticket. travel. tickets : 1,000,000+ United Airlines : 5,000,000+ NTES : 10,000,000+ Where is my Train : Indian Railway & PNR Status : 10,000,000+ MakeMyTrip-Flight Hotel Bus Cab IRCTC Rail Booking : 10,000,000+ Restaurant Finder : 1,000,000+ Zagat : 100,000+ Gormey: Find Best Restaurants : 1,000+ Find Dining Restaurant Finder : 100,000+ Urbanspoon Restaurant Reviews : 5,000,000+ Yelp: Food, Shopping, Services Nearby : 10,000,000+ Qatar Airways : 1,000,000+ Hipmunk Hotels & Flights : 1,000,000+ Skiplagged — Exclusive Flights & Hotels : 1,000,000+ CWT To Go : 100,000+ British Airways : 1,000,000+ Cheap Flights & Hotels momondo : 5,000,000+ CheapTickets – Hotels, Flights & Travel Deals : 1,000,000+ JetBlue : 1,000,000+ Flights : 1,000,000+ Cheapflights – Flight Search : 5,000,000+ KLM - Royal Dutch Airlines : 1,000,000+ Orbitz - Hotels, Flights & Package Deals : 1,000,000+ Lufthansa : 1,000,000+ easyJet: Travel App : 10,000,000+ IndiGo : 5,000,000+ LateRooms: Find Hotel Deals : 1,000,000+ Choice Hotels : 1,000,000+ Couchsurfing Travel App : 1,000,000+ Hotwire Hotel & Car Rental App : 1,000,000+ HOTEL DEALS : 100,000+ HomeAway Vacation Rentals : 5,000,000+ IHG®: Hotel Deals & Rewards : 1,000,000+ SPG: Starwood Hotels & Resorts : 1,000,000+ Hotels.com: Book Hotel Rooms & Find Vacation Deals : 10,000,000+ HotelTonight: Book amazing deals at great hotels : 5,000,000+ Airbnb : 10,000,000+ Hotels Combined - Cheap deals : 5,000,000+ Agoda – Hotel Booking Deals : 10,000,000+ Turo - Better Than Car Rental : 1,000,000+ Ascape VR: 360° Virtual Travel : 100,000+ Cheap hotel deals and discounts — Hotellook : 1,000,000+ Maps - Navigate & Explore : 1,000,000,000+ GPS Status & Toolbox : 10,000,000+ Airport + Flight Tracker Radar : 1,000,000+ Scout GPS Navigation & Meet Up : 5,000,000+ Street Panorama View : 1,000,000+ Geo Tracker - GPS tracker : 1,000,000+ DreamTrips : 500,000+ Navmii GPS USA (Navfree) : 500,000+ Sygic Truck GPS Navigation : 1,000,000+ Google Street View : 1,000,000,000+ Air Transat CinePlus B : 50,000+ U-Haul : 100,000+ Octo U: Your driving companion : 50,000+ Flexiroam X : 100,000+ Connect.ae - Local Search UAE : 10,000+ Toppen af Danmark : 5,000+ Alabama Road Trips : 10,000+ Official AL Fishing & Hunting : 50,000+ Where Am I At? : 10,000+ Where Am I? GPS Loc : 10,000+ Live Camera Viewer ★ World Webcam & IP Cam Streams : 10,000,000+ Portal AR - Step Into Scotland : 5,000+ Casino AZ/Talking Stick Resort : 10,000+ Explore Sedona & Northern AZ : 10,000+ Arizona Trail : 5,000+ Phoenix and Arizona Cameras : 10,000+ Experience BA : 100+ BA Status : 100+ Avios for Android : 100,000+ Explore British Columbia - BC Travel Guide : 500+ BC Highways - Road Conditions : 10,000+ Victoria, BC | Tour City : 1,000+ British Columbia Tourist Places (Guide) : 100+ BG Metro - Red voznje : 1,000+ BG Guide : 100+ trip.bg : 1,000+ Belo Horizonte Map offline : 1,000+ BH Mission Playbook : 100+ BH Rocking : 100+ Digital Tourist BH Itinerary : 500+ BL info : 5,000+ BPme - Mobile Fuel Payment & BP Driver Rewards app : 10,000+ Wherever BQ : 50+ BU Dental GoGoldman : 100+ BU Questrom Launch : 100+ BU School of Public Health : 10+ BV Aventure : 100+ BV Rando : 100+ Best Western To Go : 100,000+ BW Map mobile : 10,000+ Best Western e-Concierge Hotel : 10,000+ 24/7 BZ Reis : 100,000+ BZ Vesper-App : 1,000+ Restaurantführer Südbaden : 1,000+ BZ Straußenführer : 10,000+ California Cameras - Traffic : 10,000+ Kiosque CD : 5+ US 115th CD : 5+ CE AH VLJ : 1,000+ search.ch : 500,000+ CJ's Coffee Cafe : 500+ Camping and Co - Camping in Europe : 1,000+ CQ Hotels : 10,000+ SHUTTLLS CQ - Connect Ride Go : 5+ Cathay Pacific : 1,000,000+ Map of Cyprus offline : 10,000+ DB BAHN : 500+ DB FahrtProfi : 1,000+ DC Metro Transit - Free : 500,000+ DC Trails-Hop On Hop Off Tours : 5,000+ Can I pack that? - DG App : 10,000+ DG Cars : 10,000+ DK Eyewitness Audio Walks : 1,000+ DM Transfers Dalaman Transfers : 10,000+ US DV Lottery 2020 Apply : 10,000+ US DV Lottery 2019 : 1,000+ DW Maps : 10,000+ junainfo.dy.fi : 100+ Siyaha Dz : 10,000+ IRIS : Customer Service - DZ Algeria : 1,000+ DZ Fly Algérie Horaire Vols : 10,000+ EA Plus : 1,000+ EB Events : 10,000+ Audiowalk EB : 10+ EF Go Ahead Tour Companion : 1,000+ EF Summits : 100+ EG SIM CARD (EGSIMCARD) : 10,000+ The Emirates App : 1,000,000+ Ek-yatri: Travel where you Belong : 1+ EL AL Flights : 100,000+ DreamStream By EL AL : 100,000+ El Dorado App : 10,000+ EO Hotels : 100+ Fill 'er Up : 5,000+ MAPS.ME – Offline Map and Travel Navigation : 50,000,000+ Google Earth : 100,000,000+ Offline Maps & Navigation : 5,000,000+ myLPG.eu : 50,000+ Passenger rights : 50,000+ taxi.eu : 100,000+ To-U - free EV public charging : 1,000+ Bird - Enjoy The Ride : 500,000+ eCooltra: scooter sharing. Share electric scooters : 100,000+ XE Currency : 10,000,000+ Etihad Airways : 500,000+ EZ TAG Express : 10,000+ Santa Fe Map and Walks : 1,000+ Santa Fe VIP Tours : 100+ Toyota Cruisers & Trucks Mag : 500+ FL State Parks Guide : 100,000+ Florida Travel Guide : 1,000+ The Florida Trail Guide : 5,000+ Florida Keys : 10,000+ Florida Travel Guide - TOURIAS : 10,000+ Florida map : 5,000+ Florida Beach Wallpapers HD : 100+ ORLANDO FLORIDA MAP : 1,000+ Florida Offline Road Map : 10,000+ Florida Map offline : 1,000+
There are a variety of apps in the Travel_AND_LOCAL genre, yet fewer big number of popular apps that skew the average:
for app in android_final:
if app[1] == 'TRAVEL_AND_LOCAL' and (app[5] == '1,000,000,000+'
or app[5] == '500,000,000+'
or app[5] == '100,000,000+'):
print(app[0], ':', app[5])
Booking.com Travel Deals : 100,000,000+ TripAdvisor Hotels Flights Restaurants Attractions : 100,000,000+ Maps - Navigate & Explore : 1,000,000,000+ Google Street View : 1,000,000,000+ Google Earth : 100,000,000+
With very few popular apps this market shows a promising potential.
Lets get some app ideas based on the apps that are somewhat in the middle in terms of popularity (between 1,000,000 and 50,000,000 downloads):
for app in android_final:
if app[1] == 'TRAVEL_AND_LOCAL' and (app[5] == '1,000,000+'
or app[5] == '5,000,000+'
or app[5] == '10,000,000+'
or app[5] == '50,000,000+'):
print(app[0], ':', app[5])
trivago: Hotels & Travel : 50,000,000+ Hopper - Watch & Book Flights : 5,000,000+ TripIt: Travel Organizer : 1,000,000+ CityMaps2Go Plan Trips Travel Guide Offline Maps : 1,000,000+ KAYAK Flights, Hotels & Cars : 10,000,000+ Hostelworld: Hostels & Cheap Hotels Travel App : 1,000,000+ Google Trips - Travel Planner : 5,000,000+ GPS Map Free : 5,000,000+ GasBuddy: Find Cheap Gas : 10,000,000+ Southwest Airlines : 5,000,000+ AT&T Navigator: Maps, Traffic : 10,000,000+ VZ Navigator : 50,000,000+ KakaoMap - Map / Navigation : 10,000,000+ AirAsia : 10,000,000+ Expedia Hotels, Flights & Car Rental Travel Deals : 10,000,000+ Goibibo - Flight Hotel Bus Car IRCTC Booking App : 10,000,000+ Allegiant : 1,000,000+ Amtrak : 1,000,000+ JAL (Domestic and international flights) : 1,000,000+ Flight & Hotel Booking App - ixigo : 5,000,000+ Wisepilot for XPERIA™ : 5,000,000+ VZ Navigator for Galaxy S4 : 5,000,000+ MAIN : 1,000,000+ Yoriza Pension - travel, lodging, pension, camping, caravan, pool villas accommodation discount : 1,000,000+ Foursquare Swarm: Check In : 10,000,000+ PagesJaunes - local search : 10,000,000+ Flightradar24 Flight Tracker : 10,000,000+ Yatra - Flights, Hotels, Bus, Trains & Cabs : 10,000,000+ SNCF : 5,000,000+ Fly Delta : 5,000,000+ Skyscanner : 10,000,000+ Despegar.com Hotels and Flights : 10,000,000+ Navigation Plus : 1,000,000+ 2GIS: directory & navigator : 50,000,000+ Poynt : 5,000,000+ Gaode Map : 1,000,000+ Priceline Hotel Deals, Rental Cars & Flights : 5,000,000+ TravelPirates : 1,000,000+ Free Radar Detector : 1,000,000+ American Airlines : 5,000,000+ Where to travel - ticket. hotel. train ticket. car ticket. travel. tickets : 1,000,000+ United Airlines : 5,000,000+ NTES : 10,000,000+ Where is my Train : Indian Railway & PNR Status : 10,000,000+ MakeMyTrip-Flight Hotel Bus Cab IRCTC Rail Booking : 10,000,000+ Restaurant Finder : 1,000,000+ Urbanspoon Restaurant Reviews : 5,000,000+ Yelp: Food, Shopping, Services Nearby : 10,000,000+ Qatar Airways : 1,000,000+ Hipmunk Hotels & Flights : 1,000,000+ Skiplagged — Exclusive Flights & Hotels : 1,000,000+ British Airways : 1,000,000+ Cheap Flights & Hotels momondo : 5,000,000+ CheapTickets – Hotels, Flights & Travel Deals : 1,000,000+ JetBlue : 1,000,000+ Flights : 1,000,000+ Cheapflights – Flight Search : 5,000,000+ KLM - Royal Dutch Airlines : 1,000,000+ Orbitz - Hotels, Flights & Package Deals : 1,000,000+ Lufthansa : 1,000,000+ easyJet: Travel App : 10,000,000+ IndiGo : 5,000,000+ LateRooms: Find Hotel Deals : 1,000,000+ Choice Hotels : 1,000,000+ Couchsurfing Travel App : 1,000,000+ Hotwire Hotel & Car Rental App : 1,000,000+ HomeAway Vacation Rentals : 5,000,000+ IHG®: Hotel Deals & Rewards : 1,000,000+ SPG: Starwood Hotels & Resorts : 1,000,000+ Hotels.com: Book Hotel Rooms & Find Vacation Deals : 10,000,000+ HotelTonight: Book amazing deals at great hotels : 5,000,000+ Airbnb : 10,000,000+ Hotels Combined - Cheap deals : 5,000,000+ Agoda – Hotel Booking Deals : 10,000,000+ Turo - Better Than Car Rental : 1,000,000+ Cheap hotel deals and discounts — Hotellook : 1,000,000+ GPS Status & Toolbox : 10,000,000+ Airport + Flight Tracker Radar : 1,000,000+ Scout GPS Navigation & Meet Up : 5,000,000+ Street Panorama View : 1,000,000+ Geo Tracker - GPS tracker : 1,000,000+ Sygic Truck GPS Navigation : 1,000,000+ Live Camera Viewer ★ World Webcam & IP Cam Streams : 10,000,000+ Cathay Pacific : 1,000,000+ The Emirates App : 1,000,000+ MAPS.ME – Offline Map and Travel Navigation : 50,000,000+ Offline Maps & Navigation : 5,000,000+ XE Currency : 10,000,000+
Above we have the amount of downloads between 1 million to 50 million for the apps in TRAVEL_AND_LOCAL genre. Lets start breaking it down into intervals to see if we can find a pattern:
for app in android_final:
if app[1] == 'TRAVEL_AND_LOCAL' and (app[5] == '1,000,000+'):
print(app[0], ':', app[5])
print('\n')
for app in android_final:
if app[1] == 'TRAVEL_AND_LOCAL' and (app[5] == '5,000,000+'):
print(app[0], ':', app[5])
print('\n')
for app in android_final:
if app[1] == 'TRAVEL_AND_LOCAL' and (app[5] == '10,000,000+'):
print(app[0], ':', app[5])
print('\n')
for app in android_final:
if app[1] == 'TRAVEL_AND_LOCAL' and (app[5] == '50,000,000+'):
print(app[0], ':', app[5])
TripIt: Travel Organizer : 1,000,000+ CityMaps2Go Plan Trips Travel Guide Offline Maps : 1,000,000+ Hostelworld: Hostels & Cheap Hotels Travel App : 1,000,000+ Allegiant : 1,000,000+ Amtrak : 1,000,000+ JAL (Domestic and international flights) : 1,000,000+ MAIN : 1,000,000+ Yoriza Pension - travel, lodging, pension, camping, caravan, pool villas accommodation discount : 1,000,000+ Navigation Plus : 1,000,000+ Gaode Map : 1,000,000+ TravelPirates : 1,000,000+ Free Radar Detector : 1,000,000+ Where to travel - ticket. hotel. train ticket. car ticket. travel. tickets : 1,000,000+ Restaurant Finder : 1,000,000+ Qatar Airways : 1,000,000+ Hipmunk Hotels & Flights : 1,000,000+ Skiplagged — Exclusive Flights & Hotels : 1,000,000+ British Airways : 1,000,000+ CheapTickets – Hotels, Flights & Travel Deals : 1,000,000+ JetBlue : 1,000,000+ Flights : 1,000,000+ KLM - Royal Dutch Airlines : 1,000,000+ Orbitz - Hotels, Flights & Package Deals : 1,000,000+ Lufthansa : 1,000,000+ LateRooms: Find Hotel Deals : 1,000,000+ Choice Hotels : 1,000,000+ Couchsurfing Travel App : 1,000,000+ Hotwire Hotel & Car Rental App : 1,000,000+ IHG®: Hotel Deals & Rewards : 1,000,000+ SPG: Starwood Hotels & Resorts : 1,000,000+ Turo - Better Than Car Rental : 1,000,000+ Cheap hotel deals and discounts — Hotellook : 1,000,000+ Airport + Flight Tracker Radar : 1,000,000+ Street Panorama View : 1,000,000+ Geo Tracker - GPS tracker : 1,000,000+ Sygic Truck GPS Navigation : 1,000,000+ Cathay Pacific : 1,000,000+ The Emirates App : 1,000,000+ Hopper - Watch & Book Flights : 5,000,000+ Google Trips - Travel Planner : 5,000,000+ GPS Map Free : 5,000,000+ Southwest Airlines : 5,000,000+ Flight & Hotel Booking App - ixigo : 5,000,000+ Wisepilot for XPERIA™ : 5,000,000+ VZ Navigator for Galaxy S4 : 5,000,000+ SNCF : 5,000,000+ Fly Delta : 5,000,000+ Poynt : 5,000,000+ Priceline Hotel Deals, Rental Cars & Flights : 5,000,000+ American Airlines : 5,000,000+ United Airlines : 5,000,000+ Urbanspoon Restaurant Reviews : 5,000,000+ Cheap Flights & Hotels momondo : 5,000,000+ Cheapflights – Flight Search : 5,000,000+ IndiGo : 5,000,000+ HomeAway Vacation Rentals : 5,000,000+ HotelTonight: Book amazing deals at great hotels : 5,000,000+ Hotels Combined - Cheap deals : 5,000,000+ Scout GPS Navigation & Meet Up : 5,000,000+ Offline Maps & Navigation : 5,000,000+ KAYAK Flights, Hotels & Cars : 10,000,000+ GasBuddy: Find Cheap Gas : 10,000,000+ AT&T Navigator: Maps, Traffic : 10,000,000+ KakaoMap - Map / Navigation : 10,000,000+ AirAsia : 10,000,000+ Expedia Hotels, Flights & Car Rental Travel Deals : 10,000,000+ Goibibo - Flight Hotel Bus Car IRCTC Booking App : 10,000,000+ Foursquare Swarm: Check In : 10,000,000+ PagesJaunes - local search : 10,000,000+ Flightradar24 Flight Tracker : 10,000,000+ Yatra - Flights, Hotels, Bus, Trains & Cabs : 10,000,000+ Skyscanner : 10,000,000+ Despegar.com Hotels and Flights : 10,000,000+ NTES : 10,000,000+ Where is my Train : Indian Railway & PNR Status : 10,000,000+ MakeMyTrip-Flight Hotel Bus Cab IRCTC Rail Booking : 10,000,000+ Yelp: Food, Shopping, Services Nearby : 10,000,000+ easyJet: Travel App : 10,000,000+ Hotels.com: Book Hotel Rooms & Find Vacation Deals : 10,000,000+ Airbnb : 10,000,000+ Agoda – Hotel Booking Deals : 10,000,000+ GPS Status & Toolbox : 10,000,000+ Live Camera Viewer ★ World Webcam & IP Cam Streams : 10,000,000+ XE Currency : 10,000,000+ trivago: Hotels & Travel : 50,000,000+ VZ Navigator : 50,000,000+ 2GIS: directory & navigator : 50,000,000+ MAPS.ME – Offline Map and Travel Navigation : 50,000,000+
We will categorize the apps into thier own category of the service it provides (*1,000,000* - *50,000,000*)
(*1,000,000*) Category : Amount
So the genre of apps that were most popular with the least amount of installs are where a consumer can purchase an airline ticket (Qatar Airways, British Airways, etc.. ). Closely behind this are the apps that are a one stop shop where a consumer can purchase tickets, hotels and rental cars on the same app (TripIt: Travel Organizer, CityMaps2Go Plan Trips Travel Guide Offline Maps, etc..)
(*5,000,000*) Category : Amount
As the amount of installs increase there are really no major changes excpet *0* for apps strictly to rent a car and Navigation apps overtakes the lodging apps.
(*10,000,000*) Category : Amount
Starting to see a patern where Travel Organizer apps, Airline apps, and Navigation apps are the most popular in terms of installs.
(*50,000,000*) Category : Amount
There is a strong competition for apps between Airline apps,Travel Organizer apps and Navigation apps. There is significantly less competition between Railroad apps, Resturaunt apps and Car rental apps.
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.
The Travel genre in both markets have a decent amount of installs and active users. This alone has a potential for it be a profitable venture with our in-add apps revenue system.
We took it a step further and analyzed within the Travel genre, there are apps that offer many different services on one app or one select service per app. This makes it very diverse for the consumer to make a decsion on which app to use for thier travels.
This is where we can profit. With such diversity we have a larger audience. We can experiment with the two ways, one app that is a one stop shop for the consumer and apps that are strictly selective for one purpose. Can even take a step futher and let one app promote the other app if it's a better deal for the consumer, win win.