How Data Science can help apps to revive inactive


Nudges or app popup/push notifications is one of the most powerful mediums of influencing user app usage behavior. One of the many possible purposes of this could be to remind the user to use the app. Especially the ones who have installed the app, but not using it. However, there is a possibility that sending extremely frequent nudges can annoy some users, leading them to uninstall the app instead. Hence this suggests a need to compute an optimal time for sending nudges.

Problem in detail

Apart from the execution standpoint problem of system overload for firing push notifications aggressively, there are two other challenges from the user perspective. Firstly, the optimal time is not constant, and secondly each cluster of a user has a different optimal time associated with it. 

Optimal time is not a constant

In the current user behavior dynamics, an optimal value changes as an app upgrades or downgrades its features, causing an impact on the user behavior pattern. For example, for an updated app with a lot more features, nudging a potentially interested but currently dormant user, more aggressively than earlier will certainly be beneficial. 

User stratification

Different user groups or clusters have totally different user behavior. For example, an Indian woman (to-be-mother) from higher socioeconomic background, with already a high motivation for using digital apps for self awareness would need less aggressive notifications as compared to a woman from a lower socioeconomic background, and who would in general use her phone less often. In this example, socioeconomic class and app usage frequency are two stratification factors. 


Probability distribution chart

From the app usage log, a probability density function can be built for a random variable ‘inactive time’. The unit of time can be in days, months or hours depending upon how frequent use is expected. In simple terms, and considering the unit of time in days for most of the practical scenarios, this will depict the probability of a user coming back to the app even after not using for ‘x’ number of days. 

Below is a typical plot of probability density function versus x. The red vertical bar indicates the optimum time in days for nudging corresponding to the sample group. That is somewhere between 25 and 30.

Identifying optimum programmatically

In order to identify the optimum programmatically, one has to identify the most prominent peak and a point following the peak after the slope of the density plot almost flattens out. This can be done using standard mathematical techniques such as an elbow method.  

Stratifying user groups

The user groups can be stratified on the basis of known criteria (such as geographical location, socioeconomic status, etc) or can be real time using unsupervised machine learning clustering techniques.


The probability distribution charts in combination with clustering approach, provides a very sleek machine learning & statistics based approach that can be used to identify a point of time when a particular user should be nudged. This not only is an execution friendly approach, but also drastically reduces the possibility of annoying a user as compared to other aggressive nudging techniques.

Authored by – Rajanikant Ghate

Ref: https://www.researchgate.net/publication/332773772_Functional_Digital_Nudges_Identifying_Optimal_Timing_for_Effective_Behavior_Change

Leave a Comment