Amazon Connect Basic Pricing Model
Even the most hostile competitor will grant that Amazon has changed the pricing game in call center technology. “No license fees” and “pay only for what you use” are compelling strategies that would stop a man on a galloping horse! Amazon typically summarizes the cost of its Connect call center as consisting of three components; the service usage charge, the cost of a ten digit voice number and the cost per minute of using that voice number.
An end-customer calls using an Amazon Connect US toll-free number in the US East (N. Virginia) region, answered by an agent on the Amazon Connect soft phone. The call lasts 7 minutes. There are 3 separate charges that apply for this call:
1. There is an Amazon Connect service usage charge, based on end-customer call duration. At $0.018 per minute * 7 minutes = $0.126
2. There is the day charge for use of the US toll-free number. At $0.06 per day * 1 day = $0.06
3. And there is an inbound call per minute charge for US toll-free numbers. At $0.012 per minute * 7 minutes = $0.084
So the total for this call is $0.27 (plus applicable taxes, fees, and surcharges).
This cost analysis is accurate but assumes that your call center is an isolated model with not integration with any other AWS Service. Optional services, used to enhance your Call Center functionality and improve the customers experience have additional charges that are not reflected in the basic price example above. To get a more accurate picture of the true cost of a call center we need to make some assumptions as to how an average call center is configured, noting the various service that may be required to implement the requirements of that call center. Then we can look at the additional service costs and improve our understanding of the true cost of an Amazon Connect Call Center.
Real World Call Center Requirements
Let’s take a look at several very basic, yet very real world call center requirements and then evaluate the cost of the additional services.
Custom Call Routing
- Most if not all call centers have some kind of call routing algorithm that usually require and external computational resource in the form of a database and the code or application that evaluates the database information. For example, assume that we want to route calls based on the callers possible location using the Area Code displayed in the incoming caller ID. Additionally, let’s assume that we want to evaluate the callers relationship with our company be determining if they are a new customer or an existing customer. In both cases we would be looking up the callers incoming phone number in an external database to resolve either or both of these questions. We would route the caller to the Agents that handle New York, or route the caller to Agents that handle new customer or existing customers. There would be any number of technical solutions for implementing this caller lookup, but for purposes of discussion, let’s just assume we will not spin up a Windows SQL Server in an EC2 instance, but use AWS Serverless solutions that include a DynamoDB table and some Lambda functions to operate on that data!
Holiday and “Ad Hoc” Closings
- Call Centers operate on dynamic schedules that very often impact the handling of inbound calls. Are we open or closed sounds like a simple decision, but it does require some additional “belts and suspenders” to get an answer to that question. If we close on Holidays, we will need to reference list of days we are closed (read: database). Some call centers enable supervisors to temporarily close a customer service queue for a team meeting. Depending on the sophistication of this feature the supervisor might also create a custom prompt to be played to the caller during the team meeting.
Real Time Queue Metric Displays
- Again, call centers typically display the status information of the various customer service queues that comprise the call center. We want to know how many folks are waiting in each queue, how long they have been waiting and highlight the caller that has been waiting the longest. When we answer a call we update that data set and when we terminate that call we update that dataset again. Agents often want to see the status of their supervisor and team mates. Are they “talking”, “idle” or in some “release” state? AWS Connect has a library of API’s to help with the analysis of this information but it will require additional services to make use of that information in a way that has a positive impact on the call center stake holders. (Read: Kinesis streams, DynamboDB and Lambda functions).
- Perhaps you will want to run these recordings through transcription and translation services. AWS has some exciting NLP and AI options that will impact that call center in astonishing ways. Imagine English Call Center Agents being able to interact with Spanish, French or Chinese speakers! Transcribing speech in realtime and popping agent prompts or recommended responses based on sentiment or key words used by the caller are all viable options within the AWS service stack available to an AWS Connect Call Center.
Logging & Recordings
- Call Centers typically record phone calls for a variety of compliance and service improvement. Those recordings need to be stored somewhere along with your real time contact record trace logs (Read: S3 bucket).
Single Sign-on Options for Agent Login/Out
- Cognito, SSO with SAML or other authorization options.
Custom Agent Dashboard and Real Time Display
- Most folks will find the CCP or soft phone that comes standard with your AWS Connect instance to be very useful for basic answer, transfer, hold and consult operations. Getting additional information displayed to the agents however may require additional desktop display options. For example, how do you retrieve and playback those phone call recordings? Do Agents need to add a “disposition code” at the end of a phone call? How is the queue and agent team status information displayed to the agents? Do Agents work with channels other than voice? Do they handle Text messages? Chat sessions? Social Media messaging? This options will require an Agent interface that can display this information and enable the agent to interact with these other channels.
Real World Call Center Example
Granted the above requirements are very basic, but they are representative of the type of services that a call center would expect to be available and they also have additional service charges not covered in the basic AWS Connect Pricing Example we listed above. Let’s take a real world call center example and then apply the additional charges that would be incurred if we were to implement the above requirements. In this example we are drawing from an actual day in the life of an actual call center that is considering migrating to AWS Connect.
Daily 70 Agent Call Center Utilization:
- Inbound Phone Calls for the day: 4959
- Average Call Handling Time: 7 minutes per call
- Total Minutes of use: 34714 minutes or 578.5 Hours
- Base AWS Cost $624 (assume telephone carrier costs the same across all competing options and are not included)
- Base Annualized assuming 261 working days = 9M Minutes or $163,086.00 per year in AWS Connect Usage Charges
Additional Service Costs
The most costly services in this very simple example would be DynamoDB and Lambda. DynamoDB pricing has several components; the size of the Table for data storage (.25GB), DynamoDB Streams, Read ($0.09 per RCU-month), Write Requests ($0.47 per WCU-month). The pricing for Lambda is far from simple: A free tier followed by $0.20 per million requests plus $0.00001667 per GB-second of ‘compute time’ used per month plus the cost of the API Gateway or streams.Each incoming phone call will result in:
- Lambda Call to DynamoDB Table for Routing Information
- Lambda Call to DynamoDB Table to determine Possible closing
- Lambda Call to DynamoDB Table to add caller to Queue count and update display
- Lambda Call to DynamoDB Table to remove Caller from Queue and display when call answered
- s3 Storage increase of 7 Minute recording Object (.023 per GB)
- s3 Storage increase for Logs and Contact Trace Records (.023 per GB)
- Agent Login/Out Call to Cognito or SSO SAML provider (.15 per 10000 sync operations)
- Summary –
- >19K Lambda Calls per day, 5M per year
- >19K DynamoDB Read Requests
- >19 DynamoDB Write Requests
Other important service considerations
Advanced functionality like Natural Language Processing, Speech Recognition, Transcription, Translation, Voice Analytics, Workforce management, Polly and LEX are some of the other services that you will undoubtedly make use of in your call center design. These will all be billed as AWS line items outside of the Connect usage charges. The above Basic functionality Example is probably adding an additional $25 a day or $6K a year to the cost of an Amazon Connect Call Center based on the above call center stats!
Clearly, unless you have a team of software engineers on your staff that understand these AWS service in addition to their coding skills, you are going to need design and implementation expertise.
Again, though pricing can get complex and often has many components that are not easy to identify like data transfer, encryption and acceleration it is all more than manageable and very cost effective. In fact all of the above functionality could be included in the use of a custom dashboard from Dextr.Cloud which would give the Agents and Supervisors all the real time status information they require, enable agent to agent chat, email, text, supervisor alerts, monitoring and coaching and a growing list of new features as the product development map unfolds! This functionality could be fixed for a modest charge of $69 a month per simultaneous agent access. Small price to pay for that list of feature, would you agree?