Hacker News new | past | comments | ask | show | jobs | submit login
How I learned to charge my customers (idiallo.com)
212 points by benrmatthews on Sept 17, 2020 | hide | past | favorite | 81 comments



I do some consulting on the side and I won't charge by the hour if I can avoid it because:

1) I hate keeping track of time.

2) hourly rates aren't how my customers think of the issue. They think: "this product will make (or save) me $20,000/year" (making up numbers here). If I tell them that I can do the job for $5,000, that sounds like a great deal to them. But if I tell them I can do it for $200/hour, and I estimate it will take me 20/hours, then I just look like an expensive consultant. Notice that in the first scenario, I made more money and still seem cheaper.


Yes, I've noticed this too... Many people have a visceral reaction to high hourly rates and never actually compare it to the value delivered. I think it's for a couple of reasons:

1) The average person gets paid $27/hour. Even the average software dev gets only ~$50/hour. Since many people interact with people getting paid around this amount, they see high rates as greedy/outrageous. Less likely to get this reaction from clients that are used to interacting with other high pay/skilled work. If you give them a flat rate, they get imagine you’re putting in more hours.

2) If they don't have extensive experience working in the space, I think there's a belief that someone cheaper will deliver the same value.. because they don't understand the variation in skill among those in the same field. Especially in a field like software development, and the client comes from a field that's more structured and slower changing (which is most fields).

There's also a delivery risk that could increase the bill substantially.. but it seems to me that there's more to the reaction than just analyzing the risk and value.


Agree. And on top of this, there's a value to predictability. If I go to my boss and ask permission to spend $10,000 to save $20,000, they can OK that pretty easily since it's simple math... they spend money and save more, so the purchase makes sense. When I go to them and say I want to hire a consultant for $200/hour in order to do a project that'll save $20k, suddenly the math is more complicated... how many hours is this person going to work? What if they go over? People pay more for assurance and predictability.


Yep, there's a lot of value in risk reduction. People and businesses will pay for peace of mind and to remove unknowns from the equation.


I had this argument with the CTO of a startup I worked for a while back. We had previous experience with a contractor that did great work, but charged the going rate for great work. We had a new job that required the same skill set, and the CTO wanted to shop around for a 'better value'. It blew my mind that he didn't see the previous guy as a good value. Instead he wanted to risk going with someone unknown, not the guy we knew did quality work. Luckily all of the development team was in agreement, and we convinced him that the guy actually was worth what he charged.


I think charging a $27/hour is quite low. That might be what an employee gets but they're going to get billed out at 3x that. A client sees like 75/hr for that 27/hr employee and doesn't have any idea of what their take home pay is.

200/hr for an independent consultant is someone making ~130k annually. It's a lot but not insane.


