Cohort with distinct value of properties

  • 1 November 2021
  • 3 replies


I work for an app where users can log their meals.
We log these under the same event (logged food) and then we have a property (category) that defines the different meals (i.e. breakfast, lunch, dinner, snack).

I’d like to create a cohort to include our power users, i.e. users who log at least 3 different meals every day. 

Any idea of how I could set this cohort up? 

Good to know: If a user logs two different items (i.e. apple and coffee) for breakfast, this will result in 2 events being fired. This is why I cannot use the “count” in the cohort creation. 

My attempts using the distinct value of property option. I am stuck at the time definition as I’d like to add each day or at least 5 times a week and not during the last 30 days.

Any workaround? 
Thanks in advance


Best answer by Jacenda Davis 2 November 2021, 23:46

View original

3 replies

Userlevel 7
Badge +10

Hey @MDRi 
The “each day or at least 5 times a week” use case can be achieved using the Stickiness chart by toggling the cumulative vs non-cumulative clause. If you can try combining your cohort logic in a stickiness chart and then extracting the cohort via Microscope from the desired “X times a week” data point, you might be able to get something out of this approach. 

Let me know if I have interpreted your use case correctly. Hope this helps!


Hello @Saish Redkar 

Thanks for your reply.
I did try that in the past. However, if you use the microscope to create the cohort then the cohort is static so I guess it just include users who did that particular event during the time selected in the stickiness chart.

Also, I don’t see how I can include the distinct value of property factor. But maybe there is some option I am not considering? 


Userlevel 2
Badge +2

Hello @MDRi,


Thanks for your question! Happy to help.


At the moment the options available for building a cohort will not meet the exact needs of the use case you have described. This is due to the fact that there currently isn't an 'in each' operator available in the define a cohort method, and using an inline cohort would prohibit you from being able to apply the 'distinct number of property values' clause. It is the case that the functionality you are describing would be a feature request. 


I have gone ahead and filed a feature request to our Product Team on your behalf to expand the functionality of the 'define a cohort' feature to include an 'in each' clause. The Team reviews and revisits these requests on an ongoing basis to determine if they align with our product vision and strategy. Should your request make it into the product you and your organization admins will be notified. 

You can also keep up to date on new Amplitude releases in our blog:


As an alternative, the stickiness approach Saish suggested would be the best workaround available to get you close to the cohort you have described. In this case, what you would need to do is apply the cohort you have built to a stickiness chart (i.e. the definition you shared in your first screenshot), then you could use the cumulative view to download a static cohort from the 'on at least 5 days' data point in the chart


I hope this helps!