I got an update from Convergys on their real-time decisioning engine recently. Convergys is a services company with 75,000 customer management employees across 69 contact centers around the world. They provide contact center outsourcing, technologies for customer contact centers and customer experience analytics. Convergys’ technologies are designed to support contact centers, covering IVR, campaign management, self-service, proactive notifications, and a variety of other channel and lifecycle solutions. They also have specific technologies for Telcos, as well as analytics focused on customer satisfaction and experience.
Convergys invests in decisioning solutions to help reduce care costs and time to market while also increasing revenue and improving customer service – helping decide which customers get what level of service, how to handle customers based on their profitability, identifying and dealing with churn risk and more. Their view of the customer experience is pretty broad, covering everything from contact preferences and location to affiliations, products, lifetime value, status and history. At the heart of their various solutions is the Convergys decisioning engine which handles:
- Personalization through real-time policy, workflow and recommendation management
- Integration with back-end systems through a range of APIs
- Data from the typical variety of data warehouse and marts
- Driving recommendations into a wide range of channels in an integrated way
Like most decisioning engines in this kind of environment, the challenge is that policy and messaging is distributed across silos, product lines and channels. This creates inconsistency, slows time to market and results in a poor customer experience. A centralized decisioning engine and what they call enterprise policy management helps resolves these challenges.
The Convergys decisioning engine supports all the various channels, responding to the events fed in through those channels. The decisioning engine manages policies (defined by business users) and applies these to make recommendations and take actions. It also accumulates, in memory, information about what is happening and pulls historical data from a wide variety of data sources. The events could be anything from calls to customer service, use of a self service application, an error generated in an external system, an agent interaction, a batch feed, a kiosk/ATM and much more. Outbound actions range from email or SMS to IVR messages, screen pops for agents or system interactions.
The solution is 100% Java and consists of a studio, repository and decisioning engine. Deployment from the studio results in Java byte code to ensure the run time engine can scale to very large contact centers. The engine contains a number of real-time components:
- Sensors to pick up events from outside systems through web services or Java sockets.
Sensors are extensible so they can be integrated with external systems as necessary.
- A cache service that provides an in-memory database and stores information about customers and their recent activity across distributed servers.
- A directory service to handle the matching of transactions to customers partitioned across these multiple servers.
- A business insight container to pull data together and execute policies against the data.
- A recommendation engine using naïve Bayesian algorithms for machine learning that can be accessed from the business insight container.
Additional “near real-time” components include a task manager to audit what happened, an actuator to trigger custom actions outside the engine, and an update router to allow external systems to update the in-memory cache using pull or push approaches.
The studio has a role-based authorization approach. This allows Developers to define new objects, new events, actions and valid value lists while allowing Business Analysts to write business rules or policies against the objects and Deployers to update the production environment etc. Multiple layers of deployment (test, QA, production) are supported and the environment has a versioning/release management infrastructure that allows change notification, merging and promotion of releases across deployments.
Data integration is critical in decisioning systems of course and the Convergys solution uses a classic Business Object Modeling layer. This can be defined directly or generated from external Java objects or database schemas. Users can extend the attributes of existing objects to store derived data and add new methods to these objects to extend the rule language. When these extended objects are deployed the necessary code is generated for execution as well as for handling caching/fall back to the original data source in case the information is not in the cache.
The rule language supports the usual if then else rules as well as enumerations, set based rules, import of PMML models and call out to external methods. As noted the rule language can be extended through the business object model. The environment also supports decision tables. Policies can be managed using in a hierarchical model and can define re-usable “policy segments.” Updates to the policies can be deployed to a live system so that it can run 24×7.
The adaptive recommendation engine uses a Naïve Bayes probability model that allows the user to define which attributes to consider for products or offers and then automatically determines the appropriate weight for each element based on data collected. An initial training period or a block of historical data can be used to train the model before production deployment. Once deployed the model continues to learn based on what works. External PMML models can be imported also and these are executed in real-time. The engine supports some text analysis and tagging also for use with social and other written channels. Champion challenger is supported in the policy management environment which can execute models in the recommendation engine as part of defined policies, providing a decision management environment that combines business rules and analytics.
Convergys has built solutions for intelligent self-service (including integration with the IVR), campaign management (very large and highly scalable deployments of the engine to control multi-channel outbound marketing campaigns for instance in top-ups for mobile phones), personalized selling to drive recommendations for contact center agents, personalized care for service help desks, intelligent credits for problems in telco/cable environments, targeted collections to find appropriate treatment options and more. Convergys generally embeds their engine in their solutions and uses this engine to support their service offerings.
You can get more information on Convergys and their technology here.