Introducing Vizro — a toolkit for creating modular data visualization applications

This article describes Vizro, a new Python package that helps users visualize data from their AI models.

QuantumBlack, AI by McKinsey
4 min readSep 26, 2023

Vizro was open-sourced earlier this week with the goal of enabling teams of data practitioners to communicate via visual analytics, without needing scarce, front-end engineering or design talent.

Data is core to decision making. However, interpreting it can be painful. Often the best way to explore, analyse and communicate data is with visualizations and dashboards. This has become easier with the recently growing number of high-quality Python visualization libraries, but a certain level of software engineering and visual design experience is needed to generate compelling dashboards in a reasonable timeframe.

As part of QuantumBlack, AI by McKinsey, we regularly experience how different data science teams tackle data communication. We spotted that data science teams were using varying combinations of different Python tools, with new team members often taking weeks to get up to speed. Even within one organization, teams would find different ways to solve the same problem, leading to varying degrees of functionality, visual design, and software engineering quality. The outcome: dashboards that weren’t standardized, and therefore were difficult to reuse, share and scale.

Visualizing data with Vizro

To fix the issue, we set out with the goal to provide a simple assembly system to build advanced, beautiful, reusable, and scalable dashboards in a matter of minutes rather than weeks. We considered some different approaches and created a standard which took the best practices from each. The result is Vizro.

The Vizro philosophy is a simple low-code configuration, based on a technology-agnostic ‘grammar of dashboards’. The goal is to allow users to leverage more complex dashboard functionality with ease. For example, teams wanted to be able to collaborate to define insights and present them as complex and beautiful dashboards in live workshops or demos, despite having no design or software development experience, whilst ensuring minimum quality visual design and code.

In addition, we wanted to offer more-technical users a way to customize and extend the functionality easily, without being limited by a low-code approach — creating custom functions, JavaScript components and visualizations in a standardized way, to enable more flexible and powerful dashboards ready for data science.

This enables scaling since developers can move between projects quickly and easily, re-using the same standardized toolkit and content between projects without having to upskill from scratch. It also reduces costs because fewer people are needed, and it speeds up delivery. As a result other teams are therefore able to inherit and maintain the standardized solution easily.

Vizro leverages the power of open-source tools such as Plotly and Dash since they already provide many excellent building blocks and can also be extended almost infinitely with React components where required.

Who benefits from Vizro?

Vizro is especially useful for data engineers and data scientists who primarily work in Python and benefit from tools which fit within that Python workflow. Allowing collaborative coding, working within common Python IDEs, and embedding within codebases to benefit from version control and automated testing, whilst accelerating existing team members to create and iterate dashboards and share with end users, without facing a license fee.

Users have reported it as being a game changer, helping them to bring their vision to life more easily, and accelerate their existing processes — such as being able to visualize and discover raw data quality issues ten times faster than before.

This enables users to create impactful visual analytics without draining time from their day job, avoids them being the bottleneck in the system for other non-technical users in the team, and helps them to prototype concepts very quickly to present to collaborators and unlock the next stages or insights that might otherwise have been missed.

The power of open-source

Open sourcing Vizro has the multiple benefits of enabling a wider range of users to use the engine to power their visual apps, whilst giving them better access to support and maintenance, and leveraging the power of its modularity to help create a broader ecosystem of components and content.

Since there are few open-source solutions which combine the benefits of low-code and high-code approaches, with the benefits of built in design and coding best practices, whilst being well tailored to the data science workspace, we hope that users choose to adopt it where it might accelerate them, even in the spaces beyond data science. We look forward to being challenged to improve, especially by users who will use it in ways we hadn’t even considered.

What’s next for Vizro?

Continued development is scheduled for providing increased flexibility, ease of use and more powerful features, tailored even more closely to the data science space — including embedding with recent advances in AI capabilities.

Summary

Vizro was designed to provide the best of the speed and ease of low-code visual analytics solutions with the flexibility and capability of high-code solutions, complimenting the varying skill levels of different users, whilst being tailored to the data science workspace.

The Vizro repository is part of the new McKinsey open-source ecosystem that hosts products from across the firm, including some of our leading-edge technologies and IP in artificial intelligence (AI), digital, analytics and cloud.

The GitHub repository for the new open-source collection can be found at https://github.com/mckinsey/ and Vizro can be found at https://github.com/mckinsey/vizro

Authors: Joseph Perkins, Jo Stichbury, Huong Li Nguyen, and Maximilian Schulz.

--

--

QuantumBlack, AI by McKinsey

An advanced analytics firm operating at the intersection of strategy, technology and design.