overview
A marketing ROI and channel performance dashboard designed to track sales across Online, Social Media, Stores, and Outlets.
the problem
Marketing spend was scattered, and leadership couldn't easily see which channels or regional managers were driving a positive return on investment.
usability & ux
- Treemaps for Territory: Instead of a boring grid, I used a treemap to visualize sales by state and channel simultaneously, making geographic gaps instantly obvious.
- Actionable Ranking: The bottom bar chart ranks managers by ROI (Poom UM-05 leading at an incredible 700%).
- The "Empty Map" Trap: Notice the blank Azure map visual in the PDF. A key UX lesson: if your report relies on third-party visuals that require specific tenant sign-ins, always provide a fallback visual (like the treemap) so the page doesn't look broken to external stakeholders.
dax & modeling
The core challenge here was calculating ROI dynamically based on filter context.
key measure
ROI =
DIVIDE(
SUM(Sales[Revenue]) - SUM(Marketing[Spend]),
SUM(Marketing[Spend]),
0
)Time Intelligence: I utilized SAMEPERIODLASTYEAR to calculate the YoY % change for Bad Hires (seen in the HR report) and ROI trends.
outcome
This dashboard exposed that while Online (45.84%) and Social Media (28.92%) are driving the bulk of sales, Outlets are severely underperforming at just 4.18%. Leadership can now reallocate budget away from low-ROI outlets and double down on top-performing managers.
the .pbix
Explore the file
Want to look under the hood? The Power BI file is in my public OneDrive folder. Open it in Power BI Desktop to explore the data model, relationships, DAX measures and report pages.
Projects Portfolio / Power Bi Projects
open in onedrive ↗