I explicitly do hourly when working on the side because of the lower overhead on my end to manage the process. As long as the trust is there on both sides, its a much more pleasant relationship to manage. The client is never going to be surprised by my hours (because I've given a gut estimate and am communicating as we go), and we never have to worry about horse trading for scope. If requirements change we just do the new thing and don't even worry about it.

I will caveat that I also generally enter long term retainer style agreements (though I dont usually structure them as a proper retainer) to handle various issues rather than fixed projects per-se. Things like "we want to scale up and dont know how" or "we are growing and need a hired gun to handle a broad spectrum of miscellaneous requests". Scope is a lot more nebulous in the first place for these.


Isn't the incentive structure for hourly completely ass-backwards? If you're a consultant there is an implied information assymetry - the client doesn't know what you are doing and has a hard time judging the amount of work required/being done. How do you handle the inherent and justified suspicion of padding billable hours?

I just can't charge hourly because I just can't imagine trusting someone who charges hourly.


Thats what I mean when I say "as long as the trust is there on both sides". They trust that I'm honest and don't sandbag work, and I trust that they aren't going to ask for an itemized breakdown of my time. I keep a very coarse ledger of time and what I worked on, but the invoices are generally just a line item of

"Development: 30 hours"

Again, nothing is a surprise in my relationships because we constantly are in communication, and I've raised issues with them beforehand if anything comes up / diverges.


you nailed it, it’s about trust. i’ve had a couple clients for 9 years, all hourly, and never had an issue. i’ve had 20 or so clients that this didn’t work and one of us fired the other, most of the time amicably.


> "we are growing and need a hired gun to handle a broad spectrum of miscellaneous requests"

I have difficulty seeing how you could charge for this other than by units of time.


As the other commenter says, a retainer agreement for a "block" of time is common, but again for simplicity sake I just do it on the fly and we keep each other in the loop. They keep me informed of current/future things that are coming up and I keep them informed of sizing estimates (e.g. "thats simple", "thats pretty involved", "we should hold off on that and have a discussion to see if we can solve it with a hack then reevaluate")


billing weekly for things like this i’ve found works nicely. they basically get everything you got for a week. still requires some level of trust, and understanding of the work by the client.


Genuinely curious, how do you mitigate scope creep when you charge by product? What stops the client from pushing back when there's a bug in the future or feature request they think should have been included?


In the past, I have always only charged for the entire project all at once instead of by the hour.

Main trick to mitigating feature crap I have used is by first I add extra padding to cost.

Second i tell my clients that I provide free maintenance for 2 weeks after the project si delivered. Mostly this helps because clients want speed over reliability. So we push and the next two weeks is bug fixing - sometimes it's three.

However no matter what happens I would never build a new feature in the maintenance period


How many weeks are these projects, including the 2 free weeks?


I do this very much part time and with recurring clients so I don't have a great generalizable answer. But for me, I charge a fixed price and then it's on me if there are bugs (actually, the incentives are nicely aligned here. Fewer bugs means less work for me and less hassle for my clients). As far as feature requests, I will throw in small things for free, even if not agreed upon. The assumption that I'll need to do extra little things here and there is built into my rate.

For bigger things, it's important that expectations are set upfront and are clear to everyone. That way, if someone wants a new feature, they can have it for a price.


Draw clear boundaries up front - "This is in scope, this is out of scope" - and make it an itemized list if possible.

First, it pushes that conversation to the beginning and can make it negotiable. Then it reduces surprises throughout. And finally, it gives you the ability to say "No, we agreed to.." when you need.

Nothing is perfect but it mitigates some risk.


You agree on a very explicit set of deliverables upfront. Whenever the client attempts feature creep simply tell them that it's gonna cost extra time for you and extra money for them. If they persist give them a quote for it.


A very precise, unambiguous Design Document, the drafting of which is included in the price.


You have to be willing to lose clients is the real answer. They try to get you to do some extra bullshit not in the brief, you say no / offer a quote. If that doesn't sit well with them, so be it.

BATNA is everything.


I've done a few fixed price jobs but only where the scope was very narrow and well defined and I had done something very similar before.

In general though my experience is most customers won't know what they want until you put something in front of them.

I've also found that the more they push you for a fixed price the more likely they will be causing problems down the road.


It's a good argument for specialization. If your job is "I design web apps" then it's gonna be new and unpredictable work every time. If your job is "I do software consulting for small businesses to migrate from excel to quickbooks, or quickbooks to an ERP", then you'll probably have a lot of reusable code and making predictions will be easier. Furthermore, you can probably do a better job in 10 hours than what someone else might take 30 hours to do. And the customer wins out too since they have quicker turnaround time and battle tested code/processes.


There is a benefit to specialisation but I think your example of migrations probably isn't a good one. Those projects have a tendency to stretch out because you can rarely get a handle on the data. The customer will tell you they've given you everything then a week later start complaining about something you haven't seen (but is still your problem).

Of course you could argue this needs to be tied down before you start work but often this is the bulk of the work. Even if you did get something in writing it's turned into an adversarial relationship once you start refusing work or demanding more money.


This is right on the money (heh). For further reading, check out patio11 (https://training.kalzumeus.com/newsletters/archive/consultin...) and Jonathan Stark (https://jonathanstark.com/)


I hire freelancers sometimes and this is exactly right. We agree on scope, price, and timeline. Helps me budget, helps you know when the project is done.

Hourly fills me with dread as a client. I have no idea how much this is gonna cost or when you’ll be done and I can use it.

Retainers work well for ongoing work. Like when you need someone to do X, Y, and Z misc tasks every week.

Fundamentally I pay for results, time is an implementation detail. Why should I care how long it takes you?


As a freelancer, I honestly prefer charging hourly / daily / weekly. The type of project I do tends to have an ever-expanding scope.

Charging by project would put me in an adversarial position with my client; I'd be forced to always push back when the scope / situation changes.

By contrast, charging by the hour lets me say yes much more often.

Of course, if I were to do more "turn-key" projects, scope would be much more predictable so it'd probably make a lot more sense to charge per-project.


If you are hiring someone who does not know how to tell how long it will take them.


Since I pay for results that’s their problem. At least financially. Dealing with delays is easier if they don’t come with crazy extra costs.

Imagine paying someone an extra $10,000 because they missed the deadline. That’s how hourly works.


If you've hired someone who doesn't know how to predict how long the project will take and they suddenly stop development midway through, it is probably also your problem.

> Imagine paying someone an extra $10,000 because they missed the deadline. That’s how hourly works.

Yes it is.

You should probably ensure you only hire people who have experience predicting the costs of the projects you hire them for.


There is no way to know ahead of time what kind of contractor you are. And if you're not making an active effort to bill as much as humanly possible for the minimum amount of actual work, you are bad at business.


> if you're not making an active effort to bill as much as humanly possible for the minimum amount of actual work, you are bad at business.

Deep Neural Networks who try too hard to maximize or minimize things will take weird misaligned actions. https://www.youtube.com/watch?v=Ao4jwLwT36M

I won't go into details, but my experience from the past year of trying to minimize the chances of losing my home and work visa has provided ample evidence that this also applies to human mental health.

> There is no way to know ahead of time what kind of contractor you are.

Which is why any strategy that resembles "fire and forget" is a poor one for anything that hasn't been repeatedly tested before with mostly the same components.

It's better to have a process where you repeatedly get visibility into a risk than to imagine that you can wall yourself off from it.

https://www.youtube.com/watch?v=a-BOSpxYJ9M


Unfortunately, without having done the same job, it's hard to evaluate the time, even if you pad. And for lots of complex jobs you have skeleton in the closet, meetings upon meetings, extra management to contact for approval.

I'd rather charge by day/week to discourage those unproductive things and have the company get its act together in terms of scope/approvals so that there is no blocker (or they get expensive).


You might (think) you know how long it will take you; we don't. We don't even know if you're being honest, or deliberately underestimating/overcharging for work. Because an hourly rate means you have every incentive to do so.


A relationship without well-founded trust is often a worse alternative to no relationship at all.

* A contractor who insists on an hourly rate for a project with unknown timeline does himself and the client the favor of killing the deal.

* A client who insists on a total-cost pricing for a project they need budget-certainty on does himself and the contractor the favor of killing the deal.


This. Clear requirements/expectations in addition to concrete costs help reasonable people on both sides stay on the same page and avoid surprises.


I like it, but how did you solve the hard problem of estimating hours needed? Worst guess x3?


The work I do is fairly specialized and takes me a relatively predictable number of hours. Sometimes I'm wrong and it takes me more, but a good amount of unpredictability is baked into my charge.

If you charge more for a fixed cost, then it doesn't really matter if you are off 3x one time. Yes, it's annoying, but you make up for it with the majority of times where you work the estimated number. If you are consistently underestimating, then you need to up your estimates.


I spent 10 years freelancing. If i can give an humble advice: you don't cost your customer some money, you produce some extra value for him. Charge between 10% and 30% of the extra value you provide to your customer. Charging per hour is a trap. It is nice to start, it is easy to read, easy to calculate but it makes you a commodity. Don't be a commodity, be an expert.


Finding out about that extra value is trickier than it sounds, unless the accountant is willing to share the classified info with you.


There's certainly a knack to it, but it has nothing to do with accountants or classified information. If one has experience in this sort of thing, it's generally possible to ballpark likely value-adds based on a single 30-minute conversation. Experienced consultants in this tier often offer a free initial call with prospective clients partly for this reason.


You also don't need to match the profit entirely.

You just need to match it so it's worth more than what anything else would be.


Brennan Dunn used to post on here on that topic as well: http://doubleyourfreelancing.com/category/pricing/


How do you estimate that and sell someone on it?


By understanding their business really really well.

For example, if I know that an automation that I can create for a client is going to take me 100 hours to setup and save them £20,000 per month I can either:

Charge 100 x £100 per hour - so a one off income of £10,000. Seems like I'm earning good money right??

OR

I can charge them £100,000. They'll make that back in just five months. A BARGAIN. Most businesses would bite your hand off.

The catch for achieving number two is knowing the value I'm providing. I can only do that when I know their business really really well.


Sounds great until the client realises they can hire someone else who does charge by the hour, saving them a massive 100k - 10k = 90k compared to your proposition.


Or they look at your proposal for $100k and say, "Mmmmm... maybe next year" and the project never happens.

Really depends on the client and your reputation though, you can definitely pull it off with the right pitch to the right people at the right time.


Yeah, your ability to charge more scales with your proven ability to deliver. That's where referrals/portfolios/testimonials/case studies come in.

Basically, you want to charge a percentage of the value you're promising to provide for them. And then that's going to get multiplied by their confidence in you.

If I'm bidding on a project that I think can make $1MM/yr for my client, and I normally charge 10% of the first year's worth of value, then I'm looking at $100K. If the business I'm working with only has a 50% confidence that I'm a safe bet to produce that value, or an 80% confidence, that's going to get reflected in what price we negotiate to. Probably more like $50k in the 50% confidence bucket.

But the more proven you are, the more you can say, "I said this thing would make $2MM and by gum it actually made $5MM" the more you're going to be able to charge.

N.B. That 50% isn't "It's a coin toss whether or not they'll complete the project", it's more like "When they complete the project, we're confident that we're going to get at least 50% of the value they're selling us on"


The catch for me is looking for businesses interested in this kind of arrangement. How do you approach that?


I could write a book on it because there's a lot to it but I'll try to summarise.

Success = Connections x (Niche knowledge + Skills)

For connections:

Given the current state of the world networking is hard but not impossible. However you go about it, you need to build trust with people rather than hard sell them which doesn't work in 2020 (unless what you are selling is a commodity). Note that I said people, you're selling to people - not businesses.

You can shortcut this by leveraging existing contacts, ideally in a niche that you already have knowledge in because you worked in it.

For niche knowledge + skills:

With your connections at first you might need to find ways to cheaply provide value. Build up trust. Grow relationships. Get referred.

You'll make your life easier by specialising in a niche. So for example mine is financial services. A niche in a niche is even better. Again, for example mine is asset management, which sits within financial services.

So now you have your niche in a niche and detailed knowledge of that niche. You know what problems they have (the knowledge), and you can add your skills to solve their problems.

It's not easy, it takes years - but it's possible. Once you have all the elements of the above formula, you can switch your pricing from by the hour to by value.


Why wouldn't you just sell one program as a service at that point instead of making custom software for each client?

Also everything you said here is extremely generic, it doesn't address the initial problem of finding a problem that a company needs solved and will pay for, but wouldn't solve themselves internally.


IMO for smaller markets, it's oftentimes easier to build a one-off custom solution than to make a generic one-size-fits-all solution. Custom software is high margin but low volume so there aren't as many opportunities to scale up.

I'm working with a client right now at a 30h/wk retainer. I solve problems for them and communicate with the team regularly as if I were an employee. In my experience it's easier to sell your value to the C-suite because they focus more on outcomes than line items or specific tasks. Relationships, reputation and positioning are key.


>it doesn't address the initial problem of finding a problem that a company needs solved and will pay for, but wouldn't solve themselves internally.

Duh. If a general way to find such problems existed, everybody would be using it - meaning every problem would already have people on it. Which means no problems for you.

Welcome to the market.


Hey everyone, author here.

My experience is that customers will always want more features than they initially ask for. That's why I make sure to tell them my hourly rate, then give them an estimate. For example, I can say $5000 for a 1 month project. Here I'll break down the average time I will work a week as a courtesy.

This helps me justify charging them again when we are at month 3 and the project is not done. I learned this the hard way, charging a flat fee and continue to work long after I had spent all my earnings.


Not really on-topic, but I have to say that I really enjoy the audio narration :)

It's well recorded and the music is not too loud either.


I couldn’t manage to make the player work on iOS. Sad day after seeing your comment.


Thank you for letting me know, and here I thought testing on chrome and firefox on Windows was enough. I'll update it as soon as possible.


Glad you enjoyed it :)


