Unraveling Consumer Engagement with Graph Analysis

Leveraging graph technology to decipher user engagement patterns within a multi-functional super app.
Graph analysis

A super app amalgamates various services into a single mobile application, ranging from online shopping and social networking to invoice submissions for a loyalty program and parking fee payments. Despite the multitude of features, users may not fully exploit the app's capabilities, often sticking to a single functionality. The challenge here is twofold - Can we discern the sequences of app features most frequently used by an individual user? Additionally, are there underperforming combinations of features that theoretically should appeal to a shared user base, warranting improvements in user flow to stimulate usage?


The approach to this analysis involves constructing a directed graph, where each individual app represents a node, and transitions between apps are indicated as edges. The edges symbolize the proportion of users that transitioned from using one app to another within a specified time window, which could range from a few minutes to hours or even days.

The constructed graph offers two tiers of insights: node-level and edge-level. The size of a node is proportional to the total unique users of the corresponding app during our observation period. For more precise data, hovering over a node will reveal the exact number of users. Meanwhile, the thickness of an edge represents the proportion of users transitioning from the first app to the second.

This method offers immediate insights into which apps drive the most traffic to others, and highlights opportunities for improvement in underperforming app transitions. By refining app design and communication strategies based on these insights, we can effectively enhance user flow and engagement.


The process begins extracting data containing anonymized user ID, app name, and timestamp from the data lake using SQL. Utilizing Python, we construct all possible permutations of app usage, checking the number of users who transitioned from one app to another within the designated time period. This data is subsequently represented as a graph using the Pyvis Network library. For effective visualization of the graph, we utilize the NetworkX library. This method allows us to map user behavior effectively and discern patterns in app usage.

Other projects

Get in touch

If you'd like to learn more about my projects or work together, feel free to reach out! You can also connect with me on LinkedIn

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.