Finance Report Analytics
Case study · Northstar Flow · Q2 2026

Q2 new ARR missed by $420k. Here is what the files could and could not prove.

Finance Report Analytics turned nine company files into a reconciled diagnosis, a ranked list of likely causes, an executive deck, an offline dashboard with a built-in chatbot, and a Q3 action plan. Every claim cites its source file.

9 input files4 gated agents0 invented numbers1 output folder
Gap to target
−$420k
$1,080k actual
$1,500k target · −28%
0200400600 −60 −140 −220 AprilMayJune
Target $kActual $kMonthly gap $k
sales_performance.xlsx › Monthly New ARR
$1.50M
Q2 target
$1.08M
Q2 actual (−10% vs Q1)
60 → 45
Won deals, Q1 → Q2
$20k → $24k
Average deal, Q1 → Q2
The challenge

Leadership needed two or three Q3 actions by July 10, and the evidence pointed in different directions.

Northstar Flow sells workflow software to mid-sized companies. Q1 landed exactly on its $1.20M target. Q2 came in at $1.08M against $1.50M.

The CRO blamed packaging and price. RevOps pointed to fewer demos. The VP of Product warned that the buyer feedback over-represented difficult deals. The CFO asked whether the target assumed capacity the team did not have.

The job was to weigh these views against the numbers without presenting any single one as proven.

The input packet
FileHoldsClass
sales_performance.xlsxTarget vs actual by month, product, region, teamMeasured
pipeline_conversion.xlsxFunnel, demo wait, SE capacity, lost reasonsMeasured
previous_quarter_review.pdfQ1 baseline, Q2 plan assumptions, flagged risksMeasured
executive_meeting_notes.docxLeadership views and disagreementsSignal
sales_team_call_notes.docxFive field observationsSignal
sales_team_emails.emlInternal thread on demos and packagingSignal
customer_lost_deal_feedback.pdfSix selected buyer commentsSignal
README.md · presentation_brief.txtDefinitions, cautions, deliverableRules
The method

Copy the files in, run four agents one at a time, deliver the results out.

Each agent reads only what it needs, writes to a fixed place, and stops for approval before the next one starts.

  1. Step 0

    Setup

    Copies every file from the input folder, checks each copy, extracts text, writes the rules.

    input/raw · input_manifest.json
  2. Step 1

    Numbers

    Reconciles totals and measures what changed. No causes allowed.

    numbers.json · numbers_summary.md
  3. Step 2

    Evidence

    Weighs each possible cause for and against, labelled and cited.

    evidence_summary.md
  4. Step 3

    Report

    Builds the deck, the dashboard and the Q3 action plan.

    deck.html · dashboard.html · q3_action_plan.md
  5. Step 4

    Chatbot

    Builds a knowledge base from the findings and embeds a tested chatbot.

    chatbot_kb.json · chatbot_tests.mdChatbot skill only
  6. Delivery

    Export

    Copies results to the output folder on your computer and checks every file.

    Output/<topic>-diagnosis/

You approve each step. After every agent the skill summarises what it found and asks, for example, “Do you want to activate Agent 02 now?”

What the input looks like

Ordinary company files. No special template required.

The skill reads the real sheet names and headers during setup. The minimum is one spreadsheet with target and actual; everything else strengthens the diagnosis.

sales_performance.xlsx › Monthly New ARR
PeriodTarget $kActual $kGap $kWonAvg $k
Q1 20261,2001,20006020.0
April 2026480420−601823.3
May 2026500360−1401524.0
June 2026520300−2201225.0
Q2 20261,5001,080−4204524.0
sales_performance.xlsx › Region
RegionQ1 actualQ2 targetQ2 actualQ2 gap
North America740900700−200
EMEA320400280−120
APAC140200100−100
Total1,2001,5001,080−420

Product and Team sheets follow the same layout. Each view must add up to the same total; the Numbers Agent checks this before using any figure.

What the analysis found

Fewer deals, not smaller ones. The drop starts at the demo stage.

About $375k of the $420k gap comes from winning 15 fewer deals than planned; the average deal actually grew 20% on Q1. This split is arithmetic, not a cause.

Measured

Product gap ($k)

Analytics−150
Automation−150
Core Workflow−120

Analytics −30% and Automation −50% vs Q1; together 71% of the gap. Core Workflow grew 8%.

sales_performance.xlsx › Product
Measured

Team gap ($k)

Midmarket−270
Enterprise−150

Midmarket is 64% of the gap. Its target was set 36% above its Q1 actual. Regions: North America −200, EMEA −120, APAC −100.

sales_performance.xlsx › Team; Region
Measured

Funnel, Q1 → Q2

Qualified−3%
Demos−17%
Proposals−25%
Won−25%

Demo wait rose from 5 to 12 business days while sales-engineer capacity was 2 of the 4 FTE the plan assumed.

