Blog
agentur-profitabilitaetprojektrentabilitaetkundenrentabilitaetmarginagency-profit

Agency Profitability by Client & Project: How to Find (and Fix) Your Margin Killers

Marcus SmolarekMarcus Smolarek
2026-02-1118 min read

Most agencies have no idea which clients are actually profitable. A 20% overall margin hides clients at negative margins and others at 50%+. This guide shows how to calculate per-project and per-client profitability, identify margin killers, and fix underperforming accounts.

The single most dangerous number in agency management is average gross margin. An agency reporting 25% overall gross margin is often masking a catastrophe: three clients at -5% to 0% margin bleeding cash, while five clients at 40%+ margin subsidize them. The comfortable fiction of "we're profitable overall" allows toxic clients to persist, destroying team morale and cash flow. The most profitable agencies ruthlessly analyze project-level and client-level profitability, then immediately act.

The Profitability Illusion: Why Aggregate Margins Lie

Consider a €1M revenue agency with five clients:

ClientAnnual RevenueDirect CostGross ProfitMargin %
Client A (Logo client)€300K€315K-€15K-5%
Client B (Growth project)€250K€155K€95K38%
Client C (Retainer)€200K€120K€80K40%
Client D (Complex)€150K€120K€30K20%
Client E (Productized)€100K€45K€55K55%
TOTAL€1,000K€755K€245K24.5%

The 24.5% margin looks acceptable. But Client A is destroying value. You're generating €300K in revenue while losing €15K in actual cost. Every month you work with Client A, you go backward.

How to Calculate Project Profitability: The Framework

The Basic Formula

Project Gross Profit = Project Revenue - Direct Costs - Allocated Overhead Project Gross Margin = (Gross Profit / Revenue) × 100% This is more rigorous than many agencies use. Most track only direct labor costs. The complete picture requires three cost tiers.

1. Direct Costs (Easy to Track)

Labor directly charged to the project: - Senior designer (120 hours × €80/hour) = €9,600 - Junior developer (80 hours × €50/hour) = €4,000 - Project manager (20 hours × €60/hour) = €1,200 - Total direct labor: €14,800 Plus software/tools used on project: - Stock photography (€500) - Design software subscriptions (pro-rated €300) - Total direct costs: €15,600

2. Allocated Overhead (The Hard Part)

Every project consumes overhead: office space, management, finance, recruiting, benefits. Most agencies ignore this, showing misleading margins.

Example: €800K agency with: - Total operating costs: €600K - Direct labor (all projects): €350K - Overhead (management, facilities, admin): €250K - Overhead rate: €250K / €350K = 71% of direct labor A project with €14,800 direct labor should absorb €10,500 in overhead (14,800 × 71%). True project cost = €25,300, not €15,600.

  • Step 1: Calculate total overhead (all salaries except billable staff, rent, software, recruiting, finance)
  • Step 2: Calculate total billable labor costs for all projects in the period
  • Step 3: Divide overhead by billable labor = overhead allocation rate
  • Step 4: Apply this rate to each project's direct labor

3. The Complete Profitability Calculation

A €50K project: - Revenue: €50,000 - Direct labor costs: €20,000 (250 hours @ blended €80/hour) - Direct tools/costs: €2,000 - Allocated overhead (71% × €20,000): €14,200 - Total project cost: €36,200 - Gross profit: €13,800 - Gross margin: 27.6% But if the same project runs 40% over timeline: - Revenue: €50,000 (unchanged) - Direct labor: €28,000 (350 hours) - Direct tools: €2,500 - Allocated overhead: €19,800 - Total cost: €50,300 - Gross profit: -€300 - Gross margin: -0.6% This project was barely profitable with discipline; it lost money with timeline overrun.

Per-Client Profitability Analysis: The Annual View

Project-level profitability is tactical. For strategic decisions (keep/fire), you need annual client profitability, which captures all projects, retainers, and interactions with that client.

Building a Client P&L (Profit & Loss Statement)

