I'm currently designing a webapp that has three product tiers. Within the app you can create an organization and a specified number of people, documents and parts can belong to it depending on the product plan that the organization owner pays for.

Upgrading the plan seems like a no-brainer. The user chooses to upgrade, we send them to the third-party payment vendor and unlock the next highest tier for them.

Where I'm having difficulty is with the downgrade. If a person goes from a tier that allows 50 people and 50 parts to a less expensive tier that allows 20 people and 20 parts how does the account get purged of people and parts? I'm ok with allowing the user to keep legacy documents.

I can give them a week to deactivate who and what they want to deactivate or.....? If left to me, how do I go about selecting the people and equipment to deny access to?

I'm sure this workflow has been figured out before. Does anybody know of any software that does this well or have any first hand experience with this problem?


Most products make it easy to upgrade (1 click within app) and hard to downgrade (contact support). A part of it is to increase friction for downgrading, but another could be dealing with migration issues.

A common approach, and the one my company uses, is by disabling additional users. Documents etc remain associated with the disabled users for data integrity reasons. It also make it easy for when the user realizes, "Hang on,John actually does need an account," it's easy to restore the user's data.

How do you know which of the 50 users you're disabling? You get this info via the support call, or if you're doing it automatically (e.g. trial has expired), start by removing the least active users who are non-admin. Then make it easier for the admin to disable others/re-enable users. Or if you have an explicit downgrade action, ask the user then which users to disable.

This is a little bit of a psychological trick, but you can utilize Loss Aversion to make it less likely for the user to actually downgrade. You're going from 50 users down to 20, by having the user select the accounts to disable, you're making this a very salient activity for the user.

  • Thank you @nightning taking your time to leave such a thorough response. I am familiar with Loss Aversion and would actually like to make changing tiers as frictionless as possible for our users. If they decide to downgrade, I don't want to make them jump through too many hoops, unless there really is some benefit to talking to the support person. – Switters Oct 1 '15 at 18:30
  • Your feedback about auto-disabling the least active, non-admins and allowing the remaining admin(s) to easily disable/re-enable the users in the organization is well-taken. It will be a bit more complicated for us since we have multiple roles within each org that require varying amounts of activity but I think that's still the right direction. Just requires a bit more logic. Cheers. – Switters Oct 1 '15 at 18:37
  • 1
    As I diagram this flow it occurs to me that if we allow people to simply disable/re-enable at will, then they could simply operate under a lower tier by simply toggling the people and parts they wish to use for each job on and off. This may turn out to be a pain-point for people but it would be one way they could work the system. This is assuming they came from a higher tier in the first place, which may be a bit of an edge case, but still one I'd like to account for. – Switters Oct 1 '15 at 20:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.