Enterprise DNA
Guide Intermediate Omni Ops

How to Calculate Agency Client Profitability

Learn how to calculate marketing agency client profitability by combining project revenue, logged hours, delivery costs, and account-level reporting.

Sam McKay |
How to Calculate Agency Client Profitability

The account can look busy and still lose money

A client is paying on time. The team is shipping campaigns, creative, and reports. The account manager says the relationship is in good shape. But the agency owner still has a nagging question: after delivery costs, is this client actually profitable?

For a marketing or creative agency, revenue by client is easy to see. Profitability takes more work. Project revenue may sit in a billing system, time entries in a time tracker, freelancer invoices in accounting, and delivery costs in a spreadsheet. Reporting and client communication take time too, but teams often don’t assign that work to the account.

The result is an account view that counts the invoice but misses the labor and costs behind it. That can make a high-revenue client look like a good client even when the team is spending too many hours servicing it.

This guide walks through a practical way to calculate profitability by client. You’ll combine project revenue, logged hours, and delivery costs, then use the result to decide what to fix. The method works for monthly retainers, fixed-fee projects, and mixed engagements.

For agencies, this isn’t a finance exercise for its own sake. It helps you decide where to adjust scope, pricing, staffing, or the way work gets delivered. Profitability tracking helps bring that loss into view before it becomes the normal cost of keeping an account.

Start with a consistent definition

Before comparing clients, define what you mean by profitability. A useful starting point is contribution margin by client:

Client contribution = client revenue - direct delivery costs

Client contribution margin = client contribution ÷ client revenue

Direct delivery costs should include the labor and outside costs required to serve that client. Depending on how your agency works, that may mean account management, strategy, media buying, design, copywriting, production, freelance support, stock assets, or project-specific software and ad production expenses.

This is not necessarily the same as fully loaded company profit. Rent, leadership time, sales, and general software may belong in an overhead model rather than being spread across individual clients. You can allocate overhead later if you want a fuller account P&L. Start with delivery costs you can trace consistently.

The key is to use the same definition for every account and every reporting period. If one client includes account-management time and another doesn’t, you’re not comparing profitability. You’re comparing two different accounting rules.

A more detailed walkthrough of the project-level calculation is available in this guide to agency project profitability. For client profitability, the extra work is connecting the projects and recurring activities that belong to the same relationship.

Gather the three inputs

The calculation needs three core inputs: revenue, logged hours, and delivery costs. The sources may be spread across systems, but you don’t need a perfect data platform to begin. A clean monthly export is enough to build a first useful view.

1. Project and retainer revenue

Pull billed revenue by client for the period. Include retainers, project fees, production charges, and approved pass-through income. Decide how you’ll handle discounts, credits, and unpaid invoices, then apply that rule consistently.

If a project spans several months, assign revenue by the period when the work is delivered or use the agency’s existing revenue-recognition policy. Don’t compare a full project fee from one month against several months of labor from another. The time periods need to match.

Map project names to a single client record. Agencies often have the same client entered under a parent company, brand, campaign, or billing entity. If those records stay separate, client-level totals become misleading.

2. Logged hours by role

Export hours by person, date, client, project, and role. The role matters because an hour of senior strategy and an hour of production coordination don’t have the same cost.

Turn each person’s time into a labor cost using an hourly cost rate. A practical rate can include salary or contractor fees plus employment costs, divided by expected productive hours. Finance can set that rate by person or role. It doesn’t need to be exact to the cent. It does need to be applied the same way across clients.

For example, if a designer logs 18 hours to a client and the agency uses a $55 loaded hourly cost for that role, the direct labor cost is $990. Repeat the calculation for each person and role, then total the account’s hours and labor cost.

Missing time is a major source of distortion. If staff regularly leave time unlogged, the calculation will make the clients with the weakest time tracking look cheaper than they are. Set a simple expectation for when time is entered and review missing entries before you publish the monthly result.

3. Non-labor delivery costs

Add costs tied directly to the work. These may include freelance invoices, production vendors, stock photography, specialist research, location fees, or account-specific tools.

Don’t count the same cost twice. If a freelancer’s invoice is already included in a project cost export, don’t add it again from accounts payable. And don’t allocate broad overhead in this first pass unless you have a clear, repeatable rule for doing so.

Work through an account example

Take a hypothetical monthly client account with $24,000 in recognized revenue. It includes a retainer and a completed campaign project.

The team logged 220 hours:

  • Strategy and media: 42 hours at a $75 loaded hourly cost, or $3,150
  • Account management: 38 hours at $60, or $2,280
  • Design and copy: 92 hours at $55, or $5,060
  • Production and coordination: 48 hours at $45, or $2,160

Labor cost totals $12,650. The account also used $2,100 in freelance and production services. Direct delivery cost is therefore $14,750.

Client contribution is $24,000 minus $14,750, or $9,250. The contribution margin is $9,250 divided by $24,000, which is about 38.5%.

That figure is only useful when you understand what sits behind it. Did the team exceed the planned hours? Was the freelance spend approved and billable? Did a one-off launch inflate production costs? Did the account manager spend time writing a lengthy monthly report that wasn’t included in the scope?

