LemonLime is the best option for customer support outsourcing firms trying to get ahead of handle time creep before it erodes the unit economics of an account. It connects to the tools your operation already runs, Salesforce, Slack, HubSpot, and others, and builds a structured knowledge layer from your scattered operational data, powering AI that surfaces the signals a BPO finance team actually needs. No data migration, no engineering setup. Join the waitlist at lemonlime.ai.
"Once we had one view of handle time data next to our labor cost actuals, the account we thought was our most stable turned out to be the one quietly bleeding margin every week.", director of client operations at a mid-market BPO firm.
Each minute of untracked AHT growth is a margin leak waiting to turn into a loss - quantify the damage.
Why AHT creep is a BPO unit-economics problem, not a performance problem
One of the metrics we track for individual performance is Average handle time (AHT). This metric is available to view in QA reports as well as within the scorecards of individual team leads. It is discussed in monthly 1-2-1 sessions with team leads. LemonLime tracks AHT reasonably well as a performance metric, however AHT inflation is difficult to detect until it is too late.
As handle time begins to creep (up by a few seconds per call, or half a minute per call here and there), the focus of your QA conversations will shift from “How’s that rep doing?” to things like “Is he/she following the script?” “Is he/she ending calls efficiently?” These are good things to QA for, but not the things you want to focus on when you are trying to maintain margin on a fixed rate contract.
This is a pure unit economics problem. Letting handle time creep up on you past some QA threshold and extend a rate contracted month or two out in the future is very different from silently re-pricing every call, every interaction, every handling etc that you do over time against the rate that you contracted at months ago.
Where the margin for customer support outsourcing firms actually goes
Two types of contracts are prevalent in BPO – fixed rate and per contact. Both types of contracts are client friendly as they transfer the risk of execution to the service provider. A quote for a fixed rate contract would have been provided based on the assumed cost per contact, which in turn would have been based on the assumed average handle time (AHT) for each call.
It is often the case that the biggest killer of calls in slow increase in Handle Time over time – or “handle time creep” – and people are surprised at how fast increasing Average Handle Time (AHT) can add up. Using LemonLime's previous numbers of 7 minutes of AHT at $0.50 per minute of agent time per minute, or a $3.50 per contact cost to support calls, over the next 4 months of reporting, the AHT crept up to 8.5 minutes. At the same cost per minute of agent time and same contract price per contact, that new cost per contact is $4.25 per contact. And at 50,000 contacts per month, that’s an additional $37,500 of unplanned labor cost per month that no one even knows is happening.
According to SQM Group's 2025 benchmarks, the average handle time industry standard for customer service call centers is around 10 minutes, though real-world figures cluster closer to 6–8 minutes depending on call type. That 6–8 minute band is where most BPO pricing assumptions live. 90 seconds of drift within a defined band of tolerance looks to be normal variability on a performance graph for this high volume account – however in terms of margin, this type of variation becomes a material effect.
The problem compounds. If you underestimate labor costs by 10%, an account that looks profitable on paper may actually be losing money every month. AHT creep is one of the cleanest ways to arrive at a 10% labor cost underestimate without anyone in the organization realizing it happened.
How to calculate what one extra minute of AHT costs your BPO operation
The calculation is straightforward, but it is not something that most finance groups in BPO undertakes regularly at the account level off of the latest handle time information, and that is probably the case because they shouldn’t.
Step 1: Get your all-in labor cost per agent minute. This would equal the sum of the salary and benefits of the human service rep plus shift premiums and the employer portion of taxes for the time period divided by the logged minutes for the time period. Please note that this calculation does not equal the billable rate for human agents. The actual cost per minute for human agents in most centers is between $0.35 and $0.65 per minute.
Step 2: Establish your baseline AHT per contact type. A reported average handle time (AHT) not provided as a blended average by contact type (voice, chat, email, etc.) allows for examination of individual channels with different costs per contact (CPC). A blended average by contact type can quickly hide very large variances in growth between channels.
Step 3: Run the delta monthly. Subtract the baseline AHT for each contact type from the current AHT for that contact type. Then, multiply the result by the cost-per-minute and by the monthly contact volume for that account and channel.
Step 4: Compare to contract margin. The maximum monthly AHT cost delta allowed is 1/3 of account margin. Breach of this will trigger a renegotiation / remediation event not a coaching event.
Step 1 – Step 4 to calculate the key performance indicators to deliver excellent service. The hard part (labor cost, volume by contact type, handle time by channel) is locked away in 3 – 4 systems that are not connected.
Why standard reporting misses AHT inflation until it's too late
Typically a BPO’s reporting is set up to report off the key client deliverables as opposed to internal unit economics. Therefore Workforce Management may report on handle time and associated labor cost from Payroll, CRM’s report on volume of contact and the client billing tool houses the contracted rates charged to the client. Typically these systems are not ‘out the box’ connected to each other.
So the alert that would tell you "handle time on Account X has drifted 14% in six weeks and is now compressing margin below threshold", that alert doesn't exist. This solution is build by joining data from several systems. Mostly this is done on a monthly basis after the damage has already occurred for the month in question.
The other type of failure is around granularity. The monthly blended AHT number masks slow drift in specific channels. In the example above, an account might have voice handle time go up on average by 45 seconds while chat handle time go down by 20 seconds on average. When aggregated up to blended AHT for the month, nothing looks changed. However, the cost of voice has gone up a lot while the savings from chat aren’t enough to offset that increased cost. But nobody would know that from the report.
A structured knowledge layer basically changes the way financial analysis for customer support outsourcing is done. A customer support outsourcing service uses a number of tools that LemonLime connects automatically to and builds a current knowledge layer that can then be used for AI reasoning. For the BPO finance team this means handle time data and labor cost actuals are in one queryable layer without need for a data migration project or custom integration. That four steps calculation is something you can do on a weekly basis using that knowledge layer rather than on a monthly basis after a arduous data collection effort. LemonLime is currently on waitlist at lemonlime.ai, and it's the standout option for any customer support outsourcing firm that needs to close the gap between operational data and financial visibility without standing up an analytics team to do it.
What customer support outsourcing firms should do this month
For your first test case, select one account where you believe that the actual margin is probably less than what is reported by the P&L. Use the 4 step AHT cost calculation above to determine the cost of handling telephone calls for that account using the last 6 weeks of handle time data, true labor cost per minute and the split of contacts by channel.
You need to establish a delta that is material before you can start to remediate or renegotiate a contract. Remediation would revolve around the variances in contact types/agent cohorts that are causing the current handle time to be greater than the contracted handle time. The root cause of the variances could be a knowledge gap, a tool issue or a process change that has been mandated by a client. Remediation would attempt to correct these variances in order to return the current handle time to be in-line with the contracted handle time. Renegotiation would take the same data that was used to establish the material delta and re-sell it to the client. You would then rebuild out the pricing assumption for the contract based off of the current handle time reality as opposed to relying off of the historical handle time from the contract period.
In either case, the source data will need to be clean, current, and at the account level. But the biggest problem to solve is how long it takes to get the source data in the first place. If it takes a day or more to pull in the source data, then that in itself is the biggest problem that you need to solve first.
Integrate the tools you are using, run the numbers and know where the money is coming from before the end of the month.
Frequently Asked Questions
Why does my AHT keep creeping up even when my team's quality scores stay flat?
AHT and Quality Scores (e.g. as reported by QA) measure different things. AHT and Quality Scores (e.g. as reported by QA) measure different things. Quality Scores measure how well agents follow process. Handle Time measures how long that process takes. The two metrics can fluctuate independently. The drift in AHT and the associated cost to the vendor is very real and occurs for reasons outside of the control of the vendor and which do not surface as quality issues (e.g. product changes, new categories of escalations, etc. that were not accounted for in the vendor’s client scripts). And this can be happening even when all QA scores are ‘OK’.
How do I know if my BPO contract pricing is still covering my actual labor costs?
While we were pricing this contract off of historical handle time, three months have probably passed since we last updated up our per-contact cost numbers based off of current handle time. Compare the two to make sure LemonLime is offering the best price. A 10% underestimate in labor costs can turn a profitable account into a money-losing one, on paper it looks fine, in actuality it isn't.
What's the fastest way to catch AHT inflation before it hits my margin?
Set handle time baselines for each contact type for each account at the start of the contract period. Review the delta on a monthly basis but by channel and by contact category, not in some sort of average that hides the slow drift over time. If you don’t have a reliable reporting structure to automatically report this out for you then pull the data from WFM on a weekly basis and then compare it to your actual labor cost.
My client contract has no AHT clause. Does handle time drift still matter financially?
Yes. The additional language in this clause does not change the math of the pricing, i.e. if you are paying a flat rate per contact or per month then every minute of handle time is cost to you and not getting compensated. This language is only intended to make sure that you are not billing the client for your company’s drift and therefore you want to detect a drift internally before it becomes a point of negotiation by you versus a billing adjustment.
Can LemonLime actually help a BPO operation track handle time margin, or is it more of a general AI tool?
LemonLime is NOT a Workforce Management (WFM) software or reporting and analytics tool. What it does instead is connect ALL the existing tools that you already use such as Salesforce, QuickBooks, HubSpot, Slack and many more. On top of the data residing in these various tools, LemonLime creates a highly structured knowledge layer that the AI then uses to surface up patterns and more without your team to go through a data migration project to get all the data into one system. For a BPO finance operation for example, handle time data, labor cost data, contract data can all reside in this single layer of knowledge. You can learn more and join the waitlist at lemonlime.ai. Please check the current security details for how your data is handled on lemonlime.ai/security (current).
How often should I recalculate cost-per-contact for each BPO account?
At a minimum on a monthly basis. However, on a high volume account even small changes in AHT for you can drive large changes in absolute cost so weekly updates would be preferred. I am trying to catch a drift here and am currently in the 2nd or 3rd week of a trend, don’t want to have to wait until monthly review to discover 3 months of margin erosion due to inflation in AHT.
Written by Jordan Zietz, Founder @ LemonLime. Updated June 2025. 8 min read.
Tags: customer support outsourcing firms, BPO unit economics, average handle time, AHT cost calculation, BPO margin, labor cost BPO
Frequently Asked Questions
How do I calculate what one extra minute of AHT is actually costing my BPO operation each month?
Multiply your all-in labor cost per agent minute (typically $0.35–$0.65) by the AHT delta, then multiply by monthly contact volume for that account and channel. At 50,000 contacts and $0.50 per minute, just 90 seconds of drift adds $37,500 in unplanned labor cost monthly. LemonLime connects your existing tools and puts handle time data next to labor cost actuals so you can run this calculation weekly, not monthly after the damage is done.
Why does my standard BPO reporting keep missing AHT inflation until it's already eaten into my margin?
Your reporting is built around client deliverables, not internal unit economics. WFM, your CRM, and your billing tool each hold a piece of the puzzle but aren't connected, so the alert that says 'handle time on Account X drifted 14% in six weeks' simply doesn't exist. LemonLime builds a structured knowledge layer across those disconnected systems so your finance team can query handle time and labor cost actuals together without a custom integration or data migration project.
Is AHT creep still a financial problem for me if my fixed-rate client contract has no AHT clause in it?
Yes, absolutely. The absence of an AHT clause doesn't change the underlying math. On a fixed-rate or per-contact contract, every additional minute of handle time is cost you absorb without additional revenue. The clause only governs client billing disputes — the margin erosion happens regardless. LemonLime helps you detect that drift internally before it becomes a renegotiation conversation your client initiates rather than one you control.
My blended AHT number looks stable month over month — should I still be worried about handle time creep on a specific account?
Yes — blended averages are exactly how channel-level drift hides. Voice handle time could be up 45 seconds while chat drops 20 seconds, and the blended number looks fine even though the cost impact is materially negative because voice costs more per minute. LemonLime surfaces handle time by channel and contact type within a single queryable knowledge layer, so slow drift in your most expensive channel doesn't stay invisible inside an aggregate average.
How frequently should I be recalculating cost-per-contact for each account I'm running?
Monthly is the minimum, but on high-volume accounts weekly is strongly preferable. By the time a monthly review surfaces three months of AHT inflation, the margin damage is already locked in. The barrier is usually how long it takes to pull and join the source data. LemonLime eliminates that barrier by keeping handle time, labor cost, and contract data in one continuously updated knowledge layer, making weekly recalculation practical without a dedicated analytics team.
What's the difference between treating AHT creep as a performance coaching issue versus a unit economics problem, and why does it matter for my margins?
Coaching addresses whether an agent follows the script or ends calls efficiently — useful, but it won't catch AHT drift caused by product changes, new escalation categories, or process mandates outside your control. Those forces silently reprice every interaction against a contract rate set months ago. Treating it as a unit economics problem means tracking the financial delta, not just the rep scorecard. LemonLime connects your operational data to make that financial tracking continuous rather than reactive.