Skip to content
srikanthIBM edited this page Oct 5, 2018 · 15 revisions

Welcome to the Real Time Prediction of Telco Customer Churn using Watson Machine Learning from Cognos Dashboard!

Short Name

Real Time Prediction of Telco Customer Churn using Watson Machine Learning from Cognos Dashboard

Short Desription

This code pattern demonstrates steps of invoking the machine learning models dynamically from Cognos dashboard and displays the output in the Cognos dashboard itself. Also, this pattern predicts whether the telecom customer will churn(move) or retain.

Offering Type

Analytics

Introduction

Cognos 11 is not only positioned towards the professional report author but specifically towards power users and data scientists by offering Watson-like features such as natural language search and automatic proposal of charts. Now with all these latest features in Cognos such as custom control, interacting or communicating with cloud hosted services is also possible from the Cognos application.

This pattern demonstrates to build custom control widget using javascript which internally invokes Watson Machine learning model API's, to integrate the custom control widget in Cognos dashboard and shows the Real-Time results. The dataset considered here is Telecom sample customer data, using this data we Predict behaviour to retain or churn the customers. You can analyse all relevant customer data and develop focused customer retention programs.

Author

By Srikanth Manne, Shikha Maheshwari and Jeremiah Joseph

Code

https://github.com/IBM/invoke-wml-using-cognos-custom-control/

Demo

N/A

Video

]

Overview

If there is a need to see a real time Machine Learning model output from Cognos Dashboard then we need to have an external mechanism to invoke the model & pass the parameters and finally the scores are written back to the database. Cognos reads the latest scores from the database and displays on the dashboard. This is a little tedious process of displaying the machine learning model outputs and is not Real Time.

This code pattern explains about invoking the watson machine learning model hosted on IBM cloud from IBM Cognos dashboard. Many of the cognos users get the requirements to dynamically get scores/prediction results of the ml models from within the cognos console. But, with older version versions of cognos application we do not have straight forward solution or option to invoke these models directly. Here is a good news for all those users. Now, with the latest versions of the release(for demo purpose used cognos 11.0.11), we could use custom widget built using Java scripts/D3 charts to invoke models hosted on cloud platform. While users get insights from the cognos dashboard, we can include another tab or a dashboard within the same application where once can input the model required parameters and get instant predicted outputs.

When the reader has completed this code pattern, one will be able to:

  • create a real time dashboard using Cognos custom control.
  • import the external JavaScript to Cognos reports.
  • invoke machine learning models hosted on cloud through REST API from Cognos.

Flow

WRML_Cognos

  1. Create the custom control widget using JavaScript and place it in Cognos webcontent folder.
  2. Create Watson Machine Learning Model and deploy as web service.
  3. Launch Cognos on web browser.
  4. Create the Cognos report using Custom Control and run the report.
  5. Report invokes WML model based on the input parameters.
  6. Gets output from the WML model and displays on the Cognos dashboard. Dashboard gets updated with real time WML model output.

Included Components

  • JavaScript - Develop forms to capture user inputs, later these forms can be imported to cognos dashboards.

  • d3js - Develop charts like pie, bar, or some fancy charts sunburst etc which can later be imported to cognos application.

  • Cognos (version 11.0.11) BI server - On Prim version of Cognos.

Featured technologies

  • Cognos Analytics - For the business user who needs to easily create compelling visualizations and dashboards. For the business leader who needs a proven, self-service analytics solution they can trust. For the enterprise that needs the scalability and analytics governance the business demands -- whether on-prem or on cloud -- only IBM Cognos Analytics delivers it all.

Blog

Cognos has been the leader in Business Intelligence & Analytics, with thousands of clients driving insights every day. Cognos Analytics builds on this legacy of success by adding self-service data preparation, visualization and dash boarding capabilities. Redesigned from the ground up with a modern, intuitive user interface and cognitive capabilities borrowed from the world-famous Watson supercomputer, IBM Cognos Analytics delivers a personal approach to analytics by empowering business users to solve individual or workgroup challenges on their own – while providing IT with a proven solution that can be easily scaled as business needs grow.

Cognos dashboard traditionally display’s content from descriptive Analytics. As adoption of predictive analytics in the surge it more makes sense to bring in the Descriptive as well as Predictive content to same plane. Things like invoking an ML model or scoring real-time. Through Watson Machine learning API, you will be able to access a model across a different platform be it Spark, R, Python or the IBM’s Proprietary Library SPSS.

The latest version (11.0.x) of Cognos comes with Custom control feature and by leveraging Cognos Analytics extensions we can extend the traditional capability of Cognos and extend it to predictive space using Watson ML API.

This code pattern demonstrates the capability to create a real-time dashboard where one can pass the inputs through a custom control built widget, which internally invokes the model through REST API, gets the output of the model and displays it on the Cognos dashboard.

When the reader has completed this code pattern, one will be able to:

  • create a real time dashboard using Cognos custom control.
  • import the external JavaScript to Cognos reports.
  • invoke machine learning models hosted on cloud through REST API from Cognos.

Links