You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What percentage of users with the feature A enabled came back the next week of their signup
After how many weeks our mobile users made their first purchase
We need to have access to two things : acquisition date and event date
acquisition date can be sign up, first visit, first visit with a specific device, …
event date can be purchases with date for each
We need to be able to filter events
app versions
feature enabled
browsers
location of user
The retention rate will be calculated this way :
filter events
aggregate events (for every browsers, app version ...)
histogram on the diff between acquisition date and event date
Using flat document.
# we keep only events for the browser Chromequery:filtered:filter:terms:browser.family:"Chrome"# we split our results using the app versionaggs:appversion:terms:field:"appVersion"# and we calculate the number of days between the signup and the first buyaggs:firstBuy:histogram:script:"Days.daysBetween(doc['signup_date'], doc['first_buy_date']).getDays()"interval:"7"
Using a flat document has the advantages to be fast at execution time and easy to write the query (good point for Kibana)
However, it has a few drawbacks: slow to index, consume more memory and not really future proof.
The main problem is that it's not future proof. Since everything is stored inside a unique document, if you want to add useful data into a session, you would have to add it as well into this document and everything not in this document is not available at all.
draft
Goal:
Cohort analysis -› retention rate …
We need to have access to two things : acquisition date and event date
We need to be able to filter events
The retention rate will be calculated this way :
Using flat document.
Using a flat document has the advantages to be fast at execution time and easy to write the query (good point for Kibana)
However, it has a few drawbacks: slow to index, consume more memory and not really future proof.
The main problem is that it's not future proof. Since everything is stored inside a unique document, if you want to add useful data into a session, you would have to add it as well into this document and everything not in this document is not available at all.
Proposed schema for flat document
The text was updated successfully, but these errors were encountered: