Skip to main content

Imagine we have a setup right now where every user who comes to the site appears in amplitude.

  1. Every time an event is sent, there is a property called ‘subscribed = =true,false]’
  2. We have a user property called ‘subscribed = btrue, false]
  3. A user can subscribe for a monthly product, this fires an event `subscriptionTransaction’
  4. We do not fire an event for cancelling a subscription, it’s not technically feasible given some externalities in our stack.

What I'm trying to do now is to get a view of all currently active subscriptions. 

This would be: any user who ever did ‘subscriptionTransaction’, whose current subscription status is false. 

This doesn’t seem to be possible to make as a cohort. It doesn’t seem to be possible to create a segmentation like this. Honestly I’m a bit confused at the moment, this entire way of structuring and viewing data is wildly unintuitive and limiting. 

 

Any advice on how to do this, or should I just query our database and foget about amplitude

Hi @Rege Donoss 

What issues are you trying to overcome while building your cohort?

From your “any user who ever did ‘subscriptionTransaction’, whose current subscription status is false. “, my first impression of the cohort clauses seem to be pretty straightforward. Did you try using the “most recently” clause on your “subscribed” property value?

For your current subscribers, shouldn’t this be = true ?

Can a user cancel a subscription and yet, be active on your app with the updated “subscribed” status? This would ensure that the cohort leaves out the users who have been previous subscribers at some point , but not anymore.


Ahh yeah I didn’t notice the most recently. The entire way they structure queries seems odd, like there isn’t a way to say ‘has status = xyz’ that assumes the moment of query rather than some historical window, which is kind of weird but thanks!


Reply