Productizing A Freelancing / Consulting Business

Hiya guys!

Patrick (patio11) here. You signed up for periodic emails from me about making and selling software. I think this might well be the first time ever I've successfully done them weekly. Hopefully that will be less rare going forward.

[Edit: Actually, it's possible that you've never gotten an email from me. Somebody might have just given you the link to this page, which is an online archive of an email that I sent to folks who had asked for it. If you'd like to get articles like this in your inbox, totally free, about once a week or two, give me your email address.]

Last week, we talked about what product companies could learn from successful consultants. A significant fraction of you guys are freelancers/consultants and, while many of you are interested in eventually having a product, making your existing business more effective is of more immediate value to you. Happily, there are many things which you can learn from the product crowd.

Repeatable Revenue Is The Best Kind

Probably the most important professional skill as a consultant is transitioning one-off engagements into client relationships which produce recurring revenue. This immediately has positive knock-on effects elsewhere in the business: it smoothes out the feast-or-famine cash flow cycle endemic to consulting, allowing you to invest confidently in things which grow the business, like onboarding new employees or moving your practice into more lucrative directions. It gives you a better BATNA in negotiations with clients, which will get you higher rates, better terms, and better work. It lets you make riskier moves with clients/projects without risking your ability to pay the rent or make payroll, and then to reap the attendant rewards of taking on that market risk. You really want that recurring revenue.

Too bad most of us suck at getting it. And I'm totally not immune to this criticism.

Confession time: I was a fairly successful consultant but, partially because I was unsophisticated in my approach and partially because I treated the consulting business as a sideline to my product business, I did the overwhelming majority of my engagements as one-and-done tactical projects. I delivered the work, invoiced the client, and then we were done until they called me back.

This caused me to spend far, far too much time on prospecting for new engagements relative to serving existing clients or working on my other businesses, and exposed me to some truly epic cash-flow swings. I'm not generally one to worry about money too much, but at a few points I had $50,000 of credit card debt and $50,000 of receivables. Let me tell you, that's a good sight more worrying than being broke.

I did have significant recurring income, though, through my product businesses. And it was like a cheat code for life, I swear. It let me do things like avoid virtually any pushback on rates. It gave me great scheduling flexibility. It let me be very picky about clients and projects.

It underwrote investments in the business. I spent something like $15,000 on a six-week prospecting tour in late 2011: conferences, meeting potential clients, keeping my ear to the ground, etc. Those plane tickets and hotel stays helped me book most of my 2012 availability, so they were stupendously profitable, but six weeks of no-billing with the credit card balances ticking up every day would have been quite scary if money wasn't coming in every day from software sales.

You can bolt all the benefits of recurring revenue onto your existing consultancy, without fundamentally changing the character of the business or having to scratch-build a SaaS app. Let's look at some ways to do it.

Retainer Agreements: Simple, Recurring Revenue By Promising Locked-In Availability

A retainer agreement is simply your client paying in advance for guaranteed access to you later. Software is a living thing, like the business it inhabits, and your project is likely going to grow in different directions over time. Clients perceive a risk of you -- the expert on your projects -- not being there to shepherd them through their natural evolution. You can allay this sales objection at the same time you give the client the opportunity to pay you more money.

You simply say that, while your firm is in-demand and your availability outside the scope of the current Statement of Work is uncertain and subject to market conditions when that availability is required, you're willing to reserve a certain portion of your availability on an ongoing basis to maintain, extend, and support the work you've already done for your client.

For example, many applications have requirements which morph over time as they are actually exposed to use. Perhaps you delivered a CMS which the client's marketing team loves so much they'd prefer to use it to manage their email campaigns as well. Is that such a huge project it requires a new Statement of Work and the attendant negotiation overhead? It does if you don't have a retainer agreement, but if you do, then you do that 3 day project and send them an email when it is done. Wonderful.

Generally you price retainers at a discount to your prevailing rates, both because it is unlikely they will always be used and because you're compensating the client for the improved value of money which is known to be coming in in a timely fashion. For example, if your prevailing weekly rate is $8,000, then two floating days a month might be priced at $2,000.

Positioned properly, clients love buying retainer agreements:

  • Retainers are easy hacks to break longer projects into a shorter, less-expensive project while preserving the option on the larger project if the project works out

  • Retainers allay client fears about having a system break or be unusable and having that sunk cost be unrecoverable

  • Retainers reduce the perceived risk of the client "not knowing everything they need", because they give the client an explicit, no-guilt option for adding things to the project scope later once the client learns they're needed

Retainer Plus: Additional Value-added Services On A Recurring Model

Virtually all engineering projects can be improved over time by reliance on data. Unfortunately, data specific to the system rarely exists at coding- or compile-time, which means that systems are often made prior to having an optimal understanding of how they'll be used in a business.

Take the example of a new website for a business. It is highly unlikely that it will be as persuasive and well-designed on Day 1 as it could possibly be. A savvy WordPress/Rails/etc consultant could offer to do conversion optimization on the website on an ongoing basis, for example A/B testing H1 copy on the home page two to three times a month, in the pursuit of the client's business goals. If the client is, for example, a dental practice or law office, then bringing in an extra five or ten phone calls a week might increase their billings by tens of thousands of dollars.

Of course, your client could install Visual Website Optimizer and handle this themselves... but who are we kidding. The typical website development project is not delivered to a client savvy enough to do this.

Crikey, I delivered A/B testing engagements for three years, and I can count on a single hand the number of clients who appointed someone to do on-going A/B testing even after A/B testing had been proven to make them a million dollars or more. (Did I mention that I sucked at converting one-off projects into on-going revenue? Seriously, I'd probably be getting paid $20,000 per client from five clients for a day of work a month, just testing new headline and button variations against each other. And the clients would be ridiculously happy with the arrangement. D'oh. My loss is your gain -- execute on this!)

In addition to clients really appreciating having the ability to write a check and never think about a subject again, they love (as per the last email) getting collateral which they can bring into the boss' office to justify their raise based on writing a check to the right person. So do the work to take the Visual Website Optimizer report and put it in a nice PDF for them, perhaps after translating what "2.3% observed lift in conversions; A > B with 95% confidence" means in terms of annualized revenue or another metric of interest.

Bonus points: Suppose you're just getting started with conversion rate optimization, copywriting, or what have you. You could approach a successful development consultancy and pitch them on getting recurring revenue from their clients: in addition to their standard project rates for development, they could bundle your ongoing attention as an on-going thing into their standard menu of options. Here's the entire sales pitch:

"Your average contract right now is for $30,000. I can change that into $30,000 plus $1,500 a month, without it taking any work on your part. Just sell your clients on $3,000 a month for on-going A/B tests. I'll implement them, acting as your agent, and send you a report monthly. You forward it to your clients and they remember you as the genius. In return for your work doing the forward, you get to keep half the cost before sending the other half to me."

Play with the numbers if you want.

This is an incredibly attractive offer for a dev consultancy whose principals don't want to branch out into the allied trades themselves, but who'd like to deepen their professional relationship with their clients and get them the best outcome possible.

Retainer Lite: Availability For Limited Purposes

Some clients might not be willing to spring for your routine ongoing efforts, but appreciate having you available to respond to emergencies in their business.

For example, if you're running a boutique Rails consultancy, you might remind clients that all software periodically has security issues and that, if they hypothetically had had a Rails application developed a year ago and not touched it since then, their network would currently be in the hands of the enemy. For a fee, you can volunteer to keep up with the patch cycle and security environment of your programming stack of choice, so that your clients' applications aren't compromise.

If the client doesn't want to opt for this service, that's fine: they can monitor the relevant mailing list religiously and hope you're available when the next vulnerability drops, or they can try to find a Rails programmer when every Rails programmer everywhere is in The World Is On Fire mode. Or they can sleep soundly in their bed because their support contract is active.

Consider a fairly typical development project, with a $10,000 budget. Is it going to be creating on-going value for the client? Clearly. So you could reasonably offer a $500 a month insurance policy against there being security issues with any part of the stack underlying it. (This involves a bit of a risk on your part, naturally, but it's in general a good bet. If you were a Rails developer, this would have committed you to approximately 5 hours of work per client over the last twelve months, but made you $6,000 per client. You could, of course, have offered at any point in the year to give them their next 12 months for only $5,000 with a pre-pay...)

Note that a lot of clients budget software purchases with 20% of the purchase price assumed for maintenance. It's an easy, obvious win for software companies which sell packaged software, and it is just as easy for you to implement: just calibrate pricing such that the support works out to ~1.5% of the project price per month. You can literally ask clients whether they have a support budget for the project and, if so, say "In that case, I recommend getting our standard agreement, which covers $SERVICE, $SERVICE, and $SERVICE if you need them, for $PRICE per month."

Important Note About All Retainer Models

Remember the last email, where I said that the fundamental leverage of owning a multi-person consultancy is that you can have the partners act as rainmakers but have delivery done by people the partners have trained? Retainer agreements are ideal for delivery by understudies, because improving working systems is rarely as difficult as creating them from scratch.

This helps solve multiple problems for the consultancy:

  • new employees can contribute economically on retainer agreements before they're billable for new projects
  • retainer agreements give you the opportunity to get paid while training employees on your core practice area
  • your margin on retainer work will be sky-high, because the value will be pegged in reference to the bill rates of your A team but the cost to you will be determined by the salaries you pay to less senior consultants

Administration of $ANYTHING... With a Mark-up

I run a couple of fairly complicated software systems, and am more a systems engineer than I am a system administrator. Case in point: I nearly lost $X00,000 last year (gulp) when I found out that my MySQL backup strategy for Appointment Reminder was not nearly as robust as I thought it was. (It worked out all right in the end, but I spent the six most stressful hours of my business life fixing things.)

Now, I could certainly bring in a sysadmin to poke around my systems, make sure all configs were optimized, and maybe develop a Chef recipe to bring a bare metal box all the way up to the production environment. And that might well cost me $10,000. But since I am once-burned and twice-shy, what I really care about isn't having the work done so much as it is never going through that heart attack again.

So let's say that there exists a service which does encrypted offsite backups. And let's say that it is technically impressive but far, far outside the ken of mere mortals to set up. And let's further stipulate that the founder is stark-raving mad about his pricing strategy and has decided that to ensure Appointment Reminder against $X00,000 losses should cost me, not a typo, $0.60 per month. If you, my contract sysadmin, were to say "Hey, in addition to all of this configuration tuning that I'm doing, how about I design and implement an encrypted backup strategy for you, and verify monthly that it is working correctly?", I would OK $500 so fast your head would spin. You could then toss Tarsnap $0.60 a month for the storage, verify monthly that it did indeed decompress into a working MySQL dump, and cut invoices while remaining my favorite sysadmin ever.

(I love Colin and we have a long-standing argument on HN over whether his picodollar pricing is optimal. I'm right, darn it, and that pricing is insane. That says, Tarsnap is a technically amazing product, and when I convince Colin to price it rationally and then use the income to pay for UX less complicated than that of the Space Shuttle, it will make him a mint, but in the meanwhile you can bring him extra business at a substantial profit to yourself if you're a sysadmin.)

A similar opportunity exists in hosting. Many non-technical customers don't care who hosts their website as long as it stays up. WordPress developers often either host their websites on their own accounts or act as affiliates for hosting companies, turning a one-time $500 or $2,500 website design gig into a recurring revenue stream. If you routinely deliver WordPress sites to clients, send them to WPEngine -- they host my blog, are rock-solid reliable, and do a lot of things to secure your site that WordPress won't do out of the box. (Disclaimer: WPEngine was a client of my consultancy. And before you ask, no, I don't have a recurring revenue arrangement wherein I get extra money if I refer people to them. But you could.)

Byproductizing Your Services

37signals has a good blog post about how they extracted both free and paid products from what would otherwise be digital industrial waste. These are byproducts of their main commercial activities. You can sell those, too.

Here's an example. Let's say you're a boutique Rails consultancy. And let's say you happen to have made a lot of Rails applications on Rails 2.3 and clients did not greenlight the very-expensive upgrade to 3.X. If you have on-going retainer agreements with those clients, you might well be on the hook for keeping those applications secure. This could be problematic for you, since Rails 2.3 just hit the end-of-life and is no longer going to be supported by the Rails Core team, now that the 4.X version is out.

But isn't that really an opportunity in disguise? You're getting paid to write, essentially, Rails security patches. They currently bounce around your company internally as a series of code snippets and standard operating procedures to monkeypatch clients sites. What if you spent a few weeks getting those into a properly consumable state and announced a commercial fork of Rails 2.3? Then you could tell people, even people other than your clients, that they didn't have an emergency on their hands, that they could just pay you and their security patch needs would be met going forward.

Makandra, a German Rails consultancy, did just that with Rails LTS. I was their anchor customer for it -- I expressed a desire on Twitter to buy a supported fork, their CEO got in touch with me, and before I knew it I had written a check for $10,000 (cheap next to explaining to enterprise clients for Appointment Reminder why I lost their patient data) and switched gems from the public Rails distribution to their hardened-and-supported version.

And because this is a product, not a service, Makandra is free to sell it to as many people as they want. They can sell it to dozen or hundreds of clients, amortizing the development costs and adding a new high-margin line of business to their standard per-project model. It's a pure win for their consultancy, and will give them the expertise, bandwidth, and euros to underwrite other opportunities to serve the Rails community profitably.

It even operates as paid lead generation. If I happen to use Rails LTS for the next two years, and then decide that I want to migrate to Rails 3.X but don't want to do it myself, who do you think will be the first Rails consultancy I call about it? Darn straight. Makandra is cultivating a roster of people known to be willing to pay Makandra money who they know, by construction, must have old, creaky Rails applications which are worth serious money to their businesses. That's the best situation vis-a-vis early pipeline a Rails consultancy could possibly be in.

Rails 2.3 is one example of an aging technology which a lot of commerce happens to run through. If you've been in the field for a few years, you're likely intimately familiar with others. Consider an LTS offering for it.

Support is hardly the only way to productize your consulting engagements, though.

Delivering The Same Old Engagement... At Scale

The focus of my consulting practice was making money for B2B software companies, mostly ones with revenue in the $10 million to $50 million range. One thing which I did for almost all of them was improve their use of lifecycle email or drip email marketing. This means moving away from a "newsletter" model, where everybody on the list gets the same email at the same time, towards a model where the right person gets the right email at the right time.

For example, I worked with a developer-focused company which had a source control product. If you signed up for the source control product, and added users, but your users didn't actually import repos, we had the system automatically send you an email to remind you how to migrate your existing SVN/git/etc repos to the system. When you send out hundreds of that mail every month, it moves tens of accounts at the margin, and the accounts have LTVs often in the $X,000 range... you want to do the math? Yeah, serious ROI.

Similarly, my engagement for WPEngine was writing a series of emails designed for people who had just taken their website speed test, which taught them a bunch of technical optimizations they could use to make their site faster, more scalable, and more secure, and then after building that rapport mentioned "Or, if you're a business owner and would rather your site just worked versus you spending the next couple of days tweaking Apache, you could just buy WPEngine and we'd do it for you." And that campaign made WPEngine piles of money.

And I did variants of this engagement five times, because there is virtually no software company anywhere which can't get higher conversion rates and revenues via good implementation of email marketing.

At one point, I realized that I was turning down a lot of consulting work for lack of availability or for being too expensive for potential clients. So I thought, hey, wait a moment: rather than flying out to their site and doing "the email engagement" like I had five times already, I could just videotape me saying what I'd do on the email engagement and sell it to people at scale. It could be vastly cheaper than my consulting services, because it would scale to arbitrarily high numbers of customers. And I could price it at a substantial discount to my consulting services, so it would fill a market niche where I couldn't and wouldn't pitch a $40,000 consulting engagement.

So I did just that. I scripted and recorded several hours of video training, hired a video editor to make it pretty, included some checklists and descriptions of what had worked for other clients, and sold it for $250 to $500. And it ended up selling like hotcakes, making about a dozen customers that I know of several hundred thousand dollars apiece, and -- almost perversely -- getting me even more consulting gigs at a higher rate. ("If we're getting that kind of result from implementing his generic advice, imagine how much better getting him in our office for a week would be!" -- virtually a direct quote)

If you're interested in taking a look at how I marketed it, or buying it, it's still available here.

This is something that virtually every consultant can do: productize one of your most common engagements, sell it to the exact same type of people who buy your consulting services. You can offer it to existing clients or leads who aren't ready for the full engagement dance.

Are you a MySQL sysadmin? Write an e-book on the definitive way to do MySQL backups. Sell it for one hour of a sysadmin's time. It's much cheaper than paying them to read blog posts for two days. (If you write this book, I will buy a copy from you at almost any price.)

Are you a Rails developer? Have you written ActiveMerchant / shopping cart integrations 37 times? Do you know where all the likely pitfalls are? Great. Condense that into a two-hour presentation. Charge $200 for it. It will take you 10 hours of work to ship, but if you sell 10 copies, then you've got a $200 an hour imputed bill rate... and it goes up automatically over time.

Are you a conversion optimization expert? Definitely, definitely do not do a full video course on A/B testing and conversion optimization for B2B SaaS companies scheduled for delivery in August 2013, because... well, no particular reason.

Training Events -- In-Person or Online

I love teaching and am good at it. One thing which I did for some consulting clients, which they also loved, was teaching their teams on how to do SEO, A/B testing, and the like. I was told a few times that they'd have paid the entire engagement rate just for the day we set aside for the workshop... and stupidly never actually did that.

You can actually do that. Training engagements have high perceived value, because they scale across all of your client's employees over their entire predicted tenure with the company. They're easy to deliver repeatedly, because after you've created the courseware (presentations, curricula, supporting software, etc) then repeating them takes only as much marginal work as the course "appears" to take.

Much like retainer work, after you have courseware written, you can have actual delivery done by people who are markedly less expert than the people who wrote the courses. For example, if you're in security, finding exploitable SQL injections in arbitrary applications without their source code can be rather difficult. Presenting an example of a SQL injection, with remediation advice, when that example has already been put on a slide, is not nearly so difficult. This means that training events can have very high margins associated with them in multi-person consultancies.

All of these apply to in-person in-house training events, which you might want to add to your consultancy. But they also apply to events which are open to the public and held on an open-enrollment recurring basis. The market for teaching developers how to write secure Rails applications, or teaching marketers how to work with WordPress, or teaching sysadmins how to Chef-ify their various environments isn't going to be saturated anytime soon. There will be more people needing to learn those things every month for forever.

So just pick a date every month and sell tickets. Here, I'll even write the bloody copy for you:

It would cost you $2,500 (conference: $500, airplane: $600, hotel: $1,000, per diem: $400) and a week of productivity to send your developer to a conference to learn this stuff, but instead you can have them get a concentrated education in one day from our experts at one quarter the price.

Sell twenty tickets to your event at $500 apiece, that's ten grand for a day. And you can do it every month where you have a day that you know you're not going to be able to sell.

Don't think you can sell twenty tickets? You're probably underestimating yourself. I live in Ogaki, Japan, total population 150,000, tech industry virtually non-existent. There's a security event held nearly every month, in person, at the local incubator. They rent out the room (for $20) and sell $X,000 of tickets, every single time. For an in-person event. In Ogaki.

And hey, it's free to try, right?

Write Software To Help You Deliver Engagements

Product companies are better at getting recurring revenue from clients than consulting companies, but they're also a lot better about using their tools to improve their offerings.

Virtually no software product company just has "the app" anymore. We all have analytics systems, customer support dashboards, marketing automation, yadda yadda yadda. So if you're writing software all day, why not build some capital for yourself instead of just building it for clients?

Formatted report generator: Do you write repetitive reports for clients? Are you still doing those in Excel? Why? Give them a better outcome with less repetitive copy/pasting by making a single purpose application which automatically pulls in data from the usual sources, lets you make the required edits, and then spits out a nicely-formatted PDF file suitable for presentation to the client. You'll produce better, more consistent deliverables with less work.

Project management by cron job: Keeping clients, consultants, and external business processes synchronized can be a bit of a challenge. You can create incredible value for clients with a Wizard Of Oz strategy -- and nobody has to know that the man behind the curtain is a cron job which just emailed you: "FooCorp just ran their monthly billing cycle. Call Bob and ask if he saw it go up due to the improvements you made last month."

Gluing existing systems together: Many things are easy for software companies in a way that they just aren't for non-software companies. For example, if data exists in System A and doesn't in System B, a lot of non-software companies implement a REST API using actual people as the transport layer. (True story: I once had a doctor's office ask me if they could fax me appointment information and if I could type it into Appointment Reminder. I asked where the fax was coming from. It turned out to be from a data source which was ~20 lines of glue code from never being an issue again, but doctor's offices don't think of APIs for the same reason that developers think that free soda is a wonderful thing to treat your employees to.) You've got opportunities to do this both internally, externally (for clients), and bridging that gap. (A hat tip: Zapier lets you do some truly fun things like "Automatically turn any email from our exception monitoring system into a case in our bug tracker" and the like -- play around with it for a few hours and you might find a magical integration for little work).

Embracing The Product Mindset

If the fundamental unit of value in a consulting business is professional expertise applied to a business problem, then the fundamental unit of value in a product business is capturing one thing learned into an artifact and then reproducing that artifact at scale.

Just because you're selling your time chunked up into engagements doesn't mean that the business has to be a hamster-wheel of death. Use some of the above strategies for generating recurring revenue. Brennan Dunn and I are so passionate about them we're putting together a workshop for how to do it, but in the meantime I'm happy to write you some ideas specific to your situation if you write me. (Just hit reply. And give me a weekend, because I know this is going to result in 200 emails.) Look for more details about our workshop coming soon to an email near you.

As always, I love getting feedback on what to write about next. I'm thinking maybe product idea discovery and validation for next time, but could be persuaded otherwise if you've got a better idea.

Talk to you next week.


Patrick McKenzie

P.S. Run a SaaS business? Nathan Barry wrote a blog post today about how he uses email marketing . It's the best advice on the subject I've ever seen given away for free, including some actionable tips about segmentation, managing multiple funnels into one master marketing list, and using premiums/landing pages to increase conversion to email submissions. I seriously can't recommend it highly enough.

P.P.S. I did an interview recently with a gent named Jevin on how I started my software business in my spare time, accidentally built a $30,000-a-week consultancy, and why I ended up winding it down to focus on products. You can watch it over here. (He'll trade it to you for your email address, but it's otherwise free.)