Mehmet Emre Toktay
Resume & CV Pardus Blog
TR | EN

24/09/2023 • Mehmet Emre Toktay

Data Visualization and Dash

Data visualization has become a vital skill in today’s data-centric world. My first encounter with Dash carried the message "It combines the simplicity and versatility of Python with the flexibility and interactivity of modern web technologies like HTML, CSS, and JavaScript." which genuinely piqued my interest and I was eager to experience it firsthand. However, as I began working on the project, this enthusiasm dwindled a bit. This was because, beyond basic Python knowledge, additional knowledge about web development, user experience (UX), and CSS was required in every way.

Sample GIF

Dash

Dash is a framework that facilitates the creation of interactive, web-based applications for Python. Developed by Plotly, Dash allows users to prepare dynamic visualizations and analytical applications.

The idea of creating an interactive dashboard and being able to do it through Python was quite appealing in theory. However, in practice, this approach seems to lack the convenience and speed offered by click-based data visualization tools. Despite having a lot of information, I spent most of the time on the visualization process while creating a dashboard via Dash. Here are some comparisons of Dash vs. popular data visualization tools:

User-Friendly Interface

Data visualization tools: Click-based visualization tools (e.g., Tableau or Power BI) offer the opportunity for quick and easy visualization by dragging and dropping data, thanks to their user-friendly graphical interfaces.
Dash: When creating applications with Dash, everything needs to be written with Python code. This requires coding knowledge and is less intuitive compared to click-based tools.

Customizability

Data visualization tools: They are generally less customizable and offer predefined visualization types and templates.
Dash: Dash offers a wide range of customizability. The ability to create customized components and visualizations comes with Dash's integration with the Python programming language, giving you almost limitless customization options.

Data Security

Data visualization tools: Click-based visualization tools generally have strong data security protocols.
Dash: Data security varies depending on how you configure and host your Dash application. Additional work and configuration may be required to meet specific data security requirements.

Development Speed and Cost

Data visualization tools: They enable the creation of quick prototypes and visualizations, but there might be licensing costs.
Dash: Development time might be longer, however, Dash is open-source and therefore a cost-effective option.

Conclusion

In conclusion, if considering Dash for data visualization, click-based programs will be much more efficient for dashboards to be shared within a corporate environment or with a large audience. However, for senior executives or individuals who know specific control points, instead of spending weeks extracting data through filters, a solution can be offered through Dash. Creating a dashboard via Dash is definitely a more labor-intensive method, but can be much more useful and functional for special cases.

My personal opinion is that there are areas where Dash can be used much more efficiently beyond data visualization processes. Dash can be positioned as a transition tool before the data is sent to data visualization platforms, such as Power BI. In this context, Dash can statistically examine the data and make it exportable in the requested format. Dash will successfully perform critical data preparation tasks such as data filtering, cleaning, pre-processing, outlier detection, missing data imputation, and transformations. Additionally, all the statistical methods you want to see can also be applied through Python.

This approach, when applied systematically, has a really high probability of enabling companies to have a more organized and structured data structure; managing data analysis and visualization processes more efficiently. Also, by making data preparation stages automatic and reproducible, it will help prevent manual errors and time-consuming data preparation tasks.

You can decide by examining the dashboard I prepared for customer clustering analysis supporting this opinion. This Dash automatically performs customer clustering and progresses interactively, and it can add the clusters determined as a result of the analysis to the data set and export them.

Bank Customer Segmentation: Analysis with K-Means, DBscan, and OPTICS The dashboard was mainly prepared to automate this analysis.

Plotly & Dash Dashboard The machine learning part of the analysis is completed, interactive dash.

Mehmet Emre Toktay

  • emre.toktay@pardus.tech
  • EmreToktay
  • tnazburka
  • memretoktay

Mehmet Emre Toktay is an analyst with deep knowledge in customer relations. He has worked as a customer experience and business intelligence specialist and is now eager to transition into a data scientist role. Enthusiastic about data, statistics, and continuous improvement. He has a passion for uncovering insights and solving complex problems.