A Quick Re-cap
There's a pervasive problem in the web freelance community when it comes to charging for support time, especially amongst those new to the world of contracting. The result is that freelancers miss-out on hundreds if not thousands of dollars each year in maintenance revenue they should be getting. The primary reason for this is thinking it's somehow bad to charge clients for 'quick bits of work'. Let's take a very realistic example, a client says: "hi John, can you update my company's phone number in our footer, thanks". For whatever reasons, the client doesn't feel like logging into the CMS and doing it themselves (still very common, no matter how easy CMSs get). Now, for a web developer this is about 3-5 minutes work, perhaps rounding it to 10 minutes when you include navigating to the particular client's website, logging into the CMS, and sending a confirmation when the task is done.
How do you bill for that 10 minutes? Do you send a client an invoice for 10 minutes worth of work? Not only is that a great way to alienate your client, but you're wasting your time and the client's time by adding unnecessary bureaucratic overhead to your day. What's that I hear you say? Why not just round up, have a policy of 1 hour being the minimum billable time for your work. Sure, you try that, send a client an invoice for $60 for 10 minutes worth of work, see how long that business relationship lasts.
So does that mean you should let it slide, it's just 10 minutes - chalk it up to good client relations right? Well, no, now you're not getting a fair deal there either. It all adds up, in a year, if you do four small tasks for a client, and they each take 15 minutes, that's an hour of legitimate billable work you've missed out on.
Hence the development of the 'maintenance blocks' protocol. This solves both problems where a freelancer isn't missing out on revenue, and a client isn't bugged with small invoices. In a nut-shell, the concept is like this: get a client to buy 'support hours' before-hand. Then when they ask for small pieces of work, you 'consume' these hours to undertake the work (with 15 minutes being the smallest 'consumable chunk').
From extensive use, I've found that clients are amicable to purchasing 2 hour blocks of support time each time. In a year, about 50% of my clients will purchase a second 2 hour block of support time. I have one large corporate client that buys 20 hour blocks, and they tend to use that up in 6-8 weeks (they're very active with upgrades and support requests).
I've encountered very little negative resistance to the 'support hours' system, business people can understand it and find the fairness in it. They 'get' how it works. They have a pool of support time, as they make requests, it decrements the time - everyone's happy.
There are other models for capturing support revenue out there, they are actually more profitable compared to the 'pay-per-task' approach I use, but personally I think the client gets a raw deal with these other systems. You may ask: "why wouldn't you use the most profitable mechanism for you?" I have my reasons, but suffice it to say that in the end it's up to the individual to decide what system they should use - but the key point is some system should be used.
Let's take a look at other common support models out there. An on-going monthly subscription plan is common here in Australia, especially when the website itself is built cheaply (i.e. the revenue model is based on recouping money over time, and then passive revenue into the future).
Another structure is where developers base support around charging a large amount for yearly hosting (more than the actual cost of hosting). Again, this provides passive revenue. Most business owners aren't aware of the price of hosting, that it usually costs next to nothing. So to receive a bill annually for $200 won't appear unusual.
On-going subscription payments are more profitable in the long run (hence why it's favored by so many web agencies). But I think these systems are unfair on the client, call me old fashioned, but I only like to ask clients for payment when I've actually done something for them.
I have a few closing notes I wanted to share regarding the maintenance protocol I use. I now refer to it as just 'support time' or 'support hours'; this is far more understandable to average clients compared to 'maintenance blocks' (← what was I thinking when I came up with that name?). Another improvement I made is to display the remaining amount of support time in each client's CMS:
By doing this, a client knows how much time they have up their sleeve, and it won't be a surprise when it comes time to 'top-up'.
With my more 'corporatey' clients, especially those that buy large chunks of support time, I have a 'maintenance log' page in the CMS which they can see. When I do work, I go in and add a line saying what I did and how much time it consumed (e.g. "1 hr - SEO RE title tag updates"). This is akin to timesheets you could say. The reason I do this is so the client feels confident about where their time has been going. I think this is important when you are asking a client to shell out over a thousand dollars to buy 20 hours of support time upfront. I know this sounds like a hassle, and to me it comes pretty easy considering I am a project manager. But when you send a client an email saying: "can I invoice you for another 20 hours of support time?" and they just say: "sure, go ahead" - it's all worth it. In that email, I also include a screenshot of the maintenance log, showing how their previous 20 hours had been used.
In situations where you're dealing with corporate clients, I'd encourage you to provide this level of tracking, budgeting is a key responsibility for decision makers in these environments. Arm them with the facts and your worth won't be questioned in your absence.
I've noticed over the years that even though I give clients a very easy-to-use CMS, about 80% of them still get me to do even the most basic updates for them. And this is exactly why a 'charge-per-task' support system is great.
Hopefully this revisit of the support system I use has been helpful to budding freelancers out there. Remember, your time is valuable just like everyone else, you deserve to be paid for the fruits of your labor. Don't undervalue your skills, but also don't take advantage of clients who've put their trust in you.