Demonstration project
Month-End Management Pack
A five-page management pack for Ashcombe Partners, a fictional professional-services firm with four client-facing service lines. Budget to actual, the variance bridge, a drillable P&L and the client portfolio: a close that explains itself, without a finance analyst standing next to it.
The June 2026 close on one page: revenue 4,281 against a 4,500 budget, margin and utilisation against target, and one red card naming the driver to chase. Figures in GBP thousands.
Synthetic data · fictional client · the full model, DAX and data generator are on GitHub (available on request).
The problem
Every month, Ashcombe Partners closes its management accounts and the board asks the same four questions: did we hit the number, what drove the variance, what does the full P&L look like, and which clients is the revenue really coming from? A month-end pack has to answer all four without a finance analyst standing next to it, and it must never confuse a positive number with good news.
What the report does
Five pages, each answering one of the board's questions:
- Month-End Scorecard - the close on one page: revenue, margin, operating profit and utilisation against budget, the profit bridge in miniature, and the largest adverse variances. One red alarm card names the driver that needs attention.
- Profit Bridge - the "why" page: a waterfall from budgeted operating profit to actual, one step per driver. Favourable steps green, unfavourable red, anchors in brass.
- P&L Matrix - the full management P&L as a statement: subtotals in the right places, a this-month column group and a year-to-date group side by side, variance percentage as the only shaded column.
- Client Portfolio - where the revenue comes from and at what margin: top clients against budget, and a margin-versus-revenue scatter that makes the high-revenue low-margin account impossible to miss.
- Service Line Detail - one service line end to end, reached by right-click drillthrough: its own P&L and its clients, in the same colour language as the group pages.
The profit bridge from budgeted operating profit (720) to actual (612), one step per driver: the shape tells the story before any number is read.
The management P&L as a statement, not a pivot dump: green shading only for favourable variance, red only for unfavourable, and an unbudgeted line honestly showing no budget rather than a divide-by-zero.
Under the hood
Every amount in the model is stored as a signed profit contribution: revenue positive, costs negative. Two things follow for free. A plain SUM is the profit at any level of the P&L, and variance carries the favourable-or-unfavourable sign automatically for every line: a cost under budget is positive and green, a revenue miss is negative and red, with one formatting rule and no special cases. The statement layout itself is driven by a small disconnected "P&L Line" table and a single measure, the finance-grade way to put subtotals exactly where an accountant expects them.
The raw ledger carries six deliberate, documented defects the model handles in the open: an unbudgeted account, a duplicated late-journal batch, dirty client names, overhead rows with no client, one cost posted with the wrong sign, and sub-pound rounding rows that vanish honestly once figures are shown in thousands.
The source
The whole project is readable as text: the semantic model in TMDL, the report in PBIR, the DAX measure by measure, and the data generator that produced every figure on this page. The repository is private while the portfolio is finalised; the source is available on request.
All data in this case study is synthetic, generated by a committed, deterministic script; Ashcombe Partners is a fictional client created to demonstrate the work. No real client data appears anywhere in this project.