Hi everyone,
I'm wondering if anyone knows of a solution for filtering user segmentations by the newest (current) user property in Amplitude. I've run into some use cases where this feature would be really helpful, but I'm not sure if it exists.
Amplitude's analyses are event-based, which means that filtering in charts is based on the properties at the time of the event. However, there are times when filtering or grouping by current user properties would be more useful.
Examples
Here are a few use cases where we've had a need for such filtering:
A) User origin data comes from a third-party integration - sometimes our engineering team has to enrich user properties after the actual time of the event. For example, an event resembling the sign-up of a user will not contain all properties needed to determine their origin. Thus, filtering in this particular event will return "(none)" for such users.
B) In-depth breakdowns of users' origin can become very detailed very quickly, and various combinations of different user and event properties are often required to classify different origin groups. Some of these events and user properties can still occur at a time after the event of interest, when not all data is available for filtering.
C) Some people who are not as familiar with Amplitude may find it counter-intuitive that filtering is based on the properties at the time of the event. It can sometimes be a challenge to communicate this effectively. For instance, if a user's primary location is in Europe, but they were traveling in the USA at the time of sign-up, they would ultimately appear as a user from the USA in their sign-up event, which from an analytics perspective is biased.
Current solutions
1) Cohorts. One solution is using cohorts, as you can define user cohorts where it's easy to mimic the current user property value and specify multiple user segments in your chart analysis.
The biggest drawback are:
- Limited number of segments in charts (I think it was 9)
- Performance and loading time is impacted when using multiple complex user segments
2) LookUp properties. Uploading a CSV file to lookup properties seems like a perfect solution but there are major drawbacks:
- CSV file is limited to 100MB and 1M of rows
- Manual process that is heavy to maintain and scale
3) Channel classifiers. They don't solve the problem of filtering by the newest/current user property, but they do seem to be an intended solution by Amplitude for use case B). I believe it's worth mentioning here, however, the main drawback is:
- Filtering is happening at the time of the event, i.e. not with the newest/current value
I realize that these may be edge cases that are specific to my workplace, but I'm curious if others have had similar needs or experiences. I would love to hear other people's opinions on this, as I may be missing something obvious. Thank you! :-)