Successful brands like Adobe, Microsoft, and Sony are convinced: Instead of selling licenses, their users can rent their software and services. These subscriptions guarantee a lasting and predictable revenue stream. But is this model suitable for all types of software? What do software developers have to remember when they introduce subscriptions? This article answers both questions.
What are subscriptions?
Subscription can refer to many things in the software industry. The most traditional meaning is a license subscription. In this case, the user does not buy a permanent license for a piece of software, but instead rents the software. Technically, it is a license with a defined expiry date. When the license expires, the user loses his right to use the software. The advantages are simple: lower upfront costs, fair billing for the actual rental period, and software that is always up to date.
Subscriptions can also refer to special maintenance arrangements. Such maintenance subscriptions have the user buying the actual software and then subscribing maintenance services. The user has the right to use the software indefinitely, even after the subscription expires. However, during the subscription period, the user has guaranteed access to new versions of the software. When it ends, the version is, in a sense, “frozen” at that point in time. Technically, the license is a permanent license with a defined-duration maintenance agreement.
Hire purchases are not technically subscriptions, even if the term is commonly used to describe them. In this case, the user pays for the software in installments. When the last payment has been made, the user gets full and indefinite usage rights. This is a particularly popular model in Latin America. On a technical level, it is a temporary license that is transformed into an unlimited license after the final payment has been received.
A rule of thumb for pricing software subscriptions is that the rental price should equal the full-purchase price after 2 to 3 years of use, i.e. the monthly rental payment should be between 2% and 5% of the full price. Annual maintenance fees should be between 12% and 25% of the purchase price. Hire purchases usually have installments over a period from 1 to 2 years, with interest rates between 5% and 20%.
Is a subscription the right choice for my product?
There is no one correct answer for this question, because the calculation depends on many different factors. Let’s imagine a case with the following setting: As developer, I will reach 100 new buyers per year with my software priced at $5,000.00. Typically, half of them will buy an update after three years, for which they would pay half the original price.
I expect that 75% of my customers would buy maintenance services if I offer a maintenance contract. This would cost 20% of the original software’s price, and 10% of the subscribers would cancel the contract after a year. I also offer the software on a subscription license, at a fee of $200.00 per year. 5% of these subscribers can be expected to cancel their subscriptions every year. These are fewer cancellations than in the case of the maintenance contract, because the users could not use the software at all anymore in this case. The lower upfront cost suggests that I might reach 25% more new clients in the first place, even though this depends a lot on the specific market and the specific product. How many more users would I be able to reach that I would not reach otherwise? In this scenario, the success of the model would be visible quite soon – if I cannot reach more clients with a subscription model, it would mean less turnover overall compared to outright sales.
The above chart shows the typical development of sales revenue for outright purchases, maintenance subscriptions, and license subscriptions.
The picture might be completely different for your specific software, but the general rule is that a license subscription is slower out of the blocks, but will then outpace the other options going forward. In many cases, the model should initially be used for specific - ideally new products - or specific markets.
There are two basic ways to set up subscription licenses:
You create unlimited licenses and cancel them when the subscription
You create limited licenses that are active until the next payment date (plus a grace period) and renew them automatically when payment has been received.
The first approach makes for simpler handling, as it only needs one action in the case of a cancellation. However, it does leave considerable room for fraud: Dishonest users could try to keep their licenses active by either not going through the cancellation process or by interrupting that process by not going online. This is why the second approach is preferable. The common objection that it forces users to get active regularly to renew their licenses is easily explained away: Simply use an automatic renewal process, ideally with a certain grace period. For most users, this will let the renewal just happen automatically and in the background.
Another advantage of the second option is how simple it makes it for the subscription to be transferred to a new computer. Since the license on the old machine is time-limited, it will simply run its course, and you can show goodwill and allow the user to activate the new one on the new machine in the meantime.
In order to introduce a subscription model, you need CodeMeter License Central to create and automatically deliver the licenses, and you need a billing system. This can be a popular ERP system like SAP, an e-commerce solution like CleverBridge or Digital River, or a CRM system like Salesforce.
When a subscription is ordered, the billing system sends the necessary information to CodeMeter License Central. The order has to include details about the products covered by the subscription, the original purchase number, and the next payment date. CodeMeter License Central then produces a ticket with the required temporary license, with which the user activates the subscription. The ticket is stored in the license or on the user’s computer.
For an automatic renewal of the subscription, the billing system transmits again details about the products, the new purchase number, the next payment date, and the original purchase number. CodeMeter License Central uses the latter number to allocate the renewal to the right subscription and produces a license with a new expiry date, which is set to the existing ticket.
The user’s software uses the ticket it has stored and checks regularly whether a license renewal is available. If it is, the license is automatically updated. Within a certain grace period, in which the license stays active beyond the next payment date, the whole procedure can run transparently in the background, without ever interrupting the user in his daily life with the software.