I am developing a product that potentially requires a lot of support. I am developing documentation and tutorials to remove the need for support as much as possible, but I can still see the need for a lot of support.
The product is a code generator that provides the user full customization of what is being generates, e.g. redefine table relationships, redefine primary keys, redefine indexes, and add additional methods on classes to save or load data. Define relationships between tables, views and adhoc sql statements. Template customization. Generate stored procedures. In short the tool allows the user to customize every aspect of what is being generated.
I have considered a number of pricing models
I am interested in hearing from people that sell a complicated product that requires a lot of support and what works for them. I am also interested in hearing from people that have bought a complicated product and what they would prefer.
What works for us is having a fairly reasonable annual support fee, but offer free training for our clients.
Clients love the free training, because it's free. We love it because we get valuable feedback on how our clients actually use our products, and get less support calls at inopportune times.
If you sell the software and include a limited support term 1-3 months then you have an easier sell and your support risk expires rapidly. You can then generate more income by selling support contracts. You could price the software to include "free" setup and/or training if your industry is not competitive. If it is competitive then you risk the perception of being over-priced. In that case setup and training should be an add-on. If your software is always in production with new features and updates then you can offer annual subscriptions that include support and version upgrades. That model keeps a steady flow of income rather than a one shot deal and hunt for new customers.
For your pricing model, here are my simple recommendations:
Support requirements for highly technical products generally front-loaded. A large portion of the support happens when the customer first starts using the product. (This is why training can be so effective.)
Don't spend too much time on figuring out workload and predicting costs, but do make a pass at some bottom-up model, and figure out how you'll collect data and test these assumptions:
Focus your support on being effective at solving problems. Be sure you capture data on usage, problems, and support workload - keep it simple. Understand who is asking interesting questions. Talk with them about what they are doing and how they are using your product. Take what you learn and put it into the product. "Fix problems two ways" - once for the customers and again in the product so that the problem never happens again. (See http://www.joelonsoftware.com/articles/customerservice.html for more on this last point)
The trouble with providing support initially and then charging after is that often the bulk of the support cost is up-front! Because people aren't used to your stuff yet.
You could offer based support materials as part of the cost of the product (i.e. a manual, tech tips, forum), but then offer paid training in the form of videos or other more high-fidelity material.
Also consider weekly webinar training. That way you can train any number of people at the same time. Allow them to ask questions via chat session (so they don't talk over you or each other but you're still addressing specific concerns).
The best solution is to reduce the need for support. Challenge yourself to make that a priority - you will have happier customers and a happier staff.
sell licences, offer tech support for n%/year of renewals. I think that works really well. Eg:
Support contract is 25%. So your app costs $1000. Support would cost $250 for the year. Don't want support? no problem.
Free tech support isn't appropriate for anything other than trivial support in your product area. By charging you're probably helping your customers as much as you're helping your company.
Selling by the hour is annoying, selling with a year of support included but simply with a higher price seems like a marketing mistake.
I have sold complicated software to large organizations before. We had an onsite training for the users who will be using it along with a yearly support contract.
We hired support staff to manage these support contracts. One support staff was put in charge of 3 accounts which is the optimal figure we arrived at.
The model works pretty well and you get some well defined structures and processes in place that can help you in scaling the business.
How many systems are you targeting to sell in your first year of operation?
Will you be responsible for marketing and business development?
Is hiring support staff an option? Would you need physical and onsite support or could this be done remotely?
Depending on these factors you need to calculate the total cost of operating your business and then arrive at a figure as to what support for each client is going to cost you. This will put you in a much better position to arrive at pricing that will be a true reflection of the costs associated with the product & support.