An app category is a broader class assigned to a mobile application according to its function or subject. It converts detailed app names into labels suitable for comparing user behavior. Keeping the original label as an app subcategory preserves a two-level hierarchy. section 12.5.2
A practical categorization workflow starts with distinct app names, assigns broader labels, checks uncategorized cases, reviews questionable assignments, and maps subcategories into higher-level groups. The resulting labels can be merged with event data and summarized per user. section 12.5.2
A usable app-category analysis typically proceeds as follows:
- Create a lookup dataset containing app names and their assigned categories. section 12.5.2
- Inspect category frequencies and isolate entries labeled Unknown or otherwise needing review. section 12.5.2
- Map detailed categories into broader groups while retaining the detailed category as a subcategory. section 12.5.2
- Merge the lookup with event-level app data, checking that the row count is unchanged. section 12.5.2
- Find each user's most common category and investigate ties before encoding the result for user-level analysis. section 12.5.2
From app names to user segments
Detailed labels such as Communication, Email, Messaging, and Social Media can be grouped under Social; Finance, Rewards, and Online Shopping under Money; and Mobile Games, Music Streaming, and Video Streaming under Entertainment. After merging these labels with usage events, analysts can identify the categories each user uses most, resolve ties where necessary, and export a user-level dataset ready for segmentation. section 12.5.2 section 12.5.3
categories = categories.rename(columns={"app_category": "app_subcategory"})
category_map = {
'Advertising': 'Money',
'App Marketplace': 'Entertainment',
'Cloud Storage': 'Utility',
'Communication': 'Social',
'Email': 'Social',
'Finance': 'Money',
'Health': 'Social',
'Messaging': 'Social',
'Mobile Games': 'Entertainment',
'Music Streaming': 'Entertainment',
'Navigation': 'Utility',
'News': 'Social',
'Note Taking': 'Utility',
'Online Shopping': 'Money',
'Photo Editing': 'Utility',
'Photo Management': 'Utility',
'Podcasts': 'Entertainment',
'Productivity': 'Utility',
'Rewards': 'Money',
'Social Media': 'Social',
'Social Media/Messaging': 'Social',
'Survey': 'Money',
'Utility': 'Utility',
'Video Streaming': 'Entertainment',
'Web Browser': 'Browsing',
'Web Browser/Search Engine': 'Browsing'
}
categories["app_category"]
= categories["app_subcategory"].map(category_map)
categories.head()
This mapping snippet makes the hierarchy explicit by renaming the detailed label to app_subcategory and assigning each subcategory to a broader app category. section 12.5.2