pipeline_conversion.xlsx › Quarterly Funnel; Execution Signals
Likely causes, ranked
HypothesisStrengthEvidence forEvidence againstTest to confirm
H1 Sales-engineer capacity limited demosStrongDemo wait 5→12 days; demos −17% on flat qualified opps; risk flagged in Q1 reviewSampled median; no deal-level link yetMatch opportunity IDs: demo wait vs outcome
H2 Slow security review and start datesModerateSecurity 8→15 days; timing losses 2→7 in coded sampleSmall samples; may share H1’s rootPer-deal security turnaround vs outcome
H3 April package scope and priceModerate71% of gap in Analytics & Automation; buyer commentsWins per proposal flat; average deal up 20%Deals, deal size and objections by product
H4 Target set above capacityModeratePlan assumed 4 SE and ~60 winsExplains the gap to target, not the drop vs Q1Re-run capacity model at 2 SE
H5 Competition, budgetWeakSmall rises in coded countsCompetitors won on speed or scopeCode all 50 losses
H6 Weak demandNot supportedNoneLeads +4%; qualified −3%None needed

H1 and H3 overlap in time: the new packaging launched on April 1 while sales-engineer capacity was at half of plan. The input files cannot separate them, so both go forward as tests, not conclusions.

What it delivered

Six deliverables, all saved to the output folder on your computer.

Offline dashboard showing headline figures, monthly target vs actual and the Q1 vs Q2 funnel
output/dashboard/sales-diagnosis-dashboard.html
Deck slide ranking likely causes with evidence for, against and the test to confirm
output/dashboard/sales-diagnosis-deck.html · slide 5 of 6
Numbers summary
Reconciled headline, plan bridge, product, region, team, funnel and execution tables, each with its source. reports/numbers_summary.md + data/numbers.json
Evidence review
Every candidate cause with evidence for and against, strength and the confirming test. reports/evidence_summary.md
Executive deck
Six HTML slides: gap, concentration, funnel, signals, likely causes, actions. dashboard/…-deck.html
Dashboard
One offline page with every measured view; opens by double-click. dashboard/…-dashboard.html
Q3 action plan
Three actions with proposed owners, week 4 / 8 / end-of-quarter measures and a test-first step. reports/q3_action_plan.md
PowerPoint
A 14-slide editable deck with native charts, on request. presentation/…pptx
Proposed Q3 actions (for leadership decision)

Restore demo and security capacity

Owner: CRO with RevOps
Measure
Demo wait 12 → ≤5 days; SE 2 → 4 FTE; security response 15 → ≤8 days
Test first
Link demo wait to deal outcome by opportunity ID

Test packaging before touching price

Owner: VP Product with Product Marketing
Measure
Analytics and Automation back to Q1 levels; package-scope share of all coded losses
Test first
Account-level evidence on price vs scope vs timing

Re-base the plan and instrument the funnel

Owner: CFO with RevOps
Measure
Losses coded 60% → 100%; weekly wins vs a capacity-based plan
Test first
Track Q2 delayed deals through July
Try the Finance Chatbot

Ask the diagnosis a question. Every answer is tagged and sourced.

This demo runs the same offline answer engine the chatbot skill embeds in the dashboard, loaded with the Northstar Flow findings. It answers only from the diagnosis and says so when it cannot.

Company Finance Chatbotdemo · Northstar Flow

Answers come only from this diagnosis. Hypotheses are not proven.

How to use it

  1. Open the dashboard and click Ask the Finance Chatbot.
  2. Tap a suggested question or type your own and press Enter.
  3. Name a product, region, team or month to get its exact figures.
  4. Check the source line to find the original file and sheet.
MeasuredComputed from the spreadsheets
SignalWhat people said; suggests, never proves
HypothesisA candidate cause, not proven
ProposalA recommended action for leadership to decide
Not in inputsThe files cannot answer this; no guessing

Try: “Why is Q2 down?”, “What happened in June?”, “Automation”, “What will Q3 revenue be?”

Your files stay yours

Reads from your input folder. Delivers to your output folder. Overwrites nothing.

Input folder is read-onlyFiles are copied in and each copy is checked with a fingerprint. The originals are never changed.
Nothing is deletedBefore any overwrite, the previous results move to an archive or a _previous folder with a timestamp.
Every run is loggedA run log records which agent ran, what it read and wrote, and whether its checks passed.
Works offlineThe deck and dashboard open by double-click, with no internet and no install.
Output\sales-down-diagnosis\
├── dashboard\      deck.html, dashboard.html
├── reports\        numbers_summary.md
│                   evidence_summary.md
│                   q3_action_plan.md
│                   chatbot_tests.md
├── data\           numbers.json
│                   chatbot_kb.json
├── presentation\   diagnosis.pptx
├── assets\         screenshots
├── run_log.md
├── output_manifest.json
└── _previous\2026-09-29_1430\
Get started

Point it at two folders and ask your question.

Company Finance AnalyticsNumbers, evidence and report agents. Deck, dashboard, action plan and optional PowerPoint.
Company Finance ChatbotEverything in Analytics, plus a tested chatbot inside the dashboard.
Use Company Finance Chatbot. Why are our Q2 sales down? Input: C:\Finance\Input Output: C:\Finance\Output