AppRecommender

AppRecommender is a research and development project focused on solving one of the most persistent problems in the mobile app market: helping users find the right app without wading through millions of irrelevant results. Developed by Caixa Mágica Software in collaboration with ISCTE-IUL and co-funded by Portugal 2020 under project number 39703, AppRecommender combines a multi-criteria recommendation system with a semantic search engine built specifically for mobile app stores.

The project addresses a market where discovery is broken. Stores like Google Play and Apple’s App Store hold millions of applications. Finding the right one is not a solved problem.

AppRecommender Challenge: A Market Where Discovery Fails

AppRecommender and the Scale of the Problem

By 2017, the Google Play Store had 2.8 million applications. Apple’s App Store had 2.2 million. Aptoide, the independent Android store where Caixa Mágica has deep roots, had over one million. Combined, these stores represent a catalogue so large that simple keyword search is no longer adequate as a discovery mechanism.

The download numbers tell a similar story. In 2016 alone, there were 149.3 billion app downloads globally, a figure expected to double by 2020. But volume does not equal success. Many of those downloads were repeat attempts by users trying to find a suitable app after previous ones failed to meet their needs. In 77% of cases, an app is not used again within 72 hours of installation. Users download, try, abandon, and search again.

Supply and demand are misaligned

The core problem is a mismatch between what stores offer and what users actually need at any given moment. App stores distribute. They do not, in any meaningful sense, recommend. Search results are influenced by download counts, ratings, and paid placement rather than by a genuine understanding of what a specific user is looking for.

As a result, discovery relies heavily on word of mouth. In 2017, 52% of app discoveries happened through recommendations from friends, family, or colleagues. Only 40% came through in-store search. A market worth billions of dollars was dependent on conversations between people rather than on the technology sitting in front of every user.

For developers, the consequences were stark. Gartner predicted that by the end of 2018, fewer than 0.01% of app developers would consider themselves commercially successful. Most apps, regardless of quality, never find their audience.

Why existing search does not solve it

Standard keyword search assumes users know what they are looking for and can articulate it precisely. Neither is reliably true. A user who wants an app to help them track their cycling routes may search for “cycling”, “bike tracker”, “GPS sports”, or any number of variations. They may describe what they want to do rather than what the app is called. Keyword matching handles none of this well.

In practice, what users need is a system that understands intent, knows something about the user’s context and history, and matches that understanding to the actual profile of available apps. That is a fundamentally different technical problem from keyword search, and it is the problem AppRecommender was built to address.

AppRecommender Diagram

Building the AppRecommender System

AppRecommender's Two Complementary Components

AppRecommender is built around two systems that work together: a multi-criteria recommendation engine and a semantic search engine. Each solves a different part of the discovery problem.

AppRecommender’s recommendation engine surfaces apps proactively. It does not wait for a user to search. Instead, it populates touchpoints across mobile homepages, web interfaces, and other surfaces with applications that match the user’s profile, context, and inferred needs. Relevant apps appear before users have to go looking.

Handling the moments when users do search is the role of the semantic search engine. Rather than matching keywords to app titles and descriptions, it attempts to understand what the user actually wants and matches that intent to the app profiles in the store. A user describing a behaviour rather than naming an app category should still get relevant results.

Multi-criteria recommendation

The recommendation component uses multiple data points to assess fit between a user and an app. User profile, past behaviour, current context, device type, location, time of day, and the characteristics of the apps themselves all feed into the calculation.

This approach produces recommendations that are specific to the individual rather than generic to a demographic. Two users with similar profiles but different usage patterns will receive different recommendations because the system accounts for both dimensions. Crucially, recommendations update in real time as context changes. An app relevant at 7am during a commute may differ from one relevant at 8pm at home.

Semantic search for intent matching

The semantic search component addresses the vocabulary problem in app discovery. Users do not search in the same language that developers use to describe their apps. AppRecommender’s search engine is designed to bridge that gap by mapping user intent, expressed in natural language, to the structured profiles of apps in the store.

In practice, this means a user can describe what they want to do and receive results that match their intent rather than their exact words. The system analyses the query, infers what the user is trying to accomplish, and retrieves apps whose profiles align with that goal. This is considerably more useful than returning every app with a matching keyword in its title.

AppRecommender: Real-Time Delivery Across Touchpoints

Both components are designed to operate in real time. Recommendations appear when a user opens the store homepage. Search results return immediately after a query. There is no batch processing or delayed personalisation. The system responds to the user’s current state rather than a snapshot of their history from hours or days ago.

This real-time capability matters because context shifts quickly. A user’s needs at the point of opening an app store are specific to that moment. A recommendation engine that cannot account for current context is working from outdated information.

Research underpinning the system

AppRecommender was not built as a purely commercial product. Its origins are in academic and applied research conducted in collaboration with ISCTE-IUL, one of Portugal’s leading universities for technology and management research. The partnership brought together Caixa Mágica’s engineering capability and Aptoide’s real-world app store data with ISCTE-IUL’s research expertise in recommendation systems and machine learning.

This foundation matters for the quality of the underlying models. Recommendation systems are only as good as the research behind them. Building on peer-reviewed methods and tested approaches rather than ad hoc engineering produces a system that performs reliably across different users, contexts, and app catalogues.

AppRecommender Impact: What Changes for Each Stakeholder

AppRecommender for Users: Finding the Right App the First Time

The most direct benefit of AppRecommender is a reduction in the time and effort users spend looking for apps that actually meet their needs. At present, that process is inefficient by any measure. Users search multiple times, download apps they do not use, and rely on personal recommendations because the store’s own tools are inadequate.

AppRecommender changes the baseline. Users encounter relevant apps at the moment they open the store, before they have to search. When they do search, results reflect their intent rather than a keyword match. The 77% abandonment rate within 72 hours of installation is a direct symptom of poor discovery. In practice, better discovery means users find apps that genuinely fit their needs, which means they are more likely to keep using them.

For developers and companies: reaching the right audience

The commercial failure rate among app developers is not primarily a quality problem. Many good apps never find their users because discovery is dominated by incumbents with large marketing budgets and high download counts. A recommendation system that matches apps to users based on fit rather than popularity gives smaller developers a genuine path to their audience.

For companies promoting apps as part of a broader product or service strategy, AppRecommender offers more precise targeting. Reaching users who are likely to engage with an app, based on their profile and context, is more valuable than reaching a large but undifferentiated audience.

For Caixa Mágica and Aptoide: a better store

Caixa Mágica, as the lead promoter of the AppRecommender project, brings the results directly to market through its relationship with Aptoide. For Aptoide, a store where discovery quality is a competitive differentiator, AppRecommender represents a direct improvement to the core service.

Better recommendations mean users spend more time in the store. More relevant search results mean fewer abandoned sessions. Improved discovery increases the number of active users and the quality of engagement across the platform. Developers who see their apps reaching the right users are more likely to publish through Aptoide and invest in their store presence.