Choosing which consulting services to offer

Many consultants (including me) make a similar mistake: we offer too many services, in too many areas, with too many options. After running one mediocre consulting business, and one successful consulting business, I’ve learned to focus on services that:

  • Require hard-to-find expertise
  • Deliver far more value to the client than they cost me to provide
  • Cost me a fairly predictable amount of time and money

In practice, for a one-person consultancy, this often means offering the same service repeatedly, with only slight customization per client. The price of the service should be based on the value the client receives, not on the per-delivery cost to yourself.

I’m far from the first person to articulate these principles, but I had a hard time putting them into practice. In this post, I’ll give two concrete examples from my businesses, one in which I did not follow these principles, and one in which I did, and one example from a colleague’s successful business. Hopefully, other folks starting consultancies won’t have to start and throw away an entire business to learn them.

My first mediocre consulting business

My first consulting business offered software engineering related services in the areas of Linux and file systems. The software consulting business did okay – I made a decent living, but it was stressful because the income was unpredictable and irregular. I put over ten thousand dollars on my credit cards more than once, waiting for a check that was 60 or 90 days late. Most of my clients were happy with my work, but more clients than I liked were disappointed with the value I gave them.

My most successful contracts were for debugging critical Linux file system problems blocking shipping of products, where I could offer rare expertise that had high value to the client. Unfortunately, I could not predict how long each of these debugging sessions would take, so I didn’t feel confident pricing based on value to the client and instead charged an hourly rate. Payment was usually on time, due to the high gratitude of the client for me rescuing their income stream. These contracts are what made my business viable, but because I didn’t price my services based on the value provided to my client, they didn’t pay as much as they should have, and I had to take on other work outside that area of expertise.

My other contracts ranged from reviewing file systems related patents to developing user-level software libraries. Most of these contracts were also priced on an hourly basis, because I could not predict how much work they would take. With the one contract I priced at a fixed project cost, we underspecified the product, and the client and I argued over what features the final product should include. The client also had a variety of unusual software engineering practices that made development more time-consuming than I had expected. No surprise: software development is notoriously unpredictable.

A colleague’s successful consulting business

In retrospect, I realized that my expectations of success in software consulting were based on my observation of a colleague’s software consulting business that did follow the principles I outlined above. His business started out after he ported Linux to a CPU architecture which was in widespread use in embedded systems. At the time, operating systems for these embedded systems often cost many tens of thousands of dollars per system per year in licensing fees—sometimes costing millions of dollars per year to the vendor. From the vendor’s perspective, paying, say, $50,000 for an initial port to Linux represented enormous savings in software licensing costs.

On my colleague’s side, porting Linux to another embedded system with this CPU usually only took a few days of work because it was so similar to the porting work he had already done. Once he received a request to port Linux to a new system and completed the port before he sent back his bid for the contract. In short order, he had more money than he knew what to do with.

To recap, my colleague’s successful software business involved:

  • His unique experience porting Linux to embedded systems using this CPU
  • Delivering millions of dollars of value in return for tens of thousands of dollars of costs
  • Slight variations of the same activity (porting Linux to similar systems)

Despite having a similar level of valuable, world-unique expertise, I was unable to create a sustainable software consulting business because I took on contracts outside my main area of expertise, I priced my services based on the cost to me rather than the value to the client, and the cost of providing that service was highly unpredictable.

My second successful consulting business

When I started my diversity and inclusion consulting business, I wanted to focus on teaching the Ally Skills Workshop, but I also offered services based on my other areas of expertise: code of conduct consulting and unconference organization. The Ally Skills Workshop, as a lightly customized 3-hour class, was a fixed price per workshop, but the other two services were priced hourly. During my first year, I had significant income from all three of these services. But when I sat down with the accounts, I realized that the Ally Skills Workshop was both more fun for me to deliver and paid better per hour than my other services.

Thinking about why the Ally Skills Workshop paid more for less work made me realize that it was:

  • Priced based on the value delivered to the client, not on the cost to me
  • Customized per client but mostly the same each time I delivered it
  • In demand by clients that could afford to pay for the value it delivered

While all three of my services were in demand because I had unique expertise, only the Ally Skills Workshop had the potential to get me out of an hourly wage grind and give me the freedom to develop new products or write what I learned and share it with others.

With that realization, I started referring my code of conduct and unconference consulting clients to people who did want that work, and focused on the Ally Skills Workshop. With the time that freed up, I wrote an entire book about enforcing codes of conduct and gave it away (this is not a good business decision, do not do this).

Elements of a successful consulting business

In summary, a successful one-person consulting business will probably focus on one or two products that:

  • Require expertise rarely found in your clients’ employees
  • Deliver far more value to the client than they cost you to provide
  • Cost you a fairly predictable amount of time and money

It may feel safer to offer a range of services, so that if one service becomes unpopular, you can fill in the gaps with another one, but in practice, it’s hard for one person to do several things well enough to make a significant profit. In my experience, it’s better to do one thing extremely well, and use my free time to understand how the market is evolving and develop my next product.