Find out how we’re using event-driven streaming systems, machine learning and a fantastic array of analytical tools to transform our call centre for the 21st Century.
Finding ways of optimising our customer call centre has been an exciting and technologically interesting challenge for us at Simply Business.
At the Intertech event hosted at our London offices in May 2019, we explored why we set out to rethink our call centre to bring about a better work-life balance for our consultants, improve our customers’ experience and make our business more agile to respond to change.
People and technology are integral to our culture and values at Simply Business. We cultivate a strong sense of community, and making everyone feel part of the Simply Business family is something that is close to our hearts. So sharing our experiences with the tech community at Intertech aligned perfectly with the culture we’re so proud of.
Here, we’ll look at some of the challenges we set out to overcome and how we’re solving them.
The call centre reimagined
So what do we consider to be a 21st Century call centre?
First, let’s look at the high level objectives we wanted to achieve. Our previous system had some limitations. In particular, we wanted to address the following concerns:
- How to quantify the performance of the call centre
- Ability to iterate more quickly; our architecture was too rigid
- Make it easier to try new ideas or approaches
- Ability to enrich data to make better decisions on priorities, schedules or anything else
- Greater transparency over the customer experience - when and why we contact them
- Flexibility to more easily change contact rules
- Increase our agility to react to customer interactions in real-time
To address these concerns, we built an event-driven solution that gives us a flexible way of adapting to new challenges as they appear; it’s a solution that overall, meets most of our objectives on flexibility, architecture and agility.
The contact management solution
When customers visit the Simply Business website to buy insurance, they fill in a form to get quotes. This is the start of what we call the customer journey. At each step in the journey, we generate domain events that contain information about what actions have taken place. We then use this information to make decisions on when to call customers, based on every step in the journey, in any combination.
Building in agility
Our solution uses a set of streaming microservices, driven mostly by Full Contact (our Contact Management System), that communicate asynchronously using meaningful domain events. Each workflow starts by reacting to a domain event, and each microservice is always connected to the stream of data that arrives.
This seemingly simple paradigm allows us to approach the challenges we set out to address in a totally different way. For a start, it enables us to:
- Plug-in to the company-wide event bus. We can react to every event that flows through our company in real-time
- Associate business processes and workflows as reactions to specific events
- Communicate asynchronously with other systems by consuming and producing events
- Associate significant steps in our customer journey with events that we can consume and react to
- Audit and reconstruct the step-by-step process that takes us from customer interactions to the decision to call them
- Enrich information by combining multiple events and entity data, with full access to all the company’s data
We get many advantages from being event-driven, and this is just the beginning. The flexibility of using domain events is significant as we can decide at any moment to react to new events as they become available, without the need for much synchronisation with other areas of the business.
Let’s look at an example. We currently listen to events that allow us to adjust the priority of a particular call over any others. The process that generates these events is based on machine learning algorithms that determine the probability of selling a policy. After we decide that we should contact a customer, we generate yet another domain event. This event gets picked up by our telephony system.
Event-driven telephony solution
When we started rethinking our call centre at Simply Business, the team realised there was no ready-built solution that would allow us to target our use cases. So we built a custom event-driven telephony system, using Twilio as its underlying infrastructure, that allows our consultants to call our customers.
By using a custom solution, data is accessible across the business; we can control task assignments to consultants as well as providing consultants with greater flexibility over how and where they work. Our telephony system works by listening to events provided by Full Contact, and sets up call tasks in multiple queues that are then answered by our consultants.
The call centre consultants at Simply Business get access to a web console that allows them to make and receive calls, and record outcomes. By providing a web console, requiring only an internet connection, there is no need for our consultants to be at an office desk connected to the phone.
Consultant can basically go anywhere in the world and work for the call centre. This degree of flexibility is one of the greatest successes our telephony model has introduced.
To achieve this flexibility, we leverage Twilio for under-the-hood telephony concerns. Twilio offers a super-rich API that allows us to send and receive call information, start conferences, record calls, determine queue priorities, and much more.
Being event-driven, our telephony system benefits from many of the advantages mentioned previously. In particular, we get:
- Great auditing capability. We can access event logs and understand every interaction for powerful debugging
- Asynchronous communication with other applications
Our telephony system generates large volumes of events to a central Simply Business event hub built in Kafka. This allows Simply Business to generate business insights and analysis based on these events, as we’ll explore next.
Using events for business insights
The phrase “garbage in, garbage out” is perhaps a familiar one to data analysts. We need good data to produce good analytics.
At Simply Business, we’re taking advantage of the rich and good-quality data we generate from our event-driven systems to gain insights into our call centre.
Preparing data for analysis requires modelling the data into a set of domain entities that are meaningful for the business. The steps involve:
- Stitching events together
- Creating new models that aggregate data
The process for modelling this data was achieved by using DBT (data build tool), which allows ETL processes to be structured in a very nice way, using SQL exclusively - the language of choice for many analysts.
Our modelling process is executed automatically every few minutes. The result is a set of information-rich views that are ready to be queried, analysed, and graphed. We can now create models for telephony, to more easily access call information, such as:
- Duration of our calls
- How many calls are successful, e.g. whether we sold a policy
- Access call recordings
- Linking calls to customer journeys
- Associating calls with consultant teams
- Checking how many calls are made and when calls have been retried
- Lots more!
Data visualisation for business insights
To visualise and refine this information, the latest tool in the arsenal is Looker - perhaps one of the more commonly used tools for data analytics.
Using Looker, combined with our data models, we can provide fully-fledged dashboards that allow our analysts and consultants to measure the performance of the call centre and provide insights into new ways of working that we could use to improve our business even more.
Ready to start your career at Simply Business?
Want to know more about what it’s like to work in tech at Simply Business? Read about our approach to tech, then check out our current vacancies.