Hi {{first_name | Reader}},

Trust issues

I've always had trust issues with revenue growth.

A number goes up and everyone celebrates. But the best CFOs I know don't celebrate. They decompose. What actually moved? Which products? Which regions? Which customers stopped buying and which ones bought more?

The real insights are always in the human stories sitting behind the data. "People are loving the new product, it's pushed volume across the entire category." Or "we're losing on shipments to Calgary." Those stories tell you whether growth is structural or accidental.

Problem is, that transactional layer is usually scattered. Invoices carry summarized figures. The commission sheet says one thing, the GL says another. The CRM has the customer story, but nobody cross-references it with the booking data.

So most CFOs end up presenting the headline number. Revenue up 5%. The board nods. Everyone moves on.

Last week, I didn't let that happen.

Key takeaway: Revenue growth driven entirely by price increases, with transaction volume declining, is fragile growth. CFOs should decompose every revenue change into volume and price effects before presenting to a board. One quarter of flat average order value reverses the entire headline.

15,000 rows

A client showed me January's numbers. Revenue up 5% versus December.

His first reaction: things are improving. Growth is back. Time to talk about hiring.

I pulled the commission sheet. 15,000 transactions. December versus January, side by side.

Volume was down 10.4%. Fewer bookings, fewer active locations producing revenue.

Average order value was up 16.9%. The remaining transactions were bigger.

Revenue was up. But the business was shrinking. The growth was entirely driven by price, with volume moving in the wrong direction. One quarter of flat AOV and the whole picture flips.

That's a fragility story dressed up in a good headline.

The system decomposed it in under a minute. Volume change, price change, which segments growing, which contracting. Lease locations up 11.4%. Commission locations down 12.3%. Cancellation rate creeping from 8.3% to 9.0%.

None of this was in the P&L. All of it was in the commission sheet that nobody reads until bonus time.

The CEO's reaction when I walked through the decomposition: "I would have gone into the board meeting saying revenue is up."

Yes. And the board would have asked one follow-up question and you'd have been caught flat-footed.

What else it caught

Last week I showed you the closed loop: how strategy signals from meetings tag directly to your chart of accounts. I promised to show what happens when that loop runs for three months on real data. Here's what it found.

The cash signal hiding in a meeting.

A cash position dropped 23% in 60 days. On its own, that's a line item I'd catch in next month's review. But the system had also ingested a meeting transcript from two weeks earlier where the client mentioned they were "tightening collections" because a major customer was slow-paying.

The system connected the GL movement to the meeting context and flagged it the same week. I would have caught the number eventually. I wouldn't have connected it to the conversation until it was too late to act.

The dead assumption nobody updated.

The CEO set a 60% annual growth target in January. Based on three new locations opening by Q3. By February, one was delayed 90 days. Nobody updated the budget.

The system pulled the original target from the January board transcript, compared it to the current run rate, and flagged the gap. Budget says 60% growth. Run rate implies 8%. Two of the three assumptions were already breaking. The board deck still showed the original target.

The pattern in my own behavior I couldn't see.

I ran a behavioral analysis across 15 meeting transcripts for a single client. My average airtime was 4.5%. I was hedging every recommendation. "I don't want to sound overly pessimistic, but..." before every hard finding. Asking "is that a good idea?" after my own suggestions.

For a different client, same month: 40% airtime. Driving the agenda. Assigning tasks. Leading with the verdict.

Same person. Same skill set. Different rooms. The system showed me the pattern before I could pretend it wasn't there.

None of these required a new tool. They required the layers to talk to each other. Numbers, context, transcripts, behavioral profiles, strategy signals. Each one is useful alone. Together, they see things you can't.

The CFO without borders

Here's what I've realized after nine weeks of building this in public.

The CFO used to own financial analytics. The P&L, the balance sheet, the cash flow statement. If it lived in the GL, it was yours. If it didn't, it was someone else's problem.

That line is gone.

Your system reads the commission sheet. Cross-references it with the GL. Pulls context from a meeting transcript where the CEO explained their growth assumptions three months ago. Suddenly the walls between financial data and operational data don't exist anymore.

The CFO is becoming the de facto ruler of all structured data in the company. Revenue, operations, pipeline, compensation, logistics. If it's in a spreadsheet, a database, or an API, it's in your domain now.

This is the age of data without borders. And the CFO is the person best trained to make sense of what's on the other side.

"Revenue up 5%" is what a spreadsheet shows you.

