Automated Monthly Board Report
What Needed Solving
Monthly board reporting was a 5-7 working day manual exercise. By the time the report was ready, it was nearly two weeks into the following month. Business decisions were based on data that was already stale. Three different people pulled numbers from Salesforce, and each calculated metrics differently. The output was inconsistent because there was no single agreed methodology for metrics like approval rate, commission yield, or pipeline risk tiering.
Technical Decisions
I built a three-stage pipeline (Python analysis, Python chart generation, Node.js Word assembly) rather than a monolithic script. Each stage runs and tests independently. If chart styling changes, you don't re-run the analysis. Word document output because the board expects to annotate it. I chose the Node.js docx library over Python-docx because it handles embedded chart images with less compression artefacting.
The tool generates intelligent AI commentary using Claude, which analyses the data and writes contextual observations, trend identification, and risk flags for each section. The commentary is the differentiator: the report doesn't just present numbers, it explains what they mean. 25+ metrics with a documented methodology appendix make every calculation auditable.
How It Works
Stage 1 (Python) reads the monthly Salesforce export, cleans and validates the data, then calculates all 25+ metrics across lender, retailer, product type, and time period dimensions. Stage 2 (Python with matplotlib) generates 17 charts as high-resolution images. Stage 3 (Node.js) assembles the final Word document with embedded charts, formatted tables, executive summary, AI-generated commentary for each section, and methodology appendix.
The AI commentary references specific figures from the data, identifies month-on-month trends, flags underperformance, and contextualises results for a board audience. The config file controls date ranges, targets, and formatting without touching code, so the commercial team can regenerate reports with different parameters without developer involvement.
What It Changed
Report generation went from 5-7 working days to under an hour on the first working day of the month. The board now receives consistent, auditable data with intelligent written analysis on day one, not day ten. Three people who previously calculated metrics differently now reference the same documented methodology. The AI commentary means the report arrives pre-analysed, so the board meeting focuses on actions rather than interpretation.
Stack
Sample Report
This demo shows the report structure with fictional data and AI-generated commentary. The live version produces a 30+ page Word document with full methodology appendix.