Understanding Amazon Connect Call Center Pricing!

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.

Pricing Examples

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 softphone. 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 no 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).
  • Voice Analytics 
    • AWS has a service LENS which provides transcriptions of voice recordings and applies sentiment analysis on that recording.  Usually a third party provider in other solutions but now included in Amazon Connect with an additional charge.
  • 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 softphone 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?

 

 

SUMMARY of COST CONSIDERATIONS

We see five areas for understanding Amazon Connect:

(1) Carrier cost = DNIS/800 as published generally .03 center per day for a DID number and .06 cents per day for a toll free number/

(2) usage cost for using the carrier per published price generally .0022 for DID and .012 for toll free

(NOTE – the above charges would be required of any solution you are considering, generally AWS will be less costly however)

(3) .018 connect minute service amazon connect  you are billed from the time call comes in to your call center until it terminates.  It does not matter how many agent you have as you do not pay for agent licenses as is the case with the usual cloud call center providers.

(4) other AWS services like chat (.004),  LEX (4000 speech requests estimate .004 per request or $16 ; lambda ( 1 Million request free per month then .00000002083 per request) /dynamoDB  (https://calculator.aws/#/)  and other service they may use like S3 for storage etc. (5) dextr (.003 per logged in minute)(edited)

We have an AWS Pricing Calculator that can help you with these more advanced calculations, just give us at call at 844-4-DrVoIP and we will make it available to you.   We can provide you with seats in our demo call center if you would like to try both Dextr and AWS or we can build you a proof of concept call center in your AWS account for a modest fee, or you can take up to five seats in our demo center, with your own dedicated greeting and phone number!

 

 

What makes up a basic Amazon Connect Call Center?

Simplicity!

Clearly the self service configuration of an AWS Connect instance is easy enough for a call center supervisor to setup! The drag and drop “contact flow” steps are easy to understand and simplify the configuration of a basic inbound call center.  There are however many other services in the AWS Cloud tool kit that even a basic call center will need to draw on. These basic services include Polly text to speech, S3 storage “buckets” for phone recordings and reports at a minimum. This image has an empty alt attribute; its file name is BasicConnectConfiguration.png

Service Options

Many applications will require some kind of database to hold custom routing data. This database would be accessed by Lambda functions that will require a competent software engineer to write, test, deploy and maintain. Recently we had a request to route calls in a “round robin” manner. Out of the box, AWS Connect wants to send the caller to the next available agent in the target CSQ.

DynamoDB and Lambda the power duet!

Using Dynamodb and Lambda functions we could maintain not only a list of agents in the “round robin” but note which agent received the last phone call and which agent should get the next phone call!

How about a Holiday Schedule of closings? Or better yet a facility that would enable a supervisor to close a queue for a team meeting and also create a custom prompt to be played to callers during the closed time period on an “ad hoc” basis? Again you will need some Lambda code and a dynamoDB database!

Did you want to setup TEXT notifications for emergency after hours notifications to “on call” personnel? That would also require some software engineering and the use of AWS Pinpoint and SNS to make that requirement happen.

Real Time metrics of Agent activity and status along with Queue activity, including longest waiting caller and maybe a list of callers in queue by caller ID are opportunities to test your front end GUI web development skill set.

Lose the IVR and use LEX!

LEX is a very popular speech recognition engine that understands natural language speech and get really help eliminate that so 80’s touch tone IVR call tree we have all come to loath! It is way more entertaining and useful to use LEX than push buttons on a phone set!

The good news is that as your requirements for more sophisticated applications continue to unfold across the operational time line of your call center, AWS has all the services you could possible require! From AI to Transcription services, translation service, comprehension and advanced CRM integrations like EPIC and Saleforce, AWS has it all.

You just need to tap the talents of folks that are not only call center savvy, but full stack web developers, with database expertise!

Give us a call, we would love to help you realize your call center dream!

Why would you text a picture to your Amazon Connect call center?

If you have ever worked in a help desk technical support role in a call center environment, you have always wished you could “see” what your caller was stressing about!  How many times, if you could have seen that device, you could tell them specifically which cable to move.    Insurance adjusters also have that same challenge.   It would really be helpful if you could text me a picture of that crumpled fender!

Being able to send a TEXT message to your call center could be a major time saver!   Yet how many call centers can route an incoming TEXT message like a voice call, sending it on to the next available Agent?  The Dextr Dashboard now enables incoming TEXT messages to be sent to the next available AWS Connect agent. Messages can be TEXT (SMS) or PICTURES (MMS)! Dextr also enables “sticky SMS” which assures that an “in progress” text message exchange stays with the agent that originally handled the text request. If a message is assigned to an agent who is not currently logged in to AWS Connect, the entire text conversation is moved to the next available agent!

“TEXT” becomes a “skill” or permission that is added to an Agent profile nominating them to participate on inbound text messages sent by callers.  Dextr has a variety of interfaces that support Voice, Text, Email, Chat and Social Media messaging and an inbound message will pop the correct TAB enabling an Agent to handle multiple channels if they have the correct skill or permissions.

If you are using an AWS Connect call center, head over to http://go.dextr.cloud and onboard you instance and give the Dextr dashboard a try!  If you are not using AWS Connect, but are thinking about it, we would build you a proof of concept and you can still try it!  No cost to you, so give us a call!

IT First Responder SMS Hotline!

If you work in an enterprise IT environment as a team member you know the drill for a system down emergency. Someone alerts someone that the users are unable to access the Corporate Intranet! Panic! A ticket is initiated at the corporate help desk, and a phone call is made to the IT Director who then needs to figure out if we are having a sever failure, network failure or application failure.

The CEO, now getting phone calls from the operating executives, has now called the CIO who in turn is beating up on the IT Director and stuff starts to roll downhill. Somebody sends out a group conference line, the email stream starts up and all hands on deck are scrambling to identify the root issue.

I find the email route is just to confusing and nobody knows what the current status is as people chime in on the email, adding input and more times than not, asking for updates to pass up the line. Trying to work an issue with an open conference bridge is not real helpful and some folks did not get the email that has the conference bridge line number so key content is missing anyway.

This scenario happens way to often and we determined to find a better solution!  The result is a SMS2SMS a kind of “group text” for first responders.   Basically, you publish a number and have your stakeholders text the word “JOIN” to that number.  This will subscribe that user to your list.   Future texts sent to that number will now be copied to all other list members.   Members can STOP if they no longer want to be part of the list, but generally this is an excellent solution for first responders in any emergency management situation.  

Hit us up and we will set you up with a demo!

 

 

 

 

 

Amazon Connect Configuration Best Practices – Part 3 After Hours Call Flow with SMS!

Providing options for callers to you contact center after normal business hours is always a good practice. Our standard “after hours call handler” makes use of several options:

  • Send Caller to Voice Mail or Message Center
  • Send a Text Alert to an on call team member
Download After Hours Call Handler with SMS notification Option
You must register on home page to download

The text notification step requires some additional AWS services including PinPoint, SNS and Lambda functions. For this option to work, you will need to setup an SNS topic and make use of PinPoint to get a phone number to associate with the call block.

In the above call flow block, we invoke the lambda function when the caller selects that they want a call back from the on call team member. Lambda then interacts with PinPoint and SNS to send a canned message “an after hours caller needs help” sending both the message and the contact phone number to the SNS subscribers. This is a very effective solution for integrating SMS into your contact flows and is ideally suited to “on call” notifications.

Amazon Connect Configuration Best Practices – Part 2 Customer Queue Flow

Making the caller “comfortable” while waiting in queue for the next available agent is the primary role of a “customer queue flow”. Our standard practice is to provide a range of options that can be turned on or off as desirable for a specific CSQ. The main greeting contact flow discussed in Part 1 will attempt to hand the caller off to an available agent, but if none are available, the caller is moved to the customer queue flow.

The “customer queue flow” we typically provide does some initial setup and status checking:

  • Set Loop Prompts (Music and messages and time)
  • Check Queue Status
  • Check Call Back hours of Operation
  • Play EWT prompt
  • The Offer the Caller options (Wait, Voice mail and Call Back)

In our standard queue hold we check the queue status for “time in queue” of 3 minutes. We use this “poor mans” estimated wait time to provide an option to the caller if they are in queue longer than 3 minutes. We offer three options; continue to wait for next available agent, transfer to voice mail (or operator) and “call back”.

We also create a schedule for offering the call back option. When your call center closes at 5PM you may not want to offer the call back option after 4PM, so we check the schedule and if the caller is after the specified time in the schedule, we do NOT offer the call back but move to a block that only offers wait or voice mail.

DemoCustomerQueueHoldwithCallBack call flow download link

You must register on the Home page to download script

This contact flow also has the ability to prompt the caller to leave a call back number. This step requires some SSML in the text to speech block as we want to confirm the number the caller entered and give them an opportunity to correct any errors. First we prompt the caller to enter the phone number we should call them back at.

The Set Contact Attribute block is used to assign the callers input to a variable we can call on later in the flow:

In this example we are setting a destination key of “numberinput” and stuffing that variable with the system provided attribute “stored customer input”. It is important to set the destination key as any further use of this block will over write the stored information which you will need to reference later during the playback verification step.

This block reads the callers phone number back to them as an SSML object as illustrated above. Note that we reference the numberinput from the set contact attribute block as $.Attributes.

Amazon Connect Configuration Best Practices – Part 1 Main Greeting options

Every Call Center is in fact unique, but the all share a common theme that can be encoded for recreating deployments quickly. Generally we divide Contact flows up into manageable contact flows that compartmentalize call handling. For example we generally create a MainGreeting, QueueHandling and After hours Call Handling call flow and these three basic contact flow blocks provide some very powerful options!

Generally, we attach the incoming phone number to the MainGreeting Contact flow. This flow is very important as we use it to setup all the required variables required for whatever CSQ this greeting will front end. This contact flow will usually perform the following:

  • Set the voice to use for Polly based prompts
  • Enable Logging behavior
  • Enable Call Recording behavior
  • Set Agent Hold Behavior
  • Set Customer Hold Behavior
  • Set the Queue Hold Behavior
  • Set the Customer Queue
  • Set the whisper behavior
  • Set the Working CSQ
  • Invoke Lambda function to check for special closing
  • Check Operating hours
  • Prompt and Collect Caller Input
  • Transfer to Flow or Queue as required

These are all critical parts of the overall call flow and set the stage for call handling throughout the rest of this callers experience. Not burdening the the contact flow with all the queue options while awaiting connection with an agent, makes the flow more manageable!

If the caller can not immediately be routed to the next available agent, they are passed into the contact flow that describes the experience the caller has while waiting including the presentation of any options the caller might elect to initiate while holding.

DemoMainGreeting Contact Flow down load link!
You must register on the Home page to download the script

We will cover the Queue Hold options in the next post!

Amazon Connect Forced Release Behavior Option

Sometimes it is better to give folks what they want, rather than what they need! Over the years of working with call centers you develop a sense of what is a best practice and what is something that will be nothing but a problem! You do your best to educate folks on the issues and make recommendations that you know are in their best interest. However, “if you have the peso, you have the say so” and ultimately we do what the client wants to do, right or wrong.

Such is the issue of the “forced release” status that results from an unanswered call presented to an “available” login agent. Most if not all call centers, will attempt to present a call to the next available agent based on the routing plan, generally “longest idle”, “round robin” or “top down”. The issue is what do you do if the agent does not answer the presented call?

Most all call centers will set the agent to “forced release” which does two things. First, it assures that we do not waste the callers time presenting another call to an agent that may not be present. Secondly, an agent in “forced release” alerts a supervisor to a potential staff management problem.

Recently we had a client who did not want agents put into “forced release”. Well if we do not put them in forced release what is the desired behavior? Take an CSQ with one agent for discussion purposes. If we present the call to that agent and the caller is not answered within the system Ring No Answer time, we would normally queue the caller for the next “available”agent and put this agent in “forced release”. if we do not put the agent into forced release, the call will be ping ponging back and forth between the queue and the same agent!

Ultimately it was decided that we would create a global option that would allow the administrator to set the default behavior for the call center. The default behavior is either “forced release” or, thanks to Dextr, “follow Wrap Time behavior”. In this way a call presented to an agent and not answered, would optionally be put in “wrap time” or “after work”.   The Dextr application also enables the global setting of a “name” for the wrap behavior to distinguish that mode from a normal wrap period.  This seemed like the best solution.  This would enable the agent to return to “available” status when the wrap time or after work time expires.

Comments are welcome!  DrVoIP@DrVoIP.com

Amazon Connect voice prompts with POLLY text to speech.

One of the most challenging implementation tasks for an implementation engineer or application developer is getting the client stake holders to agree on customer audio prompts! Having implemented hundreds of call center solutions, having to wait for the client to get their IVR scripts together is the “black hole” of project management. So many other parts of the enterprise have their finger prints on the content of a customer voice prompt. From the call center managers to the legal department, everyone wants to comment on this implementation detail.

Voice Prompts can be a “speed bump” in your deployment timeline!

For the implementation engineer, it is without doubt the speed bump that slows down project readiness! Often the prompt is a source of data collection for “self navigation” through the “call tree” or IVR front end. “Thanks for calling, Press 1 for this and 2 for that” has some hard coding detail that can be easily effected by a simple prompt change!

Thankfully AWS has an embedded service that provides text to speech functionality. This means an implementation engineer can move ahead by popping prompts with text that can easily be changed as the rest of the enterprise catches up on prompt content, format and voicing. This service named POLLY, is a more than useful service and has been a life saver in more than one “instance”, excuse the pun!

Polly Programmatically?

Polly is not only useful for creating test prompts until the content and format can be reduced to a script that a professional voice artist can record, it can be used “programmatically”. For example, Dextr has an embedded application for automating closings, regardless if they are scheduled holidays or “ad hoc” closings for a team meeting called by a CSQ supervisor. Dextr will allow you to not only setup the calendar and time of a closing, but will enable you to enter the text content of a prompt to be played to the caller during the closing.  This might be a custom greeting for a holiday (i.e. we are closed for Christmas, or Veterans Day) or an on the fly prompt for an ad hoc meeting.

Polly Prompts on demand!

Many times, it is necessary to create a prompt on the fly!  Maybe you want to personalize a prompt by adding the callers name, or some customer specific attribute like an appointment time, or order number.  Common applications like reading back a bank balance are also made more flexible by using Polly.  Not just speaking back account balances, but making the call flow and content in an AWS Connect instance programmatically customized on the fly, and unique for each caller.

This strategy is a win/win for all stakeholders!  It enables a more rapid deployment of a call center context while enabling greater flexibility in the design, deployment and management of prompts.   Enabling Polly as a service inside your AWS Connect call center instance is an essential part of your implementation tool box and a software application development engineers best friend!

Lex a conversational voice interface for Amazon Connect call trees.

Historically touch tone “call trees” have over populated the IVR landscape prompting callers to “Press 1 for this and Press 2 for that”. This has been the standard since the first half of the last century! You would think that in the 21st century we would have a solution that can eliminate this kind of button pressing, sequential logic, menu after menu of options and hope the caller gets where they wanted to be!

Which would you prefer?

Think about it. What would you prefer as a caller? “Thanks for calling BoringCompany greetings, if you know the extension of the party you want to talk with, enter it now. Press 1 for Customer service, Press 2 for Technical support, Press 3 for another menu with even more options for you to select from”! Or would you prefer “Thanks for Calling, how can I direct your call”?

To achieve that simple interface takes a lot of technology, but fortunately AWS Connect makes use of an AWS service named Lex. Lex is a combination solutions that include Speech Recognition, natural language processing and artificial intelligence. Lex can prompt a caller with a friendly voice “‘how can I direct your call” and then understand the callers spoken response. NO more pushing buttons, no endless menus.

For example, Lex could even figure out what language the caller is speaking and respond according, no more “to continue in english please press 1”, which in and of itself is worth the price of admission.

What is an Utterance?

Lex is built on the concept of “utterances” which is nothing more than a spoke phrase to which you can create additional responses. For example, the caller might say “I need to check the status of an order” and Lex might respond with “is this a recent order or do you need to speak to your sales rep”?

Keep in mind that Lex has captured the Caller ID of the caller and could actually look up either the order or the sales person that took the order. Lex might even be able to greet the caller by name. “Thanks for calling Peter, how can I help you”.

What can a “ChatBot” do in a call center?

As a “ChatBot” Lex can enable callers to self navigate through solution options without ever speaking to a call center agent. Lex can book an appointment, change schedules, update status information, change passwords, update calendars, summarize the new, weather and sports and greatly enhance the speed of answer and call resolution.

If Lex replaces three call center agents, is that an increase in productivity? We think not, if it only gets the same amount of work done as before Lex was introduced to the call center. We increase productivity when we can redeploy those three agents to do other work!

As always we are happy to setup a “proof of concept” that applies Lex natural language processing and automatic speech recognition to your specific environment. Just click or call and we would be happy to help you!