Blog

Live Call Analytics vs Post-Call Analytics on Amazon Connect: What Each One Actually Tells You

Article hero image
In brief. Live call analytics tells a supervisor what is happening on one call right now. Post-call analytics tells you what happened across all of them. Amazon Connect covers both reasonably well out of the box through Contact Lens. What it does not do is answer the question that matters once an AI agent is taking calls: what did the agent actually finish? This post covers what each kind of analytics is for, what you get without building anything, and the pipeline we built for a self-storage operator to count completed rentals, handoffs by reason, and after-hours volume.

Two different questions

Live call analytics answers one question: what is happening on this call, right now, and does someone need to step in? It is a supervisor tool. Sentiment turning negative on a call that has run past ten minutes. A caller who has said "cancel" twice. An agent who has gone quiet for forty seconds. It earns its cost when there is a person on the floor who will act inside the next thirty seconds.

Post-call analytics answers a different question: what happened across last week's calls, and what should we change? It runs on transcripts and contact records after the fact. It is where the intent distribution comes from. It is how you find out that a large share of new callers hang up inside the menu, or that the agent hands off every call that mentions a lien.

The mistake I see most often is buying the first and using it as the second. A team turns on real-time analytics because it sounds more advanced, nobody watches the alerts, and the transcripts get read once a quarter. If nobody is going to act during the call, live analytics is an expensive way to produce a dashboard.

What Amazon Connect gives you without building anything

Contact Lens is the analytics layer inside Amazon Connect. For most teams it is enough to start with, and it is worth knowing what is in it before paying for anything else.

Post-call, it transcribes voice and chat, labels speakers, redacts card numbers and other sensitive data, scores sentiment per turn and per contact, and lets you define categories, which are rules that tag a contact when certain phrases show up. You can build a category for "mentions a competitor" or "asks for a manager" in a few minutes. It also writes a generative summary of each contact, so a supervisor can read what happened without opening the transcript.

In real time, the same categories can fire alerts to a supervisor while the call is still going, and the supervisor can listen in or barge. That is the live call analytics piece. It is billed per analyzed minute, and the real-time option costs more than post-call, which is one more reason to be clear about which question you are asking.

Underneath both, every contact produces a contact record with the timestamps, queue, agent, disposition and attributes for that call. Those records can stream out to S3, where Amazon Athena queries them with plain SQL. That is the raw material for anything Contact Lens does not do for you.

If you have put an AI agent on the phones, Connect now reports a set of judgment metrics for it as well. I wrote about those in the eight metrics Amazon Connect gives you for AI agents. They are useful, and they score the conversation rather than the transaction, which brings us to the gap.

The question that changes once an AI agent answers the phone

With human agents, post-call analytics is mostly about quality and coaching. Who is following the script, who is getting the angry calls, which intents are eating handle time. Contact Lens was built for that and does it well.

With an AI agent the question gets narrower and harder. What did it complete? Where did it hand off, and why? Why did the caller leave? A transcript on its own does not answer any of those reliably.

Completion happens in another system. The rental exists when the payment link is paid and the reservation is written to the property management system, not when the agent says "you're all set." Contact Lens can tell you the caller sounded happy and the agent said the unit was reserved. It cannot tell you the link was paid.

Handoffs need a reason, and "transferred to service" is not one. "Transferred because the caller mentioned a past-due balance" is. The reason is what tells you whether next month's build item is a new tool, a change to the prompt, or nothing at all because that handoff is correct.

Abandonment needs to be split. A caller who hangs up in the menu, a caller who hangs up during a four-second tool call, and a caller who hangs up after being asked for an email address a third time are three different problems. One abandonment number hides all of them, and I have watched teams argue for a month about a figure that was three figures added together.

The pipeline we built for a multi-site self-storage operator

We run an AI voice agent on after-hours and overflow calls for a self-storage operator with sites in more than one state. It rents units end to end: availability, hold, payment link by text, confirmation, CRM update. The operator needed to know, every month, what the agent finished and where it fell over. Here is the pipeline that answers that, built from standard AWS parts.

Contact records and transcripts land in S3. Connect streams every contact record out as the call ends. The transcript for that contact lands alongside it, from Contact Lens or from Amazon Transcribe running on the recording. Either works. Nothing custom yet.

