What you'll learn
- Pipe a daily CSV export into a clean dashboard Excel
- Add anomaly flags and a 30-day trend
- Make it run automatically and email the file
Project brief
Build daily_dashboard.py that runs every morning and produces a one-page Excel dashboard for your manager. Source data: a CSV dump from the data warehouse (or any large CSV you have access to).
Required content
- Big number tiles: yesterday's revenue, WoW change, MoM change, anomaly count.
- Top 5 products by revenue.
- Top 5 stores by revenue.
- 30-day revenue trend chart.
- Heatmap: hour × day-of-week.
- Anomalies tab: list of dates where the residual was > 2σ.
Acceptance criteria
- One command:
python daily_dashboard.py.
- Cover-page tiles auto-refresh against today's data.
- Charts saved as PNG and embedded into the workbook.
- Anomaly tab populated using
seasonal_decompose from Module 14 Lesson 5.
- Scheduled to run daily at 6 AM (Module 12 Lesson 6).
- Result emailed to your manager (Module 12 Lesson 5).
Stretch goals
- Render a second copy as a single PNG suitable for posting in Slack.
- Add segmentation: same dashboard but filtered to one region per tab.
- Replace the file-emailing with a Slack/Teams webhook post.
What to show off
The dashboard your manager now refreshes themselves just by opening yesterday's file. The fact that they stopped asking you for it.
📹 Video walkthrough
A video walkthrough of this lesson will be embedded here. Until then, the
written walkthrough above mirrors what the video will cover step-for-step.