How much should I charge for software consulting?

Usually people book me to help them with starting a new software project. They’ll tell me roughly what they want, and then they ask me what it’ll cost.

But heck, how should I know? How can I predict the exact outcome of a project with very little information at the very beginning of it?

Correct budgeting is impossible

Well in the past, I tried to know. I was estimating hours and signed contracts spanning over many months with an agreed fixed budget. Sometimes, I was making way faster progress than anticipated. Other times, I got in trouble and was happy if I managed to finish within twice the amount of hours I calculated. The good news is that on average, I’ll be about right with my estimate. The bad news is, that as a result some clients are overcharged, others are undercharged. This feels really bad, at least to me.

In reality, a client doesn’t care much about how much time I spend implementing something. But they do care, for good reasons, about the perceived value they get. Also they want to know and feel that their money is well spent, that you are responsive, able to listen, and work professionally. When I’m paying a consultant myself, I feel no different about it.

So what’s the solution?

Charging by the productive hour

Now, I no longer charge by hours spent. Instead, I charge by hours spent productively. Let’s face it, sometimes you spend a lot of time researching something. If you had already studied that particular subject beforehand, you’d be done within a fraction of the time. This time is only valuable to you, because you learn a new skill. But not to your client. From their perspective your “learning time” is a liability. If they knew someone who has already done that research, they’d happily pay that person double the hourly rate, because they’d also have the results in half of the time.

Let’s say a client approaches me. They want to have a tailored website with the ability to create articles, videos and podcasts through a simple admin interface. I’ll spend some hours with them defining a first work package that could be achieved within 4-6 weeks. Next, I’ll ballpark the amount of hours I need to build that first package. My estimate would be that I spend 100 hours working on it, 60 of those will be research and experimentation. The remaining 40 I expect to be productive ones, where I’m directly creating value for the client. So I’ll suggest a budget estimation of €8,000 for that first milestone. That’s 40 times €200 — my current rate per productive hour.

Why €200?

My benchmark for a competitive rate are other IT consultancies. My ambitious goal is to provide twice the value at half the costs. That’s why I’m only charging the hours where I’m doing my best work. I either work alone or put my clients in touch with partners I trust to help with certain tasks (e.g. visual design). In my preferred work setting there’s very little communication overhead. Poor communication is usually why IT projects become so ludicrously expensive. On the other hand, great skills and effortless mutual understanding of a small group of people is a recipe for a successful cost-effective software project. That’s my belief.

From clients who have worked with other IT consultancies first, I know that they’ve paid €40,000 for a certain featureset, while we were able to reproduce that within a budget of €10,000 (that’s 50 productive hours at the price of €200). Of course, I can not always hold that premise, sometimes things go wrong, or simply take longer. But even then there’s still much room in which working with me is the better deal. And that’s my goal!

Wait, actually I have a more important goal. I want to preferably help individuals or small companies to bring their ideas to life, without having to rely on money from investors, which often (there are exceptions) compromising their pure ideas. Okay, this section got way too long. Back to the example from before.

Possible outcomes

A project phase can either be completed below the estimated budget, hit the budget spot-on, or run over budget. Here’s how I want to handle all of these possible scenarios.

  • Scenario 1: I’ll be faster than expected and after 3 weeks the milestone is achieved. It only took me 30 hours of research and 30 productive hours. I’ll show the client the results, and let them know we have €2,000 of the budget left. What should we work on next? I haven’t encountered a single occasion where a client has stopped the project at this point. So I’ll be paid the full €8,000 and more, as we continue with phase 2, which I’ll budget in a similar way. Only difference is that there will be more value provided for the client, as some phase 1 budget can be used in phase 2.

  • Scenario 2: In German we say Punktlandung (precision landing). I was right with my estimate and spent 60 hours researching and 40 hours being productive. All good, that’s just what it took. Given the client is happy with the results, I’ll send the invoice and we continue with planning phase 2.

  • Scenario 3: Even with my realistic, slightly pessimistic estimation it took me longer, so I really had to put in the maximum 6 weeks of work to reach the milestone. Again, I will be transparent with the 80 hours I put into research, and 50 hours that I was productive. I’ll show the client that I invested 20 hours of extra research and 10 extra productive hours. While the extra research is on me, I’m asking to charge the extra productive hours. This is a good test for a good business relationship. If things take longer, are both parties willing to take a share of the risk?

I once went to a doctor, because of a fracture of my little finger. He was the second doctor I saw who told me nothing could be done here. We spent only 10 minutes talking. A few days later I received an invoice over €150. I don’t want any of my clients to pay me, while their finger still hurts. I’ll rather charge enough for productive work, so I can afford to charge nothing if I can’t help someone.

Published by Michael Aufreiter on Feb 20, 2023
Revised on Mar 18, 2023
1 Conversation

Your pricing and practices are extremely fair and considerate to your clients. Slightly tangential, the doctor charge is (or was, or should be) a charge for the community. Wealthier patients pay (much) more, so that the Doctor can treat the whole community, and charge middle and lower income patients a different rate. Maybe the Doctor providing medical care is seen as a social benefit, so there is not some anxiety or guilt about charging more. There is a term - "price discrimination" or "differential pricing" for this situation. I would feel bad too. However, reflecting further on it, and reading about it; it seems that it is part of standard business practice in many industries. Of course, you can, and do, opt to provide higher value to your clients.

No replies yet
Be the first to respond.
Respond to the author

On Ken, we're trying to figure out how the world works — through written conversations with depth and substance.

Your response will be public, and the author will be notified.