Hire developers Community Blog Find a dev job Log in
Close menu
Tech Career Insights: How to Set Your Rate as a Freelancer
Less noise, more data. Get the biggest data report on software developer careers in South Africa.

How to Set Your Rate as a Freelancer

30 August 2021, by Simon Stewart

Note: An earlier version of this article was published in 2017, you can check it out here. We’ve updated the data, summarised all of the key points and updated the awesome Excel sheet that will help you set your freelancer rate.


“What’s your hourly rate?” This is one of the hells you have to deal with as a freelancer. All of the time you’ve spent amassing a mountain of knowledge eventually boils down to a few numbers followed by a “/hr”.

It is tempting to think about hourly rates by starting with an end salary in mind: Take your ideal monthly salary, divide it by 160 hours (5 days x 8 hours x 4 weeks) and voilá, there’s your hourly rate! But, such a calculation is too simplistic.

My aim with this article is to help freelancers by discussing all the elements you should consider when deciding on your hourly rate:

  • Billable hours
  • Expenses
  • Rate increases

Disclaimer: I got 40% for Accounting in Grade 9, so your mileage may vary :-) This should also not be seen as any form of tax or legal advice.

Elements that impact your hourly rate as a freelancer

Billable hours

First things first: To calculate your hourly rate, you need to have a nuanced understanding of how many billable hours you actually have.

Understand how you spend your time

About three years ago, I started keeping time sheets of everything I do - presales, marketing, attending conferences, preparing talks for user groups and, of course, actual freelancing work. By not tracking time spent outside of paid work for official clients, I had ended up with a frustrating amount of blank spots in my billing without any information to explain it.

By tracking my time in detail, I now have a more realistic idea of my billable hours, how much self-learning I do, how many conferences I attend and how much time I spend doing pre-sales every month.

Understanding how you spend your time as a freelancer is important because this influences how much you can expect a client to pay.

Be realistic about the number of working days in a year

As a freelancer, you also need to be realistic about the number of working days you actually have in a given month or year.

In a full time job, it’s easy to think that your cost-to-company (CTC) salary is based on the assumption that you are at work for 8 hours every work day of the month. That assumption results in a simple, but faulty, formula for your hourly rate:

CTC salary / work days per month / 8 hours = hourly rate

I made this mistake when I started working for myself, but there is a major issue with this formula: You definitely don’t work 8 hours per day all year long.

Here are a couple of things that affect that perfect daily average:

  • The variable number of work days per month: In SA, June 2019 only has 19 work days and 2019 has an average of 20.75 work days per month.
  • Public holidays vary from year to year.
  • Sick, personal and annual leave need to be taken into consideration.
  • Billable hours lost due to work that takes up time but can’t be charged to the client, like pre-sales or marketing, also affect the average.

Another big item to factor in is leave: I use 1 day per month (Jan-Nov) plus 10 days over December. That means that 2019 only has 19.08 work days per month, leaving a mere 152.64 billable hours to hit your monthly salary target.


The next thing to keep track of are expenses. They add up quickly, so keep an eye on what you’re paying and make that a part of the internal equation when thinking about your hourly rate.

Not all expenses are monthly expenses, so I track mine in three different categories:

Monthly expenses include things like Github, Pingdom, Pluralsight, AWS, Audible or whatever other services you subscribe to. A quick hack to keep track of them is to only use your credit card to pay for these, and then to review what you spent your money on at the end of a month. This is just one of the reasons why having a separate bank account for your business is a good idea.

Yearly costs may include things like audit fees or an Apple dev subscription. Be sure to add the costs for a conference or two (including flights and accommodation) every year - if that’s your thing.

Costs that span over multiple years are things like a new Macbook that you would need every three years, or expensive developer tools. This can be annualised so that you account for it per year.

Rate increases

If you’re not increasing your rate every year, you’re gradually losing money. You should be confident enough to have this discussion with a client.

There’s also a hidden benefit in doing an annual increase with each client: It allows you to subtly test if they are still getting enough value from the engagement.

Anything less than 10% can safely be viewed as an inflation-based increase and shouldn’t be too unreasonable. Be wary of increasing more than 10% year-on-year, because this could indicate to the customer that you’ve changed your mind about the engagement.

In my experience, consultants push “unreasonable” rate changes for 4 reasons:

  1. The annual rates weren’t periodically applied, leaving this client’s rate far below others.
  2. The consultant’s skill levels have increased.
  3. The consultant is bored and ramps up the rate in an attempt to make the work more palatable, or to organically push the client to another company.
  4. The cost-of-living has changed.

None of these should be the client’s concern. If you’re charging by the hour, then you’re selling an hour of your time to the client. What the client asks you to do during that hour might affect your motivation, but it shouldn’t affect the rate you’re charging.

It’s useful to keep track of all the rates you’ve used or quoted over the years. I’ve got a text file with data going back to 2008. This allows you to view rates you’ve used for clients in the past as well as the rates certain clients have accepted or rejected.

A tool to calculate your hourly rate

To bring all of this together, I use an Excel spreadsheet to keep track of the variables that impact my hourly rate. It contains three sheets: summary, monthly expenses, and annual expenses. These will help you account for the following bits of data:

  • Breakdown of work days per month for 2019.
  • Number of deducted work days per month from the realistic target regarding leave and presales.
  • Your modifiable target salary in cell (E:21), and the final hourly rate that is calculated (E:22) according to that.
  • “Safety net / month” and “business profit / month” which are both expressed as a percentage of the salary. Feel free to zero these out if they aren’t relevant. If you want to factor in a December bonus, then include this here.

The yearly expenses sheet also contains a “lifespan” column that indicates over how many years that expense is annualised.

You can download it out here:


Simon Stewart is the CTO and co-founder of Bridgement, a fintech startup which breaks down the barriers for businesses across SA to access financial assistance. He also started and runs the JSinSA conference and speaks at local tech conferences - often about freelancing. He’s been self-employed for 14 out of the last 16 years and has a good understanding of the benefits and pitfalls of breaking away from the corporate world.


Your next developer job is waiting for you
On OfferZen, companies reach out to you with upfront role, tech stack, and salary info.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Subscribe to our blog

Don’t miss out on cool content. Every week we add new content to our blog, subscribe now.

By subscribing you consent to receive OfferZen’s newsletter and agree to our Privacy Policy and use of cookies.