Most UK service businesses know their total revenue and rough overall margin. Very few can tell you, without running a manual analysis, which specific clients or jobs are actually profitable - and which ones are quietly subsidised by the rest of the business. The analysis that reveals this is not complicated. But it requires connecting cost data to revenue data in a way most businesses have never done.
Why the overall picture hides the detail
An overall gross margin of 35% can conceal enormous variation at client or job level. A client generating 20% of your revenue but requiring 40% of your team's time may be significantly loss-making when true costs are allocated. A smaller client with straightforward work may be generating disproportionate profit. Without the client-level breakdown, these patterns are invisible.
What the analysis requires
To see profitability by client or job, you need three things connected: revenue by client or job from your accounting software; direct costs attributable to each client or job, including staff time, materials, and subcontractors; and a consistent method for allocating overheads. The first two are usually available - the connection between them is what most businesses are missing.
How to build the visibility
A Power BI dashboard or automated Excel report connected to your accounting software and time recording system can show gross margin by client, job, and team member - updated automatically without manual analysis. Once built, this report answers the profitability question instantly rather than requiring a quarterly exercise.
Why job profitability is harder to see than it looks
Revenue by client is visible in almost every accounting system. Cost by client is not - because costs are typically coded to expense categories, not to clients or jobs. Linking the two requires either a time recording system that allocates hours to jobs, a job costing module in your accounting software, or a manual allocation model in Excel. Most businesses have none of these and rely on gut feel to identify which clients are worth keeping and which are draining margin.
Building a simple job profitability model
The fastest approach for most service businesses is an Excel model that takes revenue by client from the accounting software export and sets it against an estimated cost allocation. Direct costs - materials, subcontractors, identifiable expenses - can be coded by job in most accounting systems with minimal setup. Labour cost allocation requires either time recording or an estimated percentage split. Even a rough model that allocates 70% of labour cost to the top 5 clients by revenue produces more useful information than having no view at all.
What the data usually reveals
When businesses first build job profitability visibility, the results typically challenge the assumptions that have built up over time. The largest client by revenue is rarely the most profitable. Long-standing clients who receive loyalty discounts often sit at margins 10-15 percentage points below newer clients. The jobs that feel straightforward are sometimes the most profitable; the demanding clients who require constant attention often generate the lowest net margin once management time is allocated. The data does not tell you to fire your biggest client - but it does give you the information to have a different conversation about pricing and scope.
Related articles
How to Tell If Your Business Is Actually Profitable
Business FinanceHow to Track Project Profitability in Real Time
Power BIHow to Build a KPI Dashboard for Your Small Business
Business IntelligenceHow to Track Business Performance Without a Data Team
Want to fix this in your business?
There is more on the Power BI work page about how we build this. Book a free 30-minute call and we will tell you exactly what automation would look like for your business - fixed price, no commitment.
Book a free scoping call →