Skip to content

Start

Your first report

A walk through the coffee-roaster example — what the report found and how to check it.

examples/coffee-roaster is a specialty roaster’s first half of 2026: 6,260 order lines in a workbook (plus the owner’s monthly summary), a wholesale price list (PDF), an email from a hotel customer, and operations notes (DOCX). Its answer key says a correct report finds:

  • revenue −17.9% in April, driven by wholesale after a hotel group paused its standing order over the price rise;
  • the refund rate rising from 1.2% to 3.4% after a packaging supplier switch;
  • a ×1000 typo in the costs, and dd/mm dates that are ambiguous.

The numbers below are facts the engine computed on the example (with the scripted planner, no LLM, so the page is reproducible); click a citation to see what it points at.

Click a citation · Revenue fell after March, driven by wholesale

Revenue went from 44,100 in 2026-03 to 36,200 in 2026-04 (a change of −7,900, −17.9%). It stood at 37,000 in 2026-06.observed
By channel, “wholesale” fell 8,500, more than the whole drop; “retail” rose 600.observed
By product, the price effect was 1,181.91, the volume effect −1,911.07 and the mix effect −7,170.84.observed
The hotel customer paused its standing order because of the new price list.document_supported
The wholesale price increase took effect shortly before the drop.correlated

Every number above is a fact computed by SQL; every citation opens what it points at.

The change is split by customer with contribution.v1. One customer accounts for more than 100% of the drop because others grew:

Contribution by channel · Revenue fell after March, driven by wholesale

  1. Revenue 2026-03$44,100 N12
  2. wholesale−$8,500 N144108% of the change N147
  3. retail$600 N145−7.6% of the change N148
  4. Revenue 2026-04$36,200 N11

Both totals are drawn from a broken axis (≈), so the changes show at their own scale. Each change and its share are contribution.v1 facts recomputed by the verifier. The members drawn are all of them: their changes are the decomposition's total, −$7,900 N146.

Every number in the HTML report opens a panel with its SQL, parameters and input rows. From the terminal:

Terminal window
bun run aa explain <job-id> N12 # the SQL, the definition, the rows behind N12
bun run aa ask <job-id> "why did refunds rise?"

aa ask answers with claims that pass the same verifier as the report.