5 years ago I was paid 800 euros for a website that took me one full week to build. Last week, I finished a project for 5000 euros which only took me one full day of coding. In both cases, the client got what they needed. But what made the difference? My pricing strategy.
You can also check out this topic in my Youtube channel called Developer Habits
The three pricing strategies
I've been freelancing since I was a teen. In the beginning, money was of not importance to me(or well...not the priority). I got paid for doing what I loved- creating beautiful websites. But as I've grown older, valuing my time, knowledge and experience has changed the way I approach my pricing strategy. In the big picture, I see there are three pricing strategies one could utilise as a freelancer.
Hourly-based pricing
Most people working full-time get hourly salary. It's secure and one can get paid for the time spent working.
Based on my experience, hourly-based pricing works well for projects with lots of ambiguity. Whether it's because of the size of the project, the nature of the client or whatever reason. This pricing strategy will protect you from building extra features for free or making just letting the client come up with unnecessary additions.
How much to charge for an hour? It really depends on your skillset, portfolio and clients and there's no great advice I can give here. I've heard a rule "annual salary minus 3 zeros". So if a developer with your experience earns 35 000€ per year, your hourly salary could be 35 euros.
In the end, hourly-based pricing is a simple, yet secure way to price yourself as a developer. But to be honest, it's quite similar to having a full-time job and I believe there are better options.
Project-based pricing
A fixed price for the project? This is how I've priced for most of my projects. Sometimes I've regretted it, though in most cases it's been the right thing to do.
Thing about project-based pricing is that you have to know really well what you're doing. Or you just have to be motivated because you like the project, the client, it's cause or technologies you're using. Whatever the case, project-based pricing can be tricky.
Before agreeing on a project-based pricing, I strongly recommend you to agree on the requirements of the projects. And trust me, I mean it! There can be no ambiguities. I've been part of projects where we've agreed on very broad goals, resulting in doing tons of extra work. It's especially energy consuming in cases where your vision doesn't align with that of your client.
In case you're more experienced, project-based pricing can be a great way to make money while saving time. If you're able to analyse the needs of the project, use lean methods and achieve the goals of the client with little-effort, project-based pricing is the way to go.
Value-based pricing
Imagine you build an e-commerce website for a client and you agree that on each sale, you'll get 0.1 euros. You believe in the project and agree to build it for a small fee. A couple of years later, you client makes 100 000 sales per month. That'd mean you make 10 000 euros per month, basically for just doing maintenance and keeping the page up. It's like investing, but only through freelancing. That's why I love value-based pricing.
The way value-based pricing differs from other aforementioned strategies is that it's riskier. Usually, smaller clients agree to it and you most probably have to accept a smaller initial pay, but it can pay off really well if you believe in what your client does and they actually succeed.
If you're not interested in such risk, there's another way to negotiate your fee using value-based pricing. Ask your client "How many extra sales are you expecting to get through the new website" and then "How much is one sale worth?" From that, you can calculate a fee that's comfortable to you.
Let's say your client expects to get 100 extra sales using the website(compared to the old site), each worth 1000€. That means, per year, the client makes extra 100 000€. Asking...let's say 25%, or 25 000€, doesn't sound much, because your client will get 75 000€.
Although value-based pricing is riskier and sometimes harder to negotiate, it's also the method that can bring in the biggest amounts of money. If you have the skills, go I'd recommend to try it out.
Which strategy to choose?
All the aforementioned options are great...After all, you're getting paid(in most cases, but that's another story). But I believe one can draw connection between one's skillset and pricing strategies. Let me elaborate.
If you are a beginner, I'd recommend to go for project-based pricing. Why? Because you're a beginner and most probably you'll be spending more time on projects than expected. If you don't know technologies and are just learning, project-based pricing is a great way to get paid for that.
In case you're a bit more experienced and already know the tools, you can choose between project-based pricing and hourly billing. Hourly billing is great because it secure, while project-based pricing can be used when there are no unknowns. Between the two, I prefer project-based pricing, because that way I can set the price based on my gut feeling, which in smaller projects, hasn't let me down. Hourly billing means I'm selling my time and with freelancing, I'm striving for complete freedom, not selling my time.
And my favourite one- value-based pricing. I love it because it can bring in passive income. But that method also assumes you have business thinking and are able to articulate and actually realise the value you bring to the client.
Conclusion
Pricing yourself as a freelancer can be tough and it really depends on your skills, experience and the project. Which one suits you? Based on my experience, in case you're looking for security, hourly-based pricing is the way to go. If you know what you're jumping into, go with project-based pricing. And if you know the business and believe in the client, try to negotiate a deal using value-based pricing. So I urge to - before agreeing to some certain price, think about what are your options.