Nice write up!

fyi Your humans.txt page is broken


Thanks, I'll update it right away.


Very interesting that the author doesn't address outcome-based pricing. The rule of thumb I use is 10% of total value - if it's less than I want to make, I decline. It doesn't make sense for them to pay me, so it doesn't make sense for me to work.

"Urgency" strikes me so much less compelling of a pricing conversation, but I guess it works.


So if you help someone build a $3M empire the fee would leave them with $2.7M ? Not bad. Seems to be a more astute way to charge for services rendered because the client will actually have revenue to pay you, and the cost/benefit is fairly clear from the get-go. Do you typically both [client and creator] agree on how much value the work will bring in, and is it based on time? (This much in the first year, etc)


The former - I mostly work with large non-tech corporates, so you need to have a business case to get anything of significance approved anyway. I typically start off at 10% of "the big number on the slide."

If I'm independent, I always work fixed fee & payment schedule. When I've had a big company at my back, I've also worked at X% of realized revenue, capped at $Y.

Now, the important thing this implies is ownership of the outcome. I'm not building "a website;" I'm building "an e-commerce product" (or whatever) with all the expectations that come with it.

Back to the article... looking at the rates again, I think this is the author's next step in pricing. They're obviously very good. To make it as an independent developer, you need to have a clear understanding of value anyway - so why not just estimate the outcome ahead of time and benchmark against it?