"Revenue up 5%, driven entirely by AOV, volume declining 10%, two of three growth assumptions flagged as at-risk, rebase the forecast to reflect two ramps instead of three, closing a $400K gap in the annual projection" is what the system shows you.

That's not financial analytics. That's data analytics with financial judgment. And it's the future of the role.

Try this yourself (15 minutes)

You can set up the foundation of this system today. Not the full thing. The starting point. Enough to run your first real analysis on your own data.

Step 1: Open VS Code and install Claude Code.

If you don't have VS Code, download it from code.visualstudio.com. It's free. This is your workspace, the place where your AI system lives.

Once it's open, open the terminal inside VS Code (View > Terminal) and run:

npm install -g @anthropic-ai/claude-code

One command. If you don't have Node.js, install that first (nodejs.org). Claude Code uses the Anthropic API. You'll need an API key from console.anthropic.com. It's pay-as-you-go, and a single analysis like this costs a few cents. Total setup: 15 minutes.

Step 2: Create your project.

In VS Code, create a new folder. Call it whatever you want. Open it. Inside it, create two files.

The first file is called CLAUDE.md. This is the instruction file that tells your AI who it is and what it knows. Start with something simple:

```

Instructions

You are a financial analyst. When analyzing data:

- Always decompose revenue into volume and price effects

- Flag segments where volume and price move in opposite directions

- Compare actuals against any stated targets or assumptions

- Lead with the finding, then show the evidence

```

The second file is your data. Drop in a real file from your practice. A P&L export, a commission report, a trial balance, whatever you have on hand. CSV, Excel, PDF. Claude Code reads all of them.

Step 3: Run your first analysis.

From inside that folder, type claude in your terminal. Claude Code launches with your CLAUDE.md already loaded. Now ask it something real:

> "Read the attached data file. Decompose the revenue change month over month into volume effect and price effect. Break it down by segment. Tell me which segments are driving the headline and which ones are masking a decline."

That's your first decomposition. 30 seconds instead of 3 hours.

The CLAUDE.md file is the foundation. Everything I've built over nine weeks started with a file like this. In Arc 2, we'll add to it: client context, meeting notes, behavioral profiles, strategy signals. Layer by layer, the same way I built mine.

What's next

This is the last issue of Arc 1. For nine weeks I showed you what happens when you give an AI system financial judgment, client context, meeting transcripts, and operational data. What it catches. How it connects dots across sources. Where it changes the conversation.

Arc 2 is about you building it.

Not watching me. Building. The prompts, the file structures, the integrations. Step by step, so that by the end you have a working system running on your own data.

But I want to build the right thing. So I need to know what matters most to you.

Frequently Asked Questions

What is revenue decomposition?

Revenue decomposition breaks a headline revenue change into its component drivers: volume (number of transactions) and price (average transaction value). This reveals whether growth is structural (more customers buying) or fragile (fewer customers paying more). Every CFO should decompose revenue before presenting it to a board.

Why can revenue increase while a business is shrinking?

Revenue can grow when average order value rises faster than transaction volume declines. This masks a decline in customer activity behind a positive headline number. If pricing flattens, revenue immediately falls. Boards that only see the headline miss the underlying fragility.

How do you use AI for financial analysis?

An AI system with financial context can ingest transaction-level data, decompose revenue changes, cross-reference GL entries with meeting transcripts, and flag assumptions that no longer hold. The key is giving the AI structured instructions via a CLAUDE.md file and real client data to analyze.

What is a CLAUDE.md file?

CLAUDE.md is an instruction file that tells Claude Code how to behave. For financial analysis, it contains rules like "always decompose revenue into volume and price effects" and "compare actuals against stated targets." It's the foundation of a persistent AI system that learns your analytical preferences.

Where do you stand?

The Scalable Finance Wheel measures six dimensions of your finance function. Data visibility is one of them. The whole assessment takes 10 minutes and shows you exactly where the gaps are.

What's the last revenue number that almost got past you? Reply and tell me what you found when you dug in. I'll tell you what I would have decomposed first.

Your spreadsheet is now Claude Code

Do not get intimidated. Do not put this off for later.

Know who the knocker-upper was? Before alarm clocks existed, there was a person whose job was to walk through town with a long stick, tapping on windows to wake people up for work. That job disappeared overnight when alarm clocks became cheap.

Spreadsheets are the long stick. Claude Code is the alarm clock.

Don't be a knocker-upper.

Keep Reading