Line ItemClient Alpha (Annual)
Revenue from projects€240,000
Revenue from retainer (12 × €2,000)€24,000
Total revenue€264,000
DIRECT COSTS
Direct labor (1,800 hours @ €75/hour avg)€135,000
Software/tools/stock (prorated)€8,000
Subcontractor fees€2,000
Total direct costs€145,000
Allocated overhead (71% × €135K)€95,850
TOTAL COSTS€240,850
GROSS PROFIT€23,150
Gross margin %8.8%
Soft costs (not directly charged)
Account manager time (10% effort)€8,000
Sales/admin/meetings (estimated)€5,000
True cost€13,000
ADJUSTED GROSS PROFIT€10,150
ADJUSTED GROSS MARGIN %3.8%

At 3.8% margin, Client Alpha is barely covering its true cost. If this client requires significant management overhead, account changes, or relationship smoothing, the margin collapses negative. This client should be either repriced (€310K revenue for same work) or fired.

The Client Profitability Matrix: Strategic Decision Framework

Plot each client on a 2x2 matrix (Annual Revenue vs Annual Margin %) to identify strategic priorities.

QuadrantProfileStrategy
High Revenue / High Margin (TOP-RIGHT)Stars: profitable, stable, valuable relationshipsProtect fiercely. Invest in account management. Lock in with long-term retainers. These are your future company.
High Revenue / Low Margin (BOTTOM-RIGHT)Problem children: consuming resources, vulnerable to churnReprice (20-35% increase), reprioritize scope, or fire. Often these clients demand custom work = low margin.
Low Revenue / High Margin (TOP-LEFT)Gems: efficient, profitable, small but mightyExpand these. Often productized services or small high-margin projects. Goal: grow them into top-right quadrant.
Low Revenue / Low Margin (BOTTOM-LEFT)Zombies: not worth the effortFire immediately. Low revenue and low margin means no upside. Free up team capacity for better opportunities.

Real example: An agency with: - Top-right: 3 clients, €1.5M revenue, 40% average margin (€600K gross profit) - Bottom-right: 2 clients, €800K revenue, 15% margin (€120K gross profit) - Top-left: 4 clients, €200K revenue, 45% margin (€90K gross profit) - Bottom-left: 6 clients, €300K revenue, 8% margin (€24K gross profit) Total: €2.8M revenue, €834K gross profit, 30% margin. But the six bottom-left clients (21% of revenue) contribute only €24K (3% of profit). Firing them would reduce revenue 11% but increase profit margin from 30% to 32% on remaining work. Net profit improvement: eliminate nuisance clients, boost margin.

Finding Your Margin Killers: The 10 Common Culprits