I too am interested in seeing how that negotiation plays out.

Though it is still just potential value. There has to be some sort of payment for the early stages if you’re not planning on taking the same risks along with your client.

I have never worked on building any project like that so I’ve no idea but I guess the maintenance and future work could be tied to a percentage of the revenue generated for the company.


Those rates seem low. 20 years ago consultancies were charging $150/hr + materials. Their employees might see $30-50 depending on how much unallocated time they had. For a solo, the average including down time (sales) could reach $80-100, charging that same $150 to the clients.

Have rates fallen so far?


Some anecdotal stats from my experience being a consultant with both megacorps and smaller gov contractor. The hourly rate is about $200 an hour on average. This is for a senior, highly specialized, engineer type role. Megacorp paid me about $60 per hour where the smaller firms paid me closer to $80. Both as an employee with benefits. When I first joined a startup we would go as low as $120 per hour and pay $30 an hour too a junior/mid level consultant.

I'm sure someone super specialized and in a hot market could get up to $300 an hour if they are delivering value.


having been employed by agencies directly, and having worked as a freelancer working with agencies as well as other businesses directly, these rates are right in line with my experience.


I am working with a small company and this is an ongoing debate regarding how to best bill our customers for the work we do. Our product is an extremely long-term, high-value proposition. It effectively replaces & automates large swathes of our customers' legacy business processes.

