Home / Blog / Monthly Business Report
How-to · 2026

How to Write a Monthly Business Report

Most monthly report advice hands you a template of empty boxes. The empty boxes were never the problem — turning eight thousand rows into six sentences someone will act on is. Here is how to do that part.

By the Quiriz Team · Published August 5, 2026 · 8 min read

A monthly report has one job: make someone able to decide something. The formatting takes an hour and the analysis takes ten minutes, which is exactly backwards. Here is the version that goes the other way.

The four questions

Whatever the template says, a monthly report is answering four things:

  1. What happened? The headline numbers for the period.
  2. Compared to what? Last month, last year, or plan — stated explicitly.
  3. Why? The one or two causes behind the biggest moves.
  4. So what now? What changes as a result.

Anything that does not serve one of those is decoration. The twelve-chart deck is usually twelve answers to question 1 and none to question 3.

Build the numbers with a baseline attached

Start with a summary block where every figure sits next to its prior period. With a date column in A, category in B, and amount in D:

=SUMIFS($D:$D, $A:$A, ">="&$H$1, $A:$A, "<"&$H$2, $B:$B, $G3)

Put the period start in H1 and the next period start in H2, then copy the same formula into the next column pointing at the previous month's dates. A third column gives you the change:

=IFERROR((C3-D3)/D3, "")

Two things this buys you. Changing H1 and H2 rolls the whole report forward next month, and no number appears without a baseline — which is what stops a reader asking "is 42,000 good?"

A PivotTable gets you the same summary faster if the shape changes month to month; formulas win when the layout is fixed and you want it to roll forward untouched.

Sort by what moved, not by what is biggest

This is the step most reports skip. Sorting by revenue tells you what you already know — the big category is big. Sort by the absolute change instead and the report writes itself:

=ABS(C3-D3)

Sort descending on that column. The top three rows are your commentary. Often they are mid-sized categories that moved 30% while the headline stayed flat, which is precisely the thing a monthly total hides.

Two more passes worth making: mix shift (each category as a share of total, this period vs last — the share can move while the absolute number does not) and outliers (a single order or refund large enough to explain the whole delta by itself, which changes the story completely).

Write the commentary

Structure per mover: what changed, by how much, why, and what happens next. One line each.

Wholesale revenue fell 18% (£41,200 → £33,800), almost entirely from one customer moving their reorder into the following week. Underlying demand is unchanged; expect it back in the November figures.

Note what that does. It gives the number, the baseline, the cause, and the implication — and it pre-empts the question the reader was about to ask. A report that answers the follow-up in advance is the difference between a document and a meeting.

If you cannot explain a mover, write that you cannot. "Returns up 22%, cause not yet identified, checking against the supplier batch data" is more useful than an omission, and much more useful than a guess presented as a finding.

Keep the definitions fixed, or the trend is fiction

The comparison only works if "revenue" and "active customer" mean the same thing this month as last. That sounds obvious until two people build the same report and disagree, usually because one included refunds and the other did not. Write the definitions down once — the formula, the source, the filter — and keep them with the report. This is the cheapest thing on this page and the one most often skipped.

Where AI helps, and where it makes things up

Being specific about this matters more than the usual enthusiasm. Two different jobs are hiding under "AI writes my report":

So the rule is: compute against your actual rows, with your definitions written down, and let AI do the words. That is how Quiriz is built — a report is generated from your real data rather than an impression of it, metric definitions live in Company Context so the same question returns the same figure every month, and it says a value is not in your data rather than returning a tidy zero. We wrote up the underlying failure mode in why AI gives you a different number every time.

Once the report is written, the monthly rebuild is the remaining cost. Saving it and putting it on a schedule takes that to nothing — scheduling and emailing it covers the mechanics, in Quiriz or with a Power Automate flow. In Excel the summary line itself can be a formula: =QUIRIZ.ASK("revenue by category this month vs last month", "table").

A test for any monthly report: cover the charts and read only your commentary. If a reader could not tell what to do next from those sentences alone, the charts are not going to rescue it.

Write the report once, not every month

Generate a report from your actual spreadsheet data, with your own metric definitions, then schedule it so next month writes itself. Free to start.

Try Quiriz free →

Frequently asked questions

What should a monthly business report include?
Four things: the headline results for the period, a comparison against the prior period or plan, an explanation of the largest changes, and the actions being taken. A short report that answers those beats a long one that lists every metric you have.
How do I summarize a month of spreadsheet data?
Use SUMIFS with a date range for each metric, or build a PivotTable grouped by month. Put the previous period in the column beside it and add a percentage-change column, so the summary carries its own baseline instead of asking the reader to remember last month.
How do I find what actually changed?
Add a change column to your summary, then sort by the absolute value of that change rather than by revenue or volume. Your biggest line item is usually stable; the story is in whatever moved most, which is often not the largest category.
Can AI write my monthly report?
AI is good at drafting the narrative from numbers you have already computed and at spotting movers you did not notice. It is unreliable when it has to guess what your columns mean — that is where the same question can return different figures on different runs. Compute the numbers against your real rows, define your metrics explicitly, and let AI write the words.