We will have to consider the performance implications of doing this for every single user in every study. But we should devise an engagement measurement, I would propose, per user per day:
1) measure the number of days from the user's 'enrollment' or 'activities_accessed' event;
2) recurs under that count, whether the user signed in on the day of the report (signing in indicates that the user opened and interacted with the app, because the session expires after 12 hours);
We should then be able to sum the answers under the number of days, to create a combined graph of engagement for all users in a study. That is, for one day from enrollment, how many out of a total number of users signed in; for the next day, how many signed in, and so forth. We should see the drop off of users over time, normalized so every participant is on the same timeline.
There could be other (better) ways to measure this. Just proposing one potentially simple measure.