For our customers, an hourly rate is a non-starter, despite the appealing nature of using a rate-based billing approach to head off scope creep and change requests. They need something more concrete with comprehensive up-front terms. We are starting to look at a model where the features are on individual contracts based upon their specific complexity:

"<Some Business Feature> will cost you $X to implement, another $Y/year to support and will take ~W months to reach acceptance testing phase. Minimum contract term is Z years."

This gives each customer an opportunity to prioritize specific sub-components of the product that are most important to them so that we are not implementing things without net positive business value.

We also figured out that we need to push acceptance testing and delivery timing back onto the customer so that they understand that longer timetables are a direct consequence of scope creep, change requests or their non-participation in the process. Since this is kind of a marriage between the organizations, we have built a "core" product that is a lower-stakes implementation and covers a few basic business processes. This allows for a less intense trial phase of the product where the customer can see how the overall process works for them. If they decide it's what they are looking for (i.e. they can see the business value), then we talk about tacking on the additional discrete feature modules and signing longer-term contracts.

I think our most important realization is that not all customers are compatible with our product, how much it costs, or the way we go about implementing it. The core piece of this equation is the customer being able to see through all the noise to the business value. If we cannot make the value clear to them, then we are not in any position to be talking about pricing or which features should be implemented in what order.


Ahh yes I've charged $100/hr and I have gotten almost no work despite being both an engineer and programmer.