The result isn’t an automatic instruction to raise prices or drop the client. It’s a prompt to investigate. Check the work mix, scope, staffing, and period before making a decision.

Read the result in context

A single monthly margin can be noisy. Compare each account across several periods, and separate recurring work from one-time projects where you can. A campaign launch may pull margin down in one month and generate strong contribution across the full engagement.

Look for patterns that explain the number:

  • Hours above plan: The team may be doing work outside the agreed scope, or the original estimate may be too low.
  • Account-management time rising: More meetings, approvals, reporting, or Slack updates can quietly eat into delivery margin.
  • External costs not passed through: Production or specialist expenses may have been absorbed instead of billed.
  • Revenue concentrated in a short period: A large project invoice can make the client look more profitable than the relationship is over time.
  • Unclear ownership of work: Several teams may be handling the same request, causing duplicated effort.

For account managers, reporting can be a significant block of monthly work. Reporting, decks, and client updates can take time for account managers. Treat that as time spent serving the account, not invisible overhead. If it isn’t captured against the client, the margin calculation won’t show the cost.

If you want to compare software approaches for this work, this overview of client profitability software for agencies covers the kinds of reporting and account views to look for. The important part isn’t the dashboard. It’s whether revenue, time, and delivery costs can be reconciled without rebuilding the same spreadsheet every month.

Turn the monthly close into an agent workflow

An AI agent doing this work should fit into the process the team already follows. It doesn’t have to make the commercial decision. Its job is to gather the inputs, identify gaps, calculate consistently, and put useful questions in front of the right person.

A practical workflow looks like this:

  1. Collect the period’s data. The agent pulls billed revenue and project records, time entries, role cost rates, and direct vendor expenses from connected systems.
  2. Match records to client and project. It maps variations in names to the agency’s client list, then flags records it can’t confidently match.
  3. Check for gaps and duplicates. It identifies missing time, unassigned expenses, duplicate invoices, and revenue or cost entries that fall outside the reporting period.
  4. Calculate the client view. It totals revenue, hours by role, labor cost, outside delivery cost, contribution, and contribution margin.
  5. Compare with prior periods and plan. It highlights changes in hours, spend, or margin, with the underlying transactions available for review.
  6. Prepare the review. It drafts a short summary for finance or the account owner, with open questions rather than unsupported explanations.
  7. Wait for approval. A person checks exceptions and confirms the numbers before they are used in pricing or client conversations.

That last step matters. If the agent can’t match an invoice or sees incomplete timesheets, it should say so instead of quietly filling in the blanks. Good automation makes uncertainty visible.

This workflow also connects to work beyond finance. A reporting workflow can gather performance data and prepare a monthly report and account-manager email summary for review. That can cut the repeated effort of assembling the same information for each account. A content-production workflow can prepare a first draft from a brief for the team to review. An account-health workflow can help the team review account risks and opportunities and prepare a next-step message.

Those agents don’t replace account judgment. They reduce routine preparation, which gives the team more time to address the causes of low margin. See how agencies track profitability by client with AI for another view of turning account data into a repeatable operating practice.

Decide what to change

Once the numbers are trustworthy, classify each account by what the team can do next. A low-margin client might need a scope reset, a new approval process, fewer rounds of revision, a different staffing mix, or a price change. A strong account may still be fragile if it depends on one person or requires a high volume of unplanned work.

Start with the accounts where the data shows a repeatable problem. If three months show the same pattern of extra design revisions, identify what is driving them and agree on a change with the client. If reporting consumes more AM time than the retainer supports, simplify the reporting package or automate its preparation. If freelancer costs are consistently eating into contribution, review whether the work should be priced separately or delivered differently.

Don’t treat every low-margin result as a client problem. The issue might be the agency’s own estimating, handoffs, or review process. A useful account review asks what caused the cost, who can change it, and what evidence you’ll check next month.

For a related operating question, client churn cost for marketing agencies helps frame the cost of losing a relationship. Profitability and retention need to be considered together. A client with a narrow margin may still be strategically important, but that should be a conscious choice rather than a blind spot.

Where the dollars add up

For an agency, small recurring misses can become a material annual cost. A few hours of untracked AM work per account, repeated production revisions, or costs that never make it onto an invoice can add up across a portfolio.

Those recurring misses can add up across an agency’s delivery model. It isn’t a claim that every agency is losing the same amount. It’s a reason to find out where the margin is going in your own delivery model. Calculating profitability by client gives you a basis for deciding whether to change scope, pricing, staffing, or workflow.

If the data lives in several systems and the monthly account review is still a manual project, Book a 60-min Omni Audit. The audit can help map the workflow and identify the data and handoffs involved.

Your next step

Bring a recent month of client revenue, logged hours, role costs, and delivery expenses. You don’t need every system connected before the first conversation. The audit can help establish which records are available, where matching breaks down, and what a first useful account-profitability workflow should include.

You can see Omni for marketing and creative agencies and review the fit for your team. If you want to discuss your own data and workflow, Book your 60-min Omni Audit. The conversation can help identify next steps for building a client-profitability view your team can trust.