When we started putting prices together, the tempting method was obvious: look at what three other Pune agencies charge, sit somewhere in the middle, and get on with it.
We didn't do that, for one reason. Copying a competitor's price copies their cost structure too — and we have no idea what theirs is. If they're subsidising a bad month with a good one, or quietly working for free on half their accounts, we'd inherit the same problem without ever seeing it.
So we built the number from the bottom instead.
The arithmetic
Every price we publish comes out of the same four-step calculation.
1. Hours per craft, per deliverable
We broke the work into pieces — a five-page website, a month of social at twelve posts, a half-day shoot, one reel edit — and estimated how many hours each piece takes from each craft. A website costs management hours, web development hours, and design hours. A shoot costs photography hours and editing hours. Almost nothing costs only one.
These started as estimates. They're being corrected as we time real jobs, which is the only way they ever become accurate.
2. An hourly cost per craft
Not a rate we invented, and not a rate we found on a freelancer marketplace. For each craft we asked: what does this need to earn in a month, and how many hours can it realistically bill in that month? Divide one by the other and you have the hourly cost.
The second half of that sentence is where most people get it wrong. Billable hours are not working hours.
A forty-hour week is not forty billable hours. Sales calls aren't billable. Admin isn't. Redoing something because you misread the brief isn't. Our own marketing — this post, for instance — definitely isn't. Fifty to sixty per cent utilisation is normal, not lazy, and pricing as though it's a hundred is how an agency ends up busy and broke at the same time.
3. Overhead, spread across every billable hour
Software subscriptions, equipment depreciation, internet and phone, travel to shoots. None of it is free and none of it belongs to any single client, so it gets divided across the total billable hours available in a month and added to each one.
It's a small number per hour. It is not a small number per year, which is exactly why it's easy to forget and expensive to forget.
4. A contingency buffer, then the margin
We add a buffer on top of direct cost and overhead, for revisions and scope creep.
This is the line people argue with, so: contingency is not padding. Revisions happen on every single job. A client changes their mind about the homepage, a shoot gets rained off, a caption round goes to three passes instead of one. Pricing as though none of that will happen doesn't make it not happen — it just means it comes out of your margin every time, and then you resent the client for something you did to yourself.
Once we have a true cost, the price is cost divided by one minus our target margin, rounded up. That's it. There's no second spreadsheet where we check what feels right.
The step that stops us overselling
The last sheet in the model is the one that actually changed our behaviour. It takes the total billable hours we have in a month, takes off a reserve for sales and admin and internal work, and then asks a blunt question: given the mix of clients we're planning to take, do the hours fit?
If they don't, it says so.
We tell people that a small client list is deliberate and that attention is the product. That's an easy thing to say and a hard thing to hold to when someone offers you money in a slow month. Having a sheet that turns red is a more reliable defence than good intentions. If it says we can serve four, we don't sell six.
Why any of this is on a public page
Three reasons, in order of how much they matter.
It respects your time and ours. The single most common thing a visitor to an agency website is looking for is the price. Making someone sit through a discovery call to find out whether they can afford you is a tax on both of you. If our numbers are wrong for your business, you should be able to find that out in eight seconds, not eight days.
It filters. A published price repels the enquiries that were never going to close and warms up the ones that were. Everyone who books a call with us has already seen the number and booked anyway. That is a much better conversation to walk into.
It keeps us honest. A price on a public page is the same price for everyone. It's harder to quietly charge more to the client who seems less certain, or less to the one who pushes hardest, when the figure is sitting there in public.
What this doesn't mean
It doesn't mean every job fits a package. Plenty don't. When yours doesn't, we scope it and quote it — using the same model, with the same arithmetic, and we'll show you the shape of it if you want to see it.
It also doesn't mean the numbers are fixed forever. They're built from assumptions about our own hours and costs, and we're new enough that some of those assumptions are still estimates. As we time real jobs, the estimates get corrected, and if that moves a price we'd rather change it openly than absorb it quietly until something breaks.
The method won't change, though. Hours, rate, overhead, contingency, margin. If you ever want to know how we arrived at a figure we sent you, ask — we'll walk you through the same five lines.
Related: Why we don't run paid ads (yet) · Our prices, published in full