The agent logs its own work as it goes. Every tool the agent calls, unit search, hold, send payment link, confirm reservation, writes a line to a DynamoDB table keyed by the contact ID, with the result. Reservation confirmed is a real event with a real reference number, not a phrase in a transcript.

One Lambda joins the three and writes one row per call. After the call ends, a function pulls the contact record, the transcript and the tool log for that contact ID and produces a single row: the intent the caller was routed to (new rental, change to an existing rental, or account service, with a correction if the conversation changed course), the outcome (completed, handed off with a reason, or abandoned at a named stage), an after-hours flag, the site, the duration, and which tool calls succeeded or failed.

Rows go two places. DynamoDB holds the live view: today's calls, the last hour's tool failures, anything a person on call needs to see now. The same rows export to S3 in a columnar format, and Athena answers the monthly questions with a handful of saved queries.

A monthly review and a change log. We read the numbers with the operator once a month and change one thing at a time. Any change to the agent goes in the log with the date, so that when a number moves we know what moved it.

The whole thing is Connect, Transcribe, S3, Lambda, DynamoDB and Athena. There is no analytics product in it, and the monthly cost is small next to the Connect minutes themselves.

The five numbers we read every month

  1. Rentals completed outside office hours. The revenue line, and the one the operator's leadership actually asks about.
  2. New-rental conversion. Rentals completed divided by calls routed as a new rental. This is the honest version of containment. An agent can contain a call by talking a caller in circles; it cannot fake a paid reservation.
  3. Handoffs by reason, sorted by count. The top reason is usually the next thing we build or the next rule we write.
  4. Abandonment by stage. Menu, mid-conversation, during a tool call, or at a data-capture step. Each stage has a different fix.
  5. Tool failure rate, by tool. Every failed call to the property management system is a caller who waited for nothing, and it is the number that catches an integration problem before it becomes a bad week.

If you only build one of these, build the second. It is the number that ends the argument about whether the agent is worth it.

Where to start

If you have human agents and no analytics today, turn on post-call Contact Lens, build categories for your top five intents, and read every transcript over eight minutes for two weeks. That costs almost nothing and it will change what you think the top five intents are.

If you are about to put an AI agent on calls, build the outcome pipeline before go-live, not after. You cannot gate a go-live on numbers you are not collecting, and the AI agent metrics Connect reports are scored from the conversation, so they will not tell you whether the reservation was written.

Add live call analytics last, and only once there is someone whose job is to act on the alert. Until then it is spend without a decision attached to it.

Where ExecuteCX fits

Every engagement we run starts with conversation intelligence: we take thirty days of your existing calls, build the intent distribution, and rank which workflows an AI agent could complete rather than just answer. That is also how the free 30-day assessment works. You give us access to your call data, we come back with the ranked list and the numbers behind it, and you decide what to do with them.

Frequently asked questions

What is live call analytics?

Live call analytics, sometimes called real-time call analytics, analyzes a call while it is still in progress: transcribing it, scoring sentiment, spotting keywords, and alerting a supervisor who can listen in or take over. It is a tool for intervening on a call, not for understanding a month of them.

What is the difference between live and post-call analytics?

Live analytics answers "what is happening on this call right now." Post-call analytics runs on transcripts and contact records after the call and answers "what happened across all our calls, and what should we change." Most teams need post-call first; live analytics only pays off when someone is staffed to act on it during the call.

Does Amazon Connect include call analytics?

Yes. Contact Lens for Amazon Connect provides transcription, sentiment, categories, generative summaries and evaluations for voice and chat, with a real-time option for supervisor alerts. It is billed per analyzed minute. Contact records can also be streamed to S3 and queried with Amazon Athena for anything Contact Lens does not cover.

Can post-call analytics tell me whether an AI agent completed a transaction?

Not from the transcript alone. Completion is an event in your system of record, such as a paid reservation or a created ticket. To measure it, log the agent's tool calls with the contact ID and join them to the contact record after the call. That is the pipeline described above.

Find out if your contact center is ready for AI

Start with a free 30-minute call: an AI Readiness Check with a one-page summary. No pitch.

Book a Free 30-Minute Call →