Man-hour Analysis Dashboard with Python and Dash
An interactive dashboard that reads the monthly timesheet Excel files of an engineering company and shows the share of every month, department and project in linked charts.
Overview
This project is a web dashboard for man-hour analysis that I built in 2019. Its data comes from the monthly Excel timesheet files of an engineering company, and it shows how the hours of each month were spent across projects and organizational departments. These reports used to be pulled out of large Excel tables by hand; the dashboard puts the same data into a few interactive charts on one page.
The company data is confidential, so the images and the live demo on this page are built with made-up data and only show how the dashboard works.
Live demo
In the demo below, click a month, a department or a project and watch the other charts change together.
The charts
Overall project chart: a two-ring sunburst. The inner ring shows the contract type (such as EPC and EPS) and the outer ring shows the projects themselves.
Time types: the share of basic hours, overtime, mission time and homework in the total.
Monthly activity hours: a bar chart of the total man-hours of each month.
Department activity share: the share of each department in the total activity.
Project activity share: the share of each project, with a switch between all projects and only those above 1%.
Interaction
The charts are connected. Clicking a month makes the time-type chart and the department and project charts count only that month. Clicking a department or a project shows the monthly chart and the others for that selection only. Everything changes without reloading the page, and a button returns the charts to all data. In the live demo on this page, selections can also be combined.
Data processing
The program reads the Excel file of each month and merges them. A few important steps happen in it:
Hours are recorded in the files as "hours.minutes"; it converts them into correct decimal hours.
For every month, department and project it calculates the total hours and the percentage share.
It groups projects into contract groups by their cost-center code, to build the overall chart.
Look
The interface is dark, the titles are in Persian with the Vazir font, and each section has a fixed color. Every bar shows both the percentage and the number.
Specifications
Language: Python
Dashboard: Plotly Dash, with Plotly charts
Data: Pandas, input from monthly Excel files
Data of a 9-month period
Linked charts with instant updates
Result
An analysis tool that turns the hours recorded in an organization into an interactive picture of the share of every project, department and month.
Gallery
Questions about this project?
If you have questions about this project, or a similar one in mind, I would be glad to hear from you.