Skip to main content

Blogs

This space offers a variety of blogs, all written by Qlik employees. Product and non product related.

Announcements
July 15, NEW Customer Portal: Initial launch will improve how you submit Support Cases. IMPORTANT DETAILS
cancel
Showing results for 
Search instead for 
Did you mean: 

Design

The Design blog is all about product and Qlik solutions, such as scripting, data modeling, visual design, extensions, best practices, and more!

Product Innovation

By reading the Product Innovation blog, you will learn about what's new across all of the products in our growing Qlik product portfolio.

Support Updates

The Support Updates blog delivers important and useful Qlik Support information about end-of-product support, new service releases, and general support topics.

Qlik Academic Program

This blog was created for professors and students using Qlik within academia.

Community News

Hear it from your Community Managers! The Community News blog provides updates about the Qlik Community Platform and other news and important announcements.

Qlik Digest

The Qlik Digest is your essential monthly low-down of the need-to-know product updates, events, and resources from Qlik.

Qlik Education

The Qlik Education blog provides information about the latest updates of our courses and programs with the Qlik Education team.

Subprocessors List

Qlik Subprocessors General Data Protection Regulation (GDPR).

Japan

Qlik Community blogs for our customers and partners in Japan.

Recent Blog Posts

  • Image Not found

    Support Updates

    Find Support on Qlik's New Customer Portal!

    Reminder: Upcoming maintenance window for Qlik Support this weekend.
  • Image Not found

    Qlik Education

    Missed this amazing free webinar? We’ve got you covered!

    Recently, Senior Trainer, Piter Harb, delivered an incredible session on Transforming Your Insights with AI and Augmented Analytics Capabilities in Qlik Sense The feedback received on this delivery has been amazing! "Piter Harb just delivered the best Qlik presentation I've seen in 3 years - well done and keep it up! He's excellent." "Nice presentation. Clear speaking. Good pace." What You'll Learn in the Webinar:  Fundamentals of Artificial Int... Show More

    Recently, Senior Trainer, Piter Harb, delivered an incredible session on Transforming Your Insights with AI and Augmented Analytics Capabilities in Qlik Sense

    The feedback received on this delivery has been amazing!

    "Piter Harb just delivered the best Qlik presentation I've seen in 3 years - well done and keep it up! He's excellent."

    "Nice presentation. Clear speaking. Good pace."

    What You'll Learn in the Webinar: 

    • Fundamentals of Artificial Intelligence (AI): Understand the basics and different types of AI. 
    • Insight Advisor: Discover its conversational capabilities to enhance your application use. 
    • AutoML: Learn how it uses historical data to predict future outcomes through classification and regression algorithms. 
    • Qlik Cloud Analytics and Large Language Models (LLMs): See how Qlik can help you leverage their power.

    Click here to access the recording.

    Show Less
  • Image Not found

    Japan

    Qlik Cloud 6月の新機能

    2024年6月の Qlik Cloud の新機能をご紹介します。
  • Image Not found
  • Image Not found

    Product Innovation

    Navigating Qlik Cloud's newest user experience. Better findability, smoother nav...

    Everything you need to know about the new user experience across Qlik Cloud Analytics and Qlik Talend Cloud.  Welcome to a new world where you always know where to go.
  • Image Not found

    Support Updates

    Check Out Qlik Cloud's New Look!

    Today, Qlik Cloud is introducing its new navigation. Our platform now supports multiple user-centric experiences, including insights, analytics, data integration, and administration. 
  • Image Not found

    Design

    Data Load Editor Improvements

    There have been some data load editor improvements that I think are worth mentioning so in this blog post I will cover some of the new features in the data load editor that I have found useful. The first, and my favorite new feature, is the table preview. The second is the ability to do a limited load and load a specified number of rows in each table. The third feature I will cover is the ability to view the script history, as well as the option ... Show More

    There have been some data load editor improvements that I think are worth mentioning so in this blog post I will cover some of the new features in the data load editor that I have found useful. The first, and my favorite new feature, is the table preview. The second is the ability to do a limited load and load a specified number of rows in each table. The third feature I will cover is the ability to view the script history, as well as the option to save, download and restore previous versions. Let’s look at each of these in more detail.

    When building an app, my preference is to use the load data editor to load my data. With table preview, I can view loaded data tables at the bottom of the data load editor after data has been loaded or previewed in an app.

    preview table.png

     

    This is my favorite new feature because nine times out of ten, I want to view the data I loaded to ensure it loaded as expected and to check that my logic is correct. Having the preview table right there in the data load editor, saves me from having to go somewhere else, like the data model viewer or a sheet, to view the loaded data. I can use the preview table to check that they have the desired results. The ability to do this quick check saves me time.

    As a developer, I can select the table to preview, and the data can be viewed as a table, as seen above, or as a list or grid as seen in the images below. When previewing the data as a table, the preview table can be expanded to show more rows, columns in the table can be widened and there is pagination that allows me to move around in the table. There is also an option to view the output of the load. This will show the same info you see in the load data window when the app is reloading.

    List ViewList View

     Grid ViewGrid View

     

    The second feature in the data load editor I find useful is the preview data option. This provides an easy way for me to load some, but not all, of the data when reloading. In the screenshot below, the default of 100 rows is entered. This will load a max of 100 rows in each table. This value can be edited if desired. By default, the use store command is toggled off. When this is off, store commands in the script are ignored preventing potentially incomplete data from being exported. This feature is helpful when I want to just profile the data and see what the data looks like. It can also be helpful when there is a lot of data to be loaded and I do not need to load it all to check that the script is working as expected. Again, this is another time saver because I can limit the load thus the time it takes for the app to reload in a single step. I find this helpful when I want to quickly test a change in the script but do not want to wait for the entire app to reload.

    preview data.png

     

    The last data load feature I am going to cover is history for scripts. This new capability allows me to create versions of the script, name and rename scripts, restore the script from a previous version, download the load script or delete a version of the script.

    history.png

     

    I have not used the history feature much, but I can see it being helpful when I want to name various versions of the script. Every time the script is edited, it is saved to the current version. At any time, I can save that current version giving it a meaningful name. Maybe I want to make some changes to the script but want to have a backup in case it does not work. This can be done now right in the data load editor. I also have an easy way to restore a previous version, if necessary. Once a version is named, it can be renamed, restored, or deleted. All script versions can be downloaded as a QVS file. One thing to note is that the history only saves scripts created in the data loaded editor.

    Hopefully, you find these new data load editor features helpful. They are available now in your tenant. Just check out the data load editor in your app.

    Thanks,

    Jennell

    Show Less
  • Image Not found

    Design

    Bookmarks

    Bookmarks allow users or developers to save a selection state in an app. They are useful when a user would like to save their selections in an app to view later or to share with others. For developers, bookmarks are useful if you would like to redirect a user to a specific sheet, with selections, when they open an app. Let's begin by looking at how to create a bookmark. First, go to the sheet that you would like to bookmark and make sure your sel... Show More

    Bookmarks allow users or developers to save a selection state in an app. They are useful when a user would like to save their selections in an app to view later or to share with others. For developers, bookmarks are useful if you would like to redirect a user to a specific sheet, with selections, when they open an app.

    Let's begin by looking at how to create a bookmark. First, go to the sheet that you would like to bookmark and make sure your selections are already made. Then click on Bookmarks in the toolbar.

    toolbar.png

     

    The Bookmarks window will open showing any bookmarks that have already been created. There is also a Create new bookmark button that can be clicked to create a new bookmark. After clicking the Create new bookmark button, the Create bookmark dialog window opens.

    create.pngHere is where you can give the bookmark a name, add a description, and set some optional settings. By default, the Save sheet location is checked. This will save the sheet you are on when you created the bookmark and will navigate the user to this sheet when the bookmark is applied. The Save layout option will save the layout of the sheet and will apply that layout when the bookmark is applied. This is useful if you have made any layout changes on the sheet, such as expanding a pivot table or sorting a chart and want the bookmark to maintain the layout. The last option is to Save variable state in bookmarks. This option will save the current state of any variables when this bookmark is created. Once the bookmark is created, the user can use it at any time to return to the bookmarked state.

     

     

    Let’s look at some other options that are available when you right click on the name of a bookmark.

    options.png

    • Apply bookmark – will apply bookmark selections and layout and clear any previous selections.
    • Apply selections only - will just apply the selections of the bookmark to the app, clearing any previous selections. It will not apply any layout settings if they were saved with the bookmark.
    • View details – will show the details of the bookmark.
    • Copy link - will copy the URL for the bookmark so that it can be shared with others. Note, the bookmark will need to be made public before it can be shared. If you make a bookmark public, anyone can see and use it and you are no longer the owner, unless it is made private again.
    • Set as default bookmark - will redirect users to the sheet, layout and selections that are saved in the bookmark when the app is opened (instead of the app overview).
    • Delete – will delete the bookmark.

    There are also many ways to apply a bookmark. A bookmark can be applied from the app overview by clicking Bookmarks or the toolbar of a sheet. A bookmark can be indirectly applied by using a button, for instance, and setting the action to apply the bookmark.

    button.png

     

     

     

     

     

     

     

     

     

     

     

    Bookmarks can also be used in set analysis expressions and applied to a visualization. In the expression editor, the bookmark can be inserted as seen below or can be used by name.

    expression.png

    Example expressions using the bookmark name:

    expr1.png

     

    expr2.png

     

     

     

     

     

    These expressions will apply the bookmark to the chart, much like when you use set analysis.

    A bookmark can be edited if the name, description, or selections in the bookmark need to change. There is no longer the need to delete and create a bookmark if a change needs to be made to the selections. To edit a bookmark, click on the Bookmarks button in the toolbar and then click the Details icon next to the bookmark you would like to edit or right click on the bookmark and select View details.

    details.png

     

     

     

     

     

     

    From the details view, you can select the edit icon to make changes to the name or description of the bookmark. Once done, you can click the check mark to stop editing or the update icon to also update the bookmark with the current selections.

    editupdate.png

     

     

     

     

     

     

    Also note that possible alternate states are visible when editing a bookmark. If there were selections made in these states when the bookmark was created, they will be visible here as well. Users have the option to copy the set expression for the bookmark if they would like to use it elsewhere in the app.

    Bookmarks are a great tool for your own personal use but also for collaboration. They are easy to create and edit and take the legwork out of remembering what selections were applied when you want to return to a previous viewed state or share an insight with a colleague. Check out Qlik Help to learn more.

    Thanks,

    Jennell

    Show Less
  • Image Not found

    Support Updates

    Techspert Talks - Upgrading PostgreSQL Repository Troubleshooting

    Hi everyone, Want to stay a step ahead of important Qlik support issues? Then sign up for our monthly webinar series  where you can get first-hand insights from Qlik experts. The Techspert Talks session from July looked at Upgrading PostgreSQL Repository Troubleshooting. But wait, what is it exactly?Techspert Talks is a free webinar held on a monthly basis, where you can hear directly from Qlik Techsperts on topics that are relevant to Customers ... Show More

    Hi everyone,
    Want to stay a step ahead of important Qlik support issues? Then sign up for our monthly webinar series  where you can get first-hand insights from Qlik experts.

    The Techspert Talks session from July looked at Upgrading PostgreSQL Repository Troubleshooting.

    But wait, what is it exactly?
    Techspert Talks is a free webinar held on a monthly basis, where you can hear directly from Qlik Techsperts on topics that are relevant to Customers and Partners today.

    In this session we will cover:

    • Using the Qlik Sense QPI tool
    • Upgrading a Stand-Alone Database
    • How to resolve common issues

     

    Click on this link to see the presentation.

     

     

    Community400x200.png

    Show Less
  • Image Not found

    Support Updates

    Qlik Sense Enterprise for Windows - New Security Patches Available Now

    Edited 20th of May 2024: Added recently assigned CVE number.Edited 22nd of May 2024: Added to the Frequently Asked Questions.   Hello Qlik Users, A security issue in Qlik Sense Enterprise for Windows has been identified, and patches have been made available. Details can be found in Security Bulletin High Severity Security fixes for Qlik Sense Enterprise for Windows (CVE-2024-36077). Today, we have released eight service releases across the latest... Show More

    Edited 20th of May 2024: Added recently assigned CVE number.
    Edited 22nd of May 2024: Added to the Frequently Asked Questions.

     

    Hello Qlik Users,

    A security issue in Qlik Sense Enterprise for Windows has been identified, and patches have been made available. Details can be found in Security Bulletin High Severity Security fixes for Qlik Sense Enterprise for Windows (CVE-2024-36077).

    Today, we have released eight service releases across the latest versions of Qlik Sense to patch the reported issue. All versions of Qlik Sense Enterprise for Windows prior to and including these releases are impacted:

    • February 2024 Patch 3 
    • November 2023 Patch 8 
    • August 2023 Patch 13 
    • May 2023 Patch 15 
    • February 2023 Patch 13 
    • November 2022 Patch 13 
    • August 2022 Patch 16 
    • May 2022 Patch 17

     

    No workarounds can be provided. Customers should upgrade Qlik Sense Enterprise for Windows to a version containing fixes for these issues. May 2024 IR, released on the 14th of May, contains the fix as well

    • May 2024 Initial Release 
    • February 2024 Patch 4 
    • November 2023 Patch 9 
    • August 2023 Patch 14 
    • May 2023 Patch 16 
    • February 2023 Patch 14 
    • November 2022 Patch 14 
    • August 2022 Patch 17 
    • May 2022 Patch 18 
    This issue only impacts Qlik Sense Enterprise for Windows. Other Qlik products including Qlik Cloud and QlikView are NOT impacted.

    All Qlik software can be downloaded from our official Qlik Download page (customer login required). Follow best practices when upgrading Qlik Sense.

    The information in this post and Security Bulletin High Severity Security fixes for Qlik Sense Enterprise for Windows (CVE-2024-36077) are disclosed in accordance with our published Security and Vulnerability Policy.

     

    Frequently Asked Questions

    Q: What steps can be used to reproduce the vulnerability?
    A: Qlik will not be providing steps on how to reproduce this test case.

    Q: What authentication method is affected?
    A: Qlik strongly recommends moving to a patched version as per the bulletin, regardless of the authentication method used.

    Q: Will Qlik Sense February 2022 or earlier be patched?
    A: See the Qlik Sense Enterprise on Windows Product Lifecycle (link) for information on what versions of Qlik Sense have reached End of Service (EOS). Versions which have reached EOS will not receive patches and Qlik strongly recommends moving to an up to date release.

     

    The Security Notice label is used to notify customers about security patches and upgrades that require a customer’s action. Please subscribe to the ‘Security Notice’ label to be notified of future updates. 

     

    Thank you for choosing Qlik,

    Qlik Global Support

    Show Less
  • Image Not found

    Support Updates

    Entitlement Analyzer for Qlik Sense Enterprise SaaS (Cloud only)

    We are happy to share with you the new Entitlement Analyzer for Qlik Sense Enterprise SaaS! This application will enable you to answer questions like:  How can I track the usage of my Tenant over time? How are my entitled users using the Tenant?  How can I better understand the usage of Analyzer Capacity vs. Analyzer & Professional Entitlements?  The Entitlement Analyzer is only available for Qlik Cloud subscription types. Refer to the compati... Show More

    We are happy to share with you the new Entitlement Analyzer for Qlik Sense Enterprise SaaS! This application will enable you to answer questions like: 

    • How can I track the usage of my Tenant over time? How are my entitled users using the Tenant? 
    • How can I better understand the usage of Analyzer Capacity vs. Analyzer & Professional Entitlements? 

    Entitlement Analyzer.png

    The Entitlement Analyzer is only available for Qlik Cloud subscription types. Refer to the compatibility matrix within the Qlik Cloud Monitoring Apps repository for an overview of which monitoring app is compatible with which subscription type.

    The Entitlement Analyzer app provides insights on: 

    • Entitlement usage overview across the Tenant 
    • Analyzer Capacity – Detailed usage data and a predication if you have enough 
    • How users are using the system and if they have the right Entitlement assigned to them 
    • Which Apps are used the most by using the NEW "App consumption overview" sheet
    • And much more! 

     

    Analyzer.JPG

     

    The Entitlement Analyzer uses a new API Endpoint to fetch all the required data and will store the history in QVD files to enable even better Analytics over time. 

     A few things to note: 

    • This app is provided as-is and is not supported by Qlik Support. 
    • It is recommended to always use the latest app. 
    • Information is not collected by Qlik when using this app. 

     

    The app as well as the configuration guide are available via GitHub, linked below. 

     

    Any issues, questions, and enhancement requests should be opened on the Issues page within the app’s GitHub repository.

    Be sure to subscribe to the Qlik Support Updates Blog by clicking the green Subscribe button to stay up to date with the latest Qlik Support announcements. Please give this post a like if you found it helpful! 

    Kind regards, 

    Qlik Platform Architects

     

    Additional Resources:

    Our other monitoring apps for Qlik Cloud can be found below.

    Show Less
  • qlik-community-blogs.jpg

    Community News

    Summer fun means Qlik Community enhancements!

    Qlik Community enhancements for late June/early July
  • Image Not found

    Japan

    映えるダッシュボードを作っていますか?

    2024年7月1日に実施した無料Webセミナーの概略です。サンプル qvf をダウンロードしていただけます。
  • Image Not found

    Qlik Education

    Summer is the best time to... LEARN!

    Discount inside Catching up and learning what you need to improve your Qlik Sense skills is always easier in the summer. Our course catalog is evolving, and we will stop offering some of our courses that will only be available for private training. If you are interested in any of these courses, I recommend you book your spot today because you won’t see them again: QlikView Designer QlikView Developer Qlik Sense for QlikView Developers Big Data S... Show More

    Discount inside

    Catching up and learning what you need to improve your Qlik Sense skills is always easier in the summer.

    Our course catalog is evolving, and we will stop offering some of our courses that will only be available for private training. If you are interested in any of these courses, I recommend you book your spot today because you won’t see them again:

    • QlikView Designer
    • QlikView Developer
    • Qlik Sense for QlikView Developers
    • Big Data Solutions with Qlik Sense
    • Qlik Geoanalytics
    • Embed Analytics with Qlik Sense APIs
    • Foundations of Qlik Data Integration

    Plus, if you join any of our public courses during July and/or August, this year comes with a reward! You can enjoy a 30% discount by booking your spot on our website and using the code CLASSROOM30 at checkout.

    Don't miss this chance to learn and save!

    2.png

    Show Less
  • Image Not found

    Support Updates

    Release Cadence Update: Qlik Sense Enterprise Client-Managed

    Beginning with the May 2024 release, Qlik Sense Enterprise Client-Managed will release two major releases a year (May and November).  This adjustment aligns our release cycle with the preferred cadence of our customers, enhancing communication around our major releases. Qlik continues to add new functionality to Qlik Sense Client-Managed versions following their initial release to the cloud.  As always, we will continue to deliver patches as need... Show More

    Beginning with the May 2024 release, Qlik Sense Enterprise Client-Managed will release two major releases a year (May and November). 

    This adjustment aligns our release cycle with the preferred cadence of our customers, enhancing communication around our major releases. Qlik continues to add new functionality to Qlik Sense Client-Managed versions following their initial release to the cloud.  As always, we will continue to deliver patches as needed under our Release Management Policy.  

    We look forward to helping you optimize your release experience. Be sure to follow the release notes area in Qlik Community and review our updated policy.

    Show Less
  • Image Not found

    Qlik Education

    Goodbye Qlik Continuous Classroom, hello Qlik Learning!

    Discount inside Not everything good has to end—it can transform! We’re saying farewell to Qlik Continuous Classroom and welcoming Qlik Learning, the new self-paced learning platform from Qlik that combines content from Qlik and Talend to give you the best learning experience possible. But Qlik Continuous Classroom isn’t leaving without a special farewell offer: get a fabulous 20% discount on your subscription if you purchase it before August 30th... Show More

    Discount inside

    Not everything good has to end—it can transform! We’re saying farewell to Qlik Continuous Classroom and welcoming Qlik Learning, the new self-paced learning platform from Qlik that combines content from Qlik and Talend to give you the best learning experience possible.

    But Qlik Continuous Classroom isn’t leaving without a special farewell offer: get a fabulous 20% discount on your subscription if you purchase it before August 30th. Search your subscription and use the coupon discount code SELFPACED20 at checkout.

    The best part? When it’s time to say goodbye to Qlik Continuous Classroom, your subscription will automatically transfer to the new platform, letting you enjoy all its benefits without interruption.

    Decide now and save.

    1.png

    Don’t miss out on this opportunity!

     

    Show Less
  • Image Not found

    Qlik Digest

    June Qlik Digest

    Qlik Announces Qlik Talend Cloud and Qlik Answers!
  • Image Not found

    Support Updates

    Talend Data Fabric - Upgrade Notification, Java 17 compatibility for Talend 8 R2...

    To our Talend 8 Customers, To enhance both your security and Talend experience, Java 17 will be the only supported Java version for future updates to Talend Studio and the following supported applications. Talend Studio Talend Administration Center Talend Data Preparation - (client managed installation) Talend Data Stewardship - (client managed installation) Talend SAP RFC Server Talend Semantic Dictionary Talend Identity and Access Management ... Show More

    To our Talend 8 Customers,

    To enhance both your security and Talend experience, Java 17 will be the only supported Java version for future updates to Talend Studio and the following supported applications.

    • Talend Studio
    • Talend Administration Center
    • Talend Data Preparation - (client managed installation)
    • Talend Data Stewardship - (client managed installation)
    • Talend SAP RFC Server
    • Talend Semantic Dictionary
    • Talend Identity and Access Management

    Note: this upgrade does not impact execution of your artifacts that continue to support Java 8 or 11.

    Previous versions of Java will no longer be supported by the above application when electing to upgrade to R2024-05. We are giving you this advanced notice to ensure you can plan this upgrade and take time to review your current Java environment. Java 17 support was first introduced with the R2023-10 release.

    By giving this advanced notification, we are delighted to be able to reach a point of maturity where we can fully support best practices with dependencies and third-party libraries and be proactive in addressing CVEs to deliver constant improvement to the Talend Studio platform.

    Compatibility Documentation:

     

    For further questions please contact Qlik Talend Support and subscribe to the Support Blog for future updates.

     

    Thank you for choosing Qlik,

    Qlik Talend Customer Success

    Show Less
  • qlik-community-blogs.jpg

    Product Innovation

    Get ready for the Simplified Authoring Experience in Qlik Sense SaaS

    Get ready for the Simplified Authoring Experience in Qlik Sense SaaS
  • Image Not found

    Design

    Analyzing customer churn using Qlik Sense & Amazon SageMaker.

    In any subscription-based business model, one of the primary goals is to retain its customers. Also, with the increase in market competition, it is crucial to identify ‘unhappy’ customers at an early stage so as to provide additional benefits and retain them. Churn prediction refers to determining which consumers are most likely to abandon a service or terminate their membership. To be able to predict churn gives businesses the necessary edge sin... Show More

    In any subscription-based business model, one of the primary goals is to retain its customers. Also, with the increase in market competition, it is crucial to identify ‘unhappy’ customers at an early stage so as to provide additional benefits and retain them. Churn prediction refers to determining which consumers are most likely to abandon a service or terminate their membership. To be able to predict churn gives businesses the necessary edge since getting new customers is sometimes more expensive than keeping old ones.

    Dipankar_Mazumdar_0-1636052709728.png

    Ref: https://www.opexengine.com/keep-customer-churn-rate-under-control-or-labor-like-sisyphus/

    The application of Machine learning techniques to understand & predict customer churn isn’t something new. Several ML algorithms have been used in the field of telecom, banking, insurance, etc. to detect early churn signals. However, just relying on an ML algorithm’s output to understand whether a customer will churn or not isn’t really an optimal approach anymore. To have a thorough understanding of the churn analysis process, the need to amalgamate historical data(what happened in the past?) with the predicted outcome(what will happen in the future?) is paramount.

    This is where Qlik Sense’s visual analytics platform serves as an effective solution. Now, using advanced analytics connectors within Qlik Sense SaaS, users can build a Machine Learning model in an AutoML platform, consume the predictions in Qlik Sense and use them along with the Qlik’s data model to take advantage of things such as:

    • associative benefits
    • faster calculations
    • out-of-the-box visualizations
    • perform what-if analysis

    If you want to understand the entire workflow to integrate 3rd-party ML endpoints within Qlik Sense, I highly recommend going through this first part that I wrote a few days back. The generic workflow is depicted below.

    Dipankar_Mazumdar_1-1636052709520.png

    In this specific tutorial, we are going to analyze customer churn behavior for a telecom company by building an end-to-end Qlik Sense app and leveraging both historical as well as predicted data. For building the Machine Learning model and hosting the endpoint, we will use the Amazon SageMaker platform. We will keep our focus on building the Qlik Sense app and not on developing the ML model.

    Pre-requisite: To be able to use Analytics Endpoints the "Enable machine learning endpoints" parameter  should be enabled in the Management Console.

    Step 1: Load source data

    First, let us load the source data into Qlik Sense using the Data load editor.

    Dipankar_Mazumdar_2-1636052709739.png

     

    We will analyze our dataset in detail when we build our ‘descriptive’ dashboard but for now we know that we have 15 attributes and 3333 records that describe the profile of each customer of the telecom operator.

    Dipankar_Mazumdar_3-1636052709721.png

     

    The last attribute, Churn, is known as the target attribute–the attribute that we want our ML model to predict to know if a customer will churn or not.

    Step 2: Train a churn-prediction model & deploy the inference API

    Our next step is to build the churn prediction model. The target is to classify each customer into either of the two categories — churn or not churn. Therefore, this is a binary classification problem. We will be leveraging SageMaker Autopilot that allows us to automatically build, train, and tune the best machine learning model based on our data without having to write much code.

    Dipankar_Mazumdar_4-1636052709898.png

    Credit: Amazon Web Services YouTube

    If you are just getting started with SageMaker Autopilot, here is a great video from AWS to help you understand the basics. I use the describe_auto_ml_job API to look up the best algorithm selected by the SageMaker Autopilot job.

    Dipankar_Mazumdar_5-1636052709859.png

    Finally, we will create our model based on the best candidate (automl-churn-28–18–16–29r2UGiyXI-011–5e61e1c5) & deploy it to a hosted endpoint. When the endpoint is ready, the endpoint status will change to ‘InService’ like below.

    Dipankar_Mazumdar_6-1636052709709.png

    To make it easier for you to learn about how I trained & deployed my model in SageMaker, I will attach my Python notebook along with this blog.

    Step 3: Send data from QS to the ML endpoint for prediction

    Now that we have the model endpoint ready for inference, we will send all the fields required by the model from QS to predict if a customer would churn or not. Please note that we will only send 14 attributes and exclude the last one(churn) since we want that prediction to be made by the model.

    To do so, we go to the Data load editor and create a new SageMaker connection like below. You can read more about creating a new connection here.

    Dipankar_Mazumdar_7-1636052709857.png

     

    You should now see the SageMaker_Autopilot_churn name in your list of connections. Now, click on ‘select data’ to start sending your data from QS data model to SageMaker.

    Dipankar_Mazumdar_8-1636052709827.png

     

    Click on ‘Insert script’ to get the script in the editor. 

    Dipankar_Mazumdar_9-1636052709768.png

     

    Please note how I have changed the raw script that we got from our connection to include all the 14 fields to be sent to our endpoint. Like our previous use case, we use RowNo( ) here as a field to associate the source data & the returned prediction table. 

    Here’s a peek at our data model after the data is loaded.

    Dipankar_Mazumdar_10-1636052709740.png

     

    Let’s quickly check what is returned by the ML model based on the data we sent from Qlik Sense.

    Dipankar_Mazumdar_11-1636052709828.png

    So, for every customer row, we have a predicted_label field that shows whether the customer will stay or leave. We also have the individual class probabilities for deeper analysis. 

    Step 4: Building the QS analytics app

    Our final step is to build a Qlik Sense app so we can perform our analysis and present it to the stakeholders. 

    We will segregate the app into 3 sheets as shown below each serving its purpose:

    Dipankar_Mazumdar_12-1636052709828.png

     

    Descriptive Analysis sheet:

    Goal: This sheet will help us understand the historical source data & allow for detailed analysis.

    First, I want to understand the distribution of a couple of features and since we have 15 of them, I won’t visualize all of them but highlight the ones that my stakeholders are interested in. In terms of visualization, I will use a container object and add the distributions as histograms like below.

    Dipankar_Mazumdar_13-1636052709893.gif

     

    We can see that most of the fields (Day mins, Eve mins, etc.) have a normal distribution while Cust Serv Calls appear to be positively skewed. 

    I also wanted to highlight how the target attribute(Churn) was distributed since it is important to know the reality of how many customers can actually churn. Looks like 14.49 % of the customers did churn.

    Dipankar_Mazumdar_14-1636052709733.png

     

    Next, since our data is high-dimensional (10+ features) and I want to enable detailed analysis of individual customers, choosing a visualization that works well with multidimensional data was crucial. I decided to go with a Parallel coordinate plot extension that I built sometime back.

    Finally, putting everything together here’s our Descriptive dashboard.

    Dipankar_Mazumdar_15-1636052709901.png

     

    Let’s do a simple analysis. I want to compare a customer who wants to churn with one that does not. So, I randomly select two such rows.

    Dipankar_Mazumdar_16-1636052709873.png

     

    This view allows us to easily compare all the 11 numerical attributes. So, looks like both of these customers are new customers(observe acc_length=1). The orange line represents Churn=‘True’ and the cyan represents Churn=‘False’. For most of the features, we see the lines in a criss-cross form which helps us understand how these 2 customers differ. One thing that stands out is how the customer who churns makes 5 customer service calls in just a day and the other one makes 1. This gives us an indication that the orange customer might have faced some issues with the operator.

    Predictive Analysis sheet:

    Goal: This sheet will help us understand the churn predictions that we made using SageMaker & our model’s performance.

    Let’s see how our overall predictions looks like.

    Dipankar_Mazumdar_17-1636052709716.png

     

    The predictions are almost similar to the ground truth. 

    Next, I want to visualize the churn predictions by each state so the telecom operator can keep their focus on those risky states.

    Dipankar_Mazumdar_18-1636052709734.png

     

    This is a great example of how using Qlik’s associative property, we were able to integrate both historical and predicted data.

    It is also important to understand what mistakes the ML model makes. False negatives are the most problematic because the model incorrectly predicts that a churning customer will stay. The best way to evaluate our model would be to draw a confusion matrix like below.

    Dipankar_Mazumdar_19-1636052709760.png

    We have 17 such cases. We can select this ‘17 block’ from our matrix and perform detailed analysis of the special cases by analyzing both descriptive & predictive sheets.

     

    Predictive dashboard:

    Dipankar_Mazumdar_20-1636052709878.png

     

     

    What-If Analysis sheet:

    Our final piece is the ‘What-if’ scenario builder. Personally, I love this native capability of Qlik Sense as it allows us to look beyond traditional analysis. Also, note how easy & quick it is to build this. I have used a custom object called ‘variable input’ that allows me to include sliders, dropdown & text fields.

    Dipankar_Mazumdar_21-1636052709846.png

     

    The ‘Will the customer churn?’ is a KPI object and uses a Server side extension function ScriptAggrStr()as a chart expression which allows us to get predictions in real-time by passing the values dynamically from the input boxes. Here’s the expression -

    endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Amazon_SageMaker_Telco"}}',vState,vActLen,vIntPln,vVmailPln,vVmailMsg,vDayMins,vDayCalls,vEveMins,vEveCalls,vNightMins,vNightCalls,vIntMins,vIntCalls,vCustServCalls)

    Let us do quick & simple what-if analysis. From our Descriptive sheet, we noted that the field Cust Serv calls might be an important one. After all, a happy customer doesn’t need to call customer service. To really prove that correlation, let’s play around.

    Dipankar_Mazumdar_22-1636052709894.gif

     

    And looks like the hypothesis makes sense! However, please note that this is just one factor. I tried increasing the Int’l Mins to 15 instead of 12 and even though I had a lot of customer service calls, the prediction was False.

    Dipankar_Mazumdar_23-1636052709887.gif

     

    So, maybe providing more Int’l Mins to the customer would be a great idea to retain them. This kind of insight can help businesses dealing with churn to really understand the pitfalls and improvise on them even at a granular level. 

     

    That brings us to the end of this exciting blog. The tutorial is a detailed one as the whole idea was to allow Qlik users to quickly adapt to these capabilities and understand the process end-to-end. Let me know what you think!

    ~Dipankar, Qlik R&D

    Show Less