Using public transportation is a localized experience that changes depending on infrastructure, familiarity, culture, individual needs and capabilities. In this feature we created an experience that adapts and changes to the user behavior to provide predictive personalized suggestions depending on user context.
Personalized Experience
Previously, Moovit lacked user context awareness, which ultimately led to high-friction when using the app. The new "personalized smart cards" homepage concept initiated personalized interactions, taking into account current user location, user past searched locations in accordance with the time of day, in order to provide predictive suggestions and adapt to the user's needs.
Discoverability and Navigation
User insights revealed that users who experienced specific inner screens, and especially the “Line View” screen, showed positive metrics of increased retention and engagement. Through UX journey analysis, It became apparent users were experiencing high friction while navigating the app in order to reach these screens.
Because the feature was a byproduct of the homepage concept redesign, it was constrained in development scope, but laid the foundations for personalized experience and easier navigation
The data structure users interact with on public transportation is:
📍 1. Destinations (to reach a destination, user needs a route)
🗺️ a. Routes (a route consists of walking / commuting /waiting legs etc..)
🚏 i. Stations (bus station / metro station... Each station has lines)
🚌 1. Lines (line 1, 238, 501... Each line has trips)
🗓️ a. Trips (a trip has a direction and a time. Example: line 1 to Tel Aviv at 10:07)
Note: This is a general structure.
There can be additional sub-data set such as line-updates, arrival times, route changes, payments etc.
The data-set users interact with on public-transportation is highly-variable (arrival times, line updates, route changes etc.).
Up until the introduction of the “Personalized Smart Cards”, the mindset was to give users the raw data, unfiltered and unrefined, leaving them to sort out the rest. This eventually led to 2 problems that were addressed:
🚧 1. High friction usage
🤯 2. Data overload
In order to help users make a decision without feeling overwhelmed, we need to provide the balanced amount of relevant data to help users navigate and progressively reveal more data as users dive deeper in the app.
The problem was, how is it possible to know what will the user want to do next?
How can we reduce the friction for users to reach the screen with the relevant information for him / her?
Since different users use Moovit in different ways according to their needs and habits, I needed to find a personalization mechanism that will suit these types of behaviors, all while being flexible enough for future modifications.
Through multiple brainstorms and collaboration with the data science and data analytics teams, we've come up with a "Prediction Model" to predict what will the user want to do next and provide relevant suggestions tailor made for the user.
The solution will provide relevant public transport suggestions based on frequent destinations, frequent lines and stations.
This will provide added value of personalization, and provide easy access and navigation to the relevant screens.
In order to achieve maximum prediction accuracy we combined and leveraged 3 variables:
🌍 1. Current user location
💁 2. Pattern of use (searched locations + favorites)
⏰ 3. Time of day
In order to provide value with minimal friction, users didn’t need to actively set their “Home” or “Work” or other favorite locations to receive predictive suggestions (although it helps with prediction accuracy).
These variables were synthesized together to provide the most accurate suggestive result, tailored specifically for each user.
In order to provide predictive suggestions, I've utilized card-based convention in a horizontal scroll.
I've designed the cards so they can hold the minimal amount of information to act as starting point in order to help users make a decision without feeling overwhelmed with data.
The cards were designed to accommodate different types of use cases, and they're sorted by relevance so the first card is the most relevant depending on the current user context.
Each user should receive an experience that adapts to their way of navigating the public transport domain.
Using public transportation differs by countries and cities, therefore the experience should adapt accordingly to fit the user needs, capabilities and behavior.
The approach was to enable users to easily understand the received-suggestions without overwhelming with information. Using horizontal scroll, users can tap and swipe and more information will be progressively revealed.
Dual advantage
For new users with no data, the cards will fallback and show stations and lines nearby. Once new users start interacting with the app, the model will learn their pattern of use and will modify the predictive-suggestions accordingly.
This has the dual advantage of mitigating friction for exploration in order to reach high-value screens - especially for new users unfamiliar with the app, and with time the model will learn the user’s patterns and suggest more accurate predictive-suggestions.
Using semantic colors
Tapping in to existing user routine
An interesting behavior we found from one of the early tests showed that new users had almost 2x more CTR.
This suggested that veteran users had already formed strong usage-patterns with the app and were not finding the cards valuable enough in order to change their patterns of behavior.
At this point we’ve introduced a new type of card the "Recently Viewed" card, in which if the user saw a specific route itinerary, the entry point to that route would be updated as the first card for the entire duration of the trip.
This card is highly contextual, and shown only as a result from a specific user action, therefore it had the highest CTR of all cards, so much so that veteran users were starting to use the feature more and eventually increasing veteran users' CTR by ~70%.
To test if our hypothesis is correct, we ran a “shuffle” test in which the cards were shuffled VS control group.
Testing showed that the test group with the shuffled cards CTR dropped by ~50% compared to the control group. This meant that the prediction model was working and provided relevant predictions most of the time.
By taking into account multiple data points and combining them, we were able to estimate with high degree of certainty what the user will want to do next. With this insights we can provide users with smoother navigation to specific pieces of information they want, while providing added layer of personalization.
The prediction model improves with every use by learning the popular locations, stations and lines the user regularly uses, and will predict the most relevant suggestion by combining the 3 variables mentioned.
KPIs improvements:
📊
Increase in reaching inner screens
🥳
Improved user retention
📈
Increased revenue from ad exposure
In one of the conversations with R&D, we’ve found out that in order to save the user’s battery, we needed to add a “refresh option”.
Moovit’s users can be on the move and change their current location every second, they can be riding the bus, take the metro, walk to a station - and in order to not drain the phone’s battery on every GPS update, we added a manual “refresh”.
Fresh data will still be generated each time the users opens the app, this way GPS sampling will not drain the battery too much.
Nevertheless, we cannot expect all users to manually refresh, therefore we opted for an automatic refresh every 2 minutes of usage. This way users will still receive updated data without draining the battery but still be able to manually refresh
The feature had great positive impact for both users and the company, improving retention by +10%, increased by +30% reaching inner screens and improved revenue from ad-exposure by +6% as it brought value for both the users and the business.
This was a a journey of 6 months of planning, testing, designing, developing iterations that were the result collaboration of design, product, data and R&D coming together for a unified goal.
Additional Links: