Profitability-by-Client Analysis Revealed 20% of Clients Were Losing Money
A bespoke software development firm had no way to measure profit at the client or project level. A component-level cost framework and reporting dashboard revealed that one in five clients was generating negative margin — and gave the firm the data to fix it.
Data AnalyticsFinancial ReportingProfitability AnalysisCost ModellingStrategic Insight
The Challenge
The firm was growing — more clients, more projects, more developers. Revenue was up. But nobody could answer the most basic question: which clients are we actually making money on?
Every project was bespoke, so nothing was comparable. Different tech stacks, team compositions, timelines, and scope meant no two quotes looked alike. There were no standard rates, no reusable templates, and no baseline to measure margin against. Each engagement was priced from scratch.
Pricing was based on senior developer estimates and gut feel. A lead developer would estimate hours, the sales team would add a margin buffer, and that became the quote. But estimates rarely accounted for project management overhead, tooling costs, or the actual seniority mix that ended up on the project.
Time tracking existed but was disconnected from financial data. The team logged hours in their project management tool, but those hours were never costed. The firm knew Sarah logged 40 hours to Client X last month — but not what those 40 hours actually cost once salary, superannuation, overheads, and office allocation were factored in.
Revenue was tracked at the invoice level; costs at the department level. The monthly P&L showed whether the firm was profitable overall, but it couldn’t tell you whether Client A was subsidising Client B. Finance could report total revenue and total costs — never the margin on a specific client or project.
Long-standing clients were suspected of being unprofitable. Several “anchor” clients had been on the books for years at rates that hadn’t been re-negotiated. The partners suspected some were losing money, but without data, raising prices felt like a risk to the relationship.
Month-end reporting took two days of manual consolidation. The Finance Manager spent roughly two days each month pulling data from multiple systems, building spreadsheets, and manually allocating costs to produce reports that still couldn’t answer per-client questions.
Our Approach
The goal wasn’t just a dashboard — it was a framework the firm could use permanently to understand where money was being made and where it was being lost.
Component-level cost framework. Built a cost model that broke down every project into its constituent parts: labour (by role and seniority level), tools and infrastructure, project management overhead, and direct expenses. Each component was assigned a fully-loaded cost rate — not just salary, but superannuation, leave provisions, office allocation, tooling, and management time. This gave the firm a true cost per hour per role for the first time.
Connected time tracking to the cost model. Linked the existing project management time logs to the cost framework, so every hour logged was automatically costed at the correct fully-loaded rate. No manual spreadsheet work — hours flowed directly into cost calculations.
Per-client, per-project profitability reporting. Built reporting that compared actual time and cost against quoted revenue for each client and each project type. The firm could now see margin at every level: per engagement, per client over time, per project category, and per team composition.
Client profitability dashboard with trend lines. Created a dashboard showing not just current margin per client but how profitability was trending over time. This surfaced clients that were gradually becoming less profitable — critical for catching margin erosion before it compounds.
Delivered the headline finding: 20% of clients were unprofitable. Once fully-loaded costs were applied, one in five clients was generating negative margin. Several of the worst performers were long-term “anchor” clients on legacy rates. The analysis gave the partners the data they needed to re-negotiate — or in some cases, strategically exit — those relationships.
Automated monthly reporting. What previously took two days of manual consolidation now runs in three hours, with most of that time spent on review and commentary rather than data wrangling.
How We Calculated True Client Profitability
Most firms track revenue by client and costs by department — but that doesn’t tell you whether a specific client is profitable. The gap is in how costs are allocated. Our framework applies fully-loaded hourly rates that include:
Base salary + superannuation + leave provisions — the actual employment cost, not just the salary line
Office and infrastructure allocation — rent, equipment, and tooling apportioned by headcount
Project management overhead — the cost of coordination, scoping, and client communication that doesn’t appear on a timesheet
Role-based rate cards — a junior developer and a senior architect have different fully-loaded rates, and the model reflects this
By applying these rates to actual time logged per client, the framework produces a true margin figure — not an estimate based on averages, but a calculation based on what each client actually consumed.
The Results
20%Unprofitable Clients Identified
+18%Margin on Re-Quoted Work
3 HrsMonthly Reporting (from 2 days)
Per-ClientMargin Visibility
The 20% finding was the headline — but the real value was what the firm did with it. Armed with per-client margin data, the partners re-negotiated rates with underperforming clients, adjusted scoping practices for project types that consistently ran over, and in two cases, made the strategic decision to exit client relationships that couldn’t be made profitable.
The re-quoted work showed an average margin improvement of 18% — not because prices went up arbitrarily, but because the firm finally understood its actual costs and could price accordingly. Monthly reporting dropped from a two-day manual exercise to a three-hour review process, freeing the Finance Manager to focus on forward-looking analysis rather than backward-looking data wrangling.
And perhaps most importantly, the firm now has per-client and per-project visibility as a permanent capability — every new engagement is tracked against its true cost from day one.
“We always had a feeling some clients were costing us money, but we couldn’t prove it. When we saw the numbers laid out by client with real costs — not just salary estimates — it was eye-opening. We’ve re-quoted three clients since and exited one. Our overall margin is healthier than it’s been in years.”
— Finance Manager, Software Development Firm (name withheld)
Frequently Asked Questions
How can a services company measure profitability by client?
By building a cost framework that applies fully-loaded hourly rates — including salary, superannuation, overheads, and management time — to actual hours logged per client. One software development firm used this approach to discover that 20% of their clients were generating negative margin, and improved pricing by 18% on re-quoted work.
Why is revenue-level reporting not enough to identify unprofitable clients?
Because most firms track revenue by client but costs by department. Without connecting time logged to fully-loaded cost rates at the client level, profitable and unprofitable work gets averaged together. A per-client profitability framework separates the two — and often reveals that long-standing clients on legacy rates are the worst performers.
How do you calculate the true cost of a software development project?
Break costs into components: labour (by role and seniority with fully-loaded rates), tools and infrastructure, project management overhead, and direct expenses. Apply these to actual time logged, not estimates. This produces a real margin figure per project and per client — not an average across the business.
Do You Know Which Clients Are Actually Profitable?
If your pricing is based on estimates and your P&L only tells you the total picture, you might be subsidising unprofitable work without realising it. We’ll build the framework to show you where the money’s really going.