My customers are asking for years whether licensing is perpetual or subscription for my desktop software. B2B seems to be accustomed to subscriptions, while I’m stuck in old mindset - major upgrades only. Maybe it’s a time to change. There are few things to consider though.
For start, if you switch to full subscription mode, it will stabilize long time revenue. But in the short time, if you switch from let’s say $100 perpetual to $30 yearly subscription, short time revenue will drop significantly in the start. That scares me a lot, even if customers don’t complain about changes.
Another issue is, I’m not limiting bug fixes and minor upgrades. In fact, if there’s a bug in very old version I tend to fix it as well. It’s against my ethic to deny user a bug fix if they didn’t renew a subscription. Nor I’d like to deny them support. Also, I consider that kind of feedback very valuable, and in my opinion has significant business value. I.e. if one user complains, there are probably 10 who stay silent but don’t buy. If I switch to full subscription model, that could be an issue.
So I’m more considering a “soft” subscription mode - one time full price as it is now, but push yearly subscriptions (20-25% of price) more prominently. I.e. send yearly reminders to customers that it would be wise to renew their licenses. But don’t deny them anything if they don’t take on that offer. One drawback is there’ll still be an incentive to gather major features to major releases, instead of regular updates you could have with a full subscription.
There are logistical issues with reminding users. As anyone dealing with B2B know, orders database is a mess:
- Multiple orders in different months/years so it’s hard to consolidate it in single yearly fee
- Different company names for the same customer - some brought through a reseller, some directly, in one place it’s a “Company”, in another one “Company ltd”, in third “My Company”, etc.
- Also multiple contact persons from a single company, who is still there, who is primary contact, etc.
For start, I’ve created united database of all orders in the cloud, and used payment processors APIs to insert new orders as they come. So orders are here, but it’s not yet easy to get unique customers from that. Are you guys using some CRM which helps with that? Or is custom solution the way to go?