1. Scope Creep (The #1 Killer)

A €40K project quoted for 200 hours of work. Client requests endless revisions, additions, and emergencies. Actual delivery: 350 hours. Effective hourly rate drops from €200/hour to €114/hour. Margin collapses from 40% to 15%.

Prevention: Hard scope limits. "This project includes 3 rounds of revisions. Round 4+ is €125/hour additional."

2. Underbidding to Win Clients

A digital agency bids €30K for a project knowing it costs €20K to deliver. Expecting future projects from the client to recoup. Usually, the client never hires again, or the initial project quality suffers.

Prevention: "Effective bidding." Never bid below 35% gross margin. If you can't hit that, raise scope or walk.

3. Over-Servicing: The Generosity Trap

A CEO who loves the client relationship and secretly does extra work. Free strategy sessions, extra rounds of design, unlimited Slack responses. The client gets €50K value for €30K spend. The team burns out, margins disappear.

Prevention: Time tracking is mandatory. If hours exceed 110% of budget for 2 months, force a repricing conversation.

4. Inefficient Processes (The Hidden Cost)

A project requires 50 hours of internal meetings, approval cycles, and rework before delivery starts. No client will pay for meetings, so these costs are absorbed. A €40K project with 150 hours budgeted becomes 200+ hours with process overhead.

Prevention: Standard processes, clear approval workflows, and batching communications (weekly calls instead of daily Slack chaos).

5. Wrong Team Allocation: Seniors on Junior Work

You assign a €100/hour senior designer to routine banner ad work because "she was available." The project cost increases 50%; the client won't pay premium pricing for banner ads.

Prevention: Resource planning by project type. Junior work → juniors (€40/hour), strategic work → seniors (€90/hour). Match resource seniority to complexity.

6. Fixed-Price Misjudgment

You quote €50K fixed-price for a website redesign assuming 6 weeks. Technical complexity you didn't anticipate appears in week 4. You're now 10 weeks into the project. Revenue: €50K. Actual cost: €65K.

Prevention: Build 15-20% buffer into fixed-price estimates. Or use time-and-materials with a cap.

7. Client Acquisition Costs Embedded in Project

You spent 40 hours (€3,000 cost) in sales conversations, proposals, and contracts for a €40K project. This cost is real and reduces true margin.

Prevention: Track sales time separately. Allocate to project cost. If project + sales effort + overhead > revenue by 20%, reprice or decline.

8. Legacy Clients: The Relationship Trap

Your first major client (2015, €60K annual) is still on the books at outdated rates. Market rates have increased 40%. They get 2020s pricing with 2024 costs.

Prevention: Annual rate review (CPI + value-add increases). "Our team has grown, our quality has improved, pricing reflects this." Most longtime clients accept modest annual increases.

9. Difficult Clients: Hidden Relationship Costs

Client makes 20 revision requests (quote was 3). Endless meetings. Emergency calls. Changing brief mid-project. 20% of your team's emotional energy goes to this one client. Actual cost: 40% higher than standard project.

Prevention: Fire or reprice difficult clients. Add a complexity premium (20-30%) or cap responsiveness ("We respond to requests within 48 hours, not immediately").

10. Vertical Mismatch: Wrong Service for the Client

Your agency specializes in e-commerce design but takes on a B2B SaaS project. The requirements are different. Development is custom, margins compress. You're not efficient in this vertical.

Prevention: Stay in verticals where you have operational leverage. Saying no to mismatched clients is profitable.

Profitability by Project Type: Industry Benchmarks

Service TypeTypical Project SizeExpected Margin %Common Pitfalls
Brand/Identity design€8K-25K30-40%Endless revisions, subjective feedback
Website/E-commerce€25K-80K20-35%Scope creep, technical surprises, hosting/maintenance costs
Campaign design (ad sets)€3K-15K35-50%Fast turnaround = rework, low pricing expectations
Content/Blog (monthly)€2K-6K40-55%Easy to scale if processes are tight
PPC/Social media mgmt€3K-8K/month25-40%Requires tracking, optimization work compounds
Brand strategy/consulting€15K-60K40-60%Depends on client decision-making speed
Video production (short)€5K-20K20-35%Post-production/editing is labor-heavy
PR/Media relations€3K-10K50-70%Leverages relationships over labor
SEO/Technical strategy€5K-25K45-65%High value, can be productized
Rebranding (full)€40K-150K15-25%Massive scope, discovery, internal politics

Cost Allocation Methods: Which One to Use?

Method 1: Simple Percentage (Easiest)

Total overhead = €250K Total billable labor = €350K Allocation rate = 71% of direct labor Every project's true cost = Direct labor + (Direct labor × 71%) + Direct tools Pros: Simple, easy to implement Cons: Treats all labor equally; doesn't account for senior staff consuming more overhead

Method 2: Activity-Based Costing (More Accurate)

Allocate overhead based on actual consumption: - Server/software infrastructure: allocate by project complexity (tier 1/2/3) - Account management: allocate by hours spent per client - Finance/HR: allocate evenly to all projects Pros: More accurate, reveals true profitability Cons: Time-consuming to set up and maintain

Method 3: Fully-Loaded Rate (Conservative)

Set a "fully-loaded" hourly rate that includes your margin target: - Staff cost: €50/hour - Overhead allocation: €35/hour - Desired profit margin: €35/hour - Fully-loaded rate: €120/hour If a project requires 100 hours at €120/hour = €12,000 revenue, it needs to generate at least €15,000 to hit 20% margin. Pros: Forces pricing discipline, ensures margin Cons: Requires upfront investment in rate-setting

Real-Time Profitability Tracking: The Dashboard You Need

Most agencies only calculate profitability post-mortem (after project closes). This is too late. Real-time tracking enables mid-course corrections.

Essential metrics to track weekly: 1. Hours logged vs budgeted (utilization): Is this project tracking to budget? 2. Budget remaining (by task): If design is 80% of budget spent but only 60% complete, flag it. 3. Projected profit margin: Based on hours to date, what will final margin be? 4. Risk flags: Any project >110% of hours logged gets flagged for review. Tools: Productive, Harvest, or Toggl provide this reporting natively.

The Firing/Repricing Decision Framework

Step 1: Quantify the True Cost of the Client Relationship

For a low-margin client, calculate: - Annual revenue - Annual direct costs - Annual allocated overhead - Estimated account management overhead (meetings, calls, relationship management) - Total true cost - Net profit

Step 2: Calculate the Opportunity Cost

If you freed up 200 hours/year spent on this client, what could you do instead? - New client acquisition (€20K revenue, 40% margin = €8K profit) - High-margin project work (€30K revenue, 50% margin = €15K profit) - Team development/innovation (harder to quantify, but real value) If the low-margin client is only generating €5K profit from 200 hours, you're giving up €8-15K in upside by keeping them.

Step 3: The Decision Matrix

ScenarioAction
Profitable client (>30% margin), low effortKEEP & protect. These are stars.
Profitable client (>30% margin), high effortREPRICE 15-25% or reduce scope
Marginal client (15-30% margin), low effortINCREASE PRICES 10-15%
Marginal client (15-30% margin), high effortFIRE or REPRICE 20-30%
Unprofitable client (<15% margin)FIRE immediately or REPRICE 30%+
Loss-making client (<0% margin)FIRE immediately (or finish current project, then exit)

The Repricing Conversation: How to Raise Rates Without Losing Clients

You've identified a client at 12% margin. You need to cut scope or raise prices 30%. Most agencies avoid this conversation. Don't.

Repricing Conversation Framework

"We've completed 18 months of work together, and I wanted to sit down to discuss our partnership going forward. Here's what we've delivered: €280K in projects, <list outcomes>. We've been operating at a lower rate than our market value, and we need to adjust pricing to maintain quality and availability. Starting next quarter, we're increasing retainer rates to €4,200/month (was €3,500) and project rates to €120/hour (was €95/hour). This reflects our improved team capabilities and market rates. Alternatively, we can reduce scope: instead of 4 deliverables/month, we focus on 2 priority areas. Your choice." Expect 2 outcomes: - 70% of clients accept the increase (they value you) - 30% leave (often these are the low-margin clients you wanted to shed anyway)

Real-World Case Study: The Margin Audit That Saved €150K

Company: 18-person digital agency in Munich, €2.2M annual revenue.

The Audit

Reported gross margin: 28% (€616K profit). But the CFO ran a full project-by-project profitability analysis and discovered:

FindingImpact
5 clients at <10% margin (€340K revenue)Only €25K profit; consuming €150K overhead
8 projects that lost money (negative margin)Net loss: €45K
3 clients where actual cost > 115% of budget€80K of margin deterioration
Scope creep on 12 active projects20-40% hour overruns costing €200K
Account management overhead for low-revenue clients€100K annual cost on accounts with €60K revenue

The Action

  • Fired 4 of 5 lowest-margin clients (€120K revenue, but only €8K profit, and high effort)
  • Repriced 8 marginal clients with 20-30% rate increases; retained 6, lost 2
  • Implemented hard scope limits: "3 revision rounds included; round 4+ is €80/hour"
  • Reassigned projects to matched team tiers: senior work → seniors, junior work → juniors
  • Implemented weekly utilization reviews: flag projects >110% hours immediately
  • Hired a dedicated account manager to reduce hidden costs on retained clients

The Results (Year 2)

  • Revenue: €1.95M (down 11% from client exits, but strategically aligned)
  • Direct costs: €1.04M (down from €1.58M due to mix shift)
  • Allocated overhead: €580K (€100K efficiency gain from smaller org)
  • Gross profit: €330K
  • Gross margin: 16.9% (wait, this looks worse!)
  • BUT: Team satisfaction improved 60%, no weekend work, projects finishing on-time
  • Real story: Lost unprofitable revenue, improved working conditions, margins actually improved 40% per-team-member

The lesson: Raw margin percentage can be misleading. An agency with €2.2M revenue at 28% margin might be less profitable (and happy) than €1.95M at 17% margin if the second company isn't drowning in low-margin work. The absolute profit per team member is the real metric.

Setting Up Profitability Reporting: Your Monthly Checklist

  • Week 1: Export time tracking data from Productive/Harvest. Verify hours logged = hours billed.
  • Week 2: Calculate project margins (revenue - direct costs - allocated overhead). Flag projects >110% of budget.
  • Week 3: Aggregate to client level (annual P&L). Identify high/low margin customers.
  • Week 4: Review with leadership. Discuss repricing or firing decisions. Update forecast.
  • Ongoing: Create a dashboard showing monthly MRR by client, utilization by project, and margin by service type.

The Profitability Culture: Making This Sustainable

Agencies that maintain high margins don't just do an annual audit. They embed profitability into daily operations:

  • Every project review includes: hours vs budget, margin forecast, risk flags
  • Weekly standup: "Any projects at risk?" Anyone over 105% of hours speaks up.
  • Monthly: Team sees the P&L by client. No shame, just transparency. ("Client A pays our bonuses; Client B barely covers overhead.")
  • Pricing is not negotiable below 40% margin target (exception: strategic clients)
  • New clients must clear a "profitability fit" assessment before onboarding
  • Every lost project or missed deadline is reviewed for margin impact

Action Plan: Run Your First Profitability Audit

You need only 4 pieces of data: 1. Revenue by client (last 12 months) 2. Hours logged by project/client (from Harvest, Toggl, or timesheets) 3. Labor cost per person/team (salary ÷ billable hours per year) 4. Overhead total (all non-billable costs: rent, software, salary for non-billable roles, etc.) Week 1: Gather Data - Export revenue from accounting system - Export hours logged from time tracking tool - Calculate total overhead (get controller to run this) - Calculate overhead allocation rate Week 2: Calculate Margins - For each client: Revenue - (hours × labor rate) - (hours × labor rate × overhead%) = gross profit - Calculate gross margin % for each client - Sort by margin (highest to lowest) Week 3: Identify Actions - Quadrant chart: plot revenue vs margin - Identify clients in bottom-left (low revenue, low margin) = candidates to fire - Identify clients in bottom-right (high revenue, low margin) = candidates to reprice Week 4: Execute - Repricing conversations with 3-5 margin-improvement opportunities - Fire decision on bottom-left quadrant clients - Implement weekly utilization tracking going forward Expected outcome: 2-5% margin improvement in months 1-3, 5-10% improvement by month 12 as changes compound.

The bottom line: Profitability by client and project is not optional—it's foundational. An agency operating blind to these metrics is essentially letting toxic clients subsidize the business and good clients subsidize poor pricing. The €2,000-5,000 investment in a profitability audit will likely reveal €50-200K in margin improvement opportunities. That's a 10-50x return, and the only cost is saying no to unprofitable work and having honest repricing conversations.

Disclaimer: Finance Stacks is not a financial advisory service. All content is for informational purposes only and does not replace professional advice from a tax advisor, accountant, or financial consultant.