I can make half that with employment.

If I have a sales team, maybe we can split the $100/hr labor once I find a company willing.


Your $50/hr with employment is more like $75/hr with overhead accounted for.


When I was doing consulting for small websites, data work and programming through craigslist, much like the original article. I charged $35/h with a minimum one hour charge. This was 6 or 7 years ago and at the time, I wasn't really thinking about making it full time work.

I did a lot of research before hand on average rates for the type of work I was doing and my experience level, checked out other ads things like that.

I chose my rate because it was higher than the spammy looking cheap ads but was on the lower end for consulting rates.

I got a decent amount of work. I had one customer specifically tell me he chose me after finding out my rate because I charged more than the people with the cheap ads that had done poor quality work.

I never had anyone quibble about the rates. Luckily, my customers were mostly business owners and stuff.

I got some tine tracking software that also helped keep work stuff seperate from hone stuff. If I clocked in, I was working, I kept a list of tasks. In the end though, nobody really asked to see or check, they just wanted the bill.

Don't be afraid to charge a rate you feel is reasonable for your work ans don't feel bad when you hand over that invoice.


While this may be somewhat tongue in cheek, I often think of this post from Anil Dash:

"I talk to a lot of consultants, freelancers, and small businesses who do web work, and I used to be a freelancer myself, so sometimes I get asked for advice on how to price one’s goods and services.

I think I came up with my best suggestion today, and it involves only two simple steps:

  Slap the client in face.

  Tell the client your hourly rate.
If the person looked more shocked, horrified, offended, hurt, saddened, or wounded by the slap in the face, then you are still pricing yourself too low.

Your mileage may vary, this is not to be construed as legal advice, eye-poking may be substituted for slapping in some states."

https://anildash.com/2005/05/12/pay_by_the_hour/


Companies tend to internally budget using hourly rates and time cards, so I can’t see how charging an hourly rate like most consultancies and professions, such as law, would not sit well with client companies. Also, charging a fixed price makes you very vulnerable to having to absorb additional costs if the project takes longer than anticipated. An hourly rate removes this risk as you amortise your costs into your hourly rate.

As an individual going up against an entire company you want to protect yourself as best you can, charging by the hour helps ensure that. Also make sure you get yourself liability insurance.


If I were to write an article on this topic, it would be a similar story. I don't think this would have helped us answer the question when we were starting out though.


That explains why all the recruiters on LinkedIn are trying to low-ball me so much. The actual rate they charge is double!


This makes me soooooooo mad. Instead of LAMP, I spelled out Linux/Apache... etc in my resume. One recruiter spent 10 minutes arguing with me that LAMP is not the same as Linux...

Why do they deserve 50% of the billing rate (they can't even bother spending 30 seconds to google and note down what these terms mean)? Is their service that valuable? Heck, compared to them even the freelance websites that take 20% (Fiverr etc) seem like saints.

Another recruiter changed my resume without my knowledge. I found out during the interview. All kinds of shady stuff going on with these people.


Every time I encounter a shady recruitment agency (or their practices) I'm reminded of this blog post [1], although this is an archived version rather than the original.

In the UK, everyone even close to tech-adjacent has similar stories.

[1]: https://gist.github.com/CumpsD/696599d1bd4cd472a056586967293...


> One recruiter spent 10 minutes arguing with me that LAMP is not the same as Linux

8 of those minutes are partly/mostly on you. (I’d give ‘em 1-2 minutes and then just hang up.)


I’m a software consultant at a large software firm. I make a reasonable amount of money per hour for my region and is around the going rate of a developer of 2-3 years of experience (Im only 2 years out of school). But my firm charges clients around 4x what they pay me hourly.


Usually more than double.


I've done by the hour, fixed price, and with a friend of mine recently I just said pay me what you think its worth when you want. All of them have worked out pretty reasonable. Only time I haven't thought it was worth it if the job was too small.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: