如何处理 SaaS 应用降级订阅
我目前正在启动 SaaS Web 应用程序。我想要订阅包,例如:
- 高级版:5 个用户、20 个小部件、20 MB 存储空间
- 基本版:2 个用户、10 个小部件、50 MB 存储空间
我希望允许公司随时升级和降级包。
我遇到的问题是,如果该公司使用高级套餐并拥有 5 个用户、20 个小部件,并且想要降级到“基本”套餐怎么办?我该如何处理?
我是否标记错误并说“您无法降级”,或者我是否将他们带到一个页面以删除“额外”用户和小部件?
任何关于其他公司如何做的建议或例子都会很棒!
I am currently launching a SaaS web application. I want to have subscription packages such as:
- Premium: 5 users, 20 widgets, 20 MB storage
- Basic: 2 users, 10 widgets, 50 MB storage
I want to allow companies to upgrade and downgrade packages at any time.
The problem I am having is what if the company is on the premium package and has 5 users, 20 widgets, and wants to downgrade to the "basic" package. How do I handle that?
Do I flag an error and say "You cannot downgrade" or do I take them to a page to remove the "extra" users and widgets?
Any advice or examples of how other companies do it would be great!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我认为您不需要一个单独的特殊页面来帮助人们降级。只需向他们展示他们正在使用多少以及他们的新计划允许多少,并告诉他们如果他们仍然想降级就删除内容。
如果你幸运的话,看看他们需要摆脱多少可能会说服他们最终不要降级......
I don't think you need a separate special page with functionality to aid people downgrade. Just show them how much they're using and how much their new plan allows, and tell them to go delete stuff if they still want to downgrade.
If you're lucky, seeing how much they'll need to get rid of might convince them to not downgrade afterall...
我正在处理这个确切的难题。我提供 3 个付费计划(以及一个完全免费的计划),具有非常易于使用的升级降级功能。我的应用程序不是存储密集型的,因此我不关心保留当前不活动的数据。
在仪表板中,我向用户显示他们当前的计划级别以及他们当前计划中的项目限制。例如:
如果他们降级到包含 5 个活动的计划,它会说
“这显然很蹩脚”,所以我的解决方案是将剩余的显示为“
现在”,从业务角度来看,我认为停用他们创建的最后一个活动是最有意义的直到他们升级到计划。这意味着我们锁定除首先创建的 X 个营销活动之外的所有营销活动。这将是他们升级或开始删除旧项目的良好激励(根据 Matti Virkkunen 的回答)
我在应用程序中有逻辑运行 isItemActive 方法,该方法检查是否基于他们当前的计划以及该计划的级别,该项目是否应该以其应有的方式处于活动状态(即:将其显示在前端给访问者或其他什么)。当然,这取决于应用程序本身,但我认为 LIFO 方法(后先停用)方法最有意义,并迫使用户升级或至少删除其旧项目。
在您的情况下,您可能会执行相同的操作,只不过您可能希望添加警告或时间限制,在此之后,超出限制的用户数据将被永久删除。
I am dealing with this exact conundrum. I am offering 3 paid plans (and a totally free plan), with very easy to use upgrade downgrade functionality. My app is not storage intensive so I don't care about keeping data that is currently not active.
In the dashboard I show the user their current plan levels and the limit of items they currently have on their plan. So for example:
If they downgrade to a plan with say 5 campaigns, it would say
This is obviously lame so my solution is to display the remaining as
Now from a business perspective I think it makes the most sense to deactivate the last campaigns they created until they upgrade to a plan. This means we lock all campaigns except for the X first campaigns created. This will be a good incentive for them to either upgrade or start deleting older items (as per Matti Virkkunen's answer)
I have logic in the app that runs a method for isItemActive which checks if basedon their current plan, and the levels of that plan, should this item be active in whatever way it is supposed to (IE: display it on the front end to visitors or whatever). Naturally this depends on the app itself but I think the LIFO approach (last in first deactivated) approach makes the most sense and forces users to either upgrade,m or at least delete their older items.
In your case you could potentially do the same thing except that you may want to add a warning or time limit after which they user's data above their limit will be deleted permanently.
我们遇到了类似的问题,并且仍在根据迄今为止收集的数据讨论如何最好地做到这一点。
无论如何,我们也有不同的“计费计划大小”,并允许我们的客户在线保存他们的工作。
当我们的一位客户想要降级时,我们总是让他这样做,并折扣之前计划中的任何剩余资金(例如:从 100 美元/月计划开始,在使用 20 天的价值后降级到 50 美元/月计划)服务,他们在更改计划时获得 33 美元的折扣,如果折扣超过降级计划的价值,则他们的第一笔新付款将相应地被保留,这样他们的初始投资就会得到保留。
至于保存的数据,我们会保留,但不允许客户以任何方式使用它,这样如果有一天他重新升级,他就能恢复它。
这有优点也有缺点。优点之一是它方便了“季节性”用户,缺点之一是您最终可能会花很少的钱存储大量数据。
删除不适合降级计划的多余数据,这肯定是不降级的很大动力,我们也正在考虑切换到这种模式。
We faced a similar problem and are still debating on how best to do it based on collected data so far.
Anyhow, we too have different "billing plan sizes" and allow our customers to save online their work.
When one of our customer wants to downgrade, we always let him do that and discount any residual money from their previous plan (e.g.: starting from a 100$/month plan and downgrading to a 50$/month plan after using 20 days worth of service, they get a 33$ discount when changing plan. If the discount exceeds the value of the downgraded plan, their first new payment is posticipated accordingly. This way their initial investment is always preserved).
As for the saved data, we keep that but do not allow the customer to use it in any way, so that if one day he re-upgrades he recovers it.
This has pros and cons. One pro is that it facilitates "seasonal" users, one con is that you may end up storing a lot of data for little money.
Deleting the excess data that does not fit in the downgraded plan, well, it surely is a big incentive not to downgrade and we too are thinking about switching to this model.
其中一种方法是向他们显示当前的用户列表,并为他们提供在单击降级选项时删除额外用户的选项。应用程序应该能够自动检测这些删除活动,并根据情况自动降级为基本版本。
One of the ways is to show them current list of users and give them option to remove extra users when they click the downgrade option. App should be able to auto detect these deleting activity and downgrade to basic automatically according to the condition.