A book export is a list of policies: who the client is, which line, which carrier, which producer, when it started and ended, the premium and the commission. Everything an acquirer wants to know about an agency's revenue is in it. Most of the disagreements about that revenue come from reading it differently.
These are the definitions InsightRollup's engines use. They are written down because a figure is only useful if two people computing it from the same rows get the same answer.
1. Rolling periods, not calendar years
An export is read on a day. The current calendar year is never complete on that day, so comparing it with last year understates growth and overstates loss. Every figure is computed over rolling twelve-month periods ending on the export date: P0 is the last twelve months, P1 the twelve before that. “In force” means written in the last twelve months.
2. Revenue is commission, not premium
An acquirer buys the agency's income: commission and fees. Premium is the carrier's. Producer and client concentration are therefore shares of revenue. Carrier concentration is the exception — a share of premium — because what a carrier's appetite change moves is the premium it writes.
3. Retained means due to renew, and did
A client counts towards retention only if they had a policy in the earlier period whose renewal fell due — and they are retained if they renewed into the next. Clients whose renewal has not come round are neither retained nor lost. Revenue retention is the same idea weighted by revenue.
in P1"] --> D{"Renewal fell
due by now?"} D -->|"no"| N["Not counted"] D -->|"yes"| R{"Renewed
into P0?"} R -->|"yes"| RT["Retained"] R -->|"no"| L["Lost"]
4. Recurring is new, renewal and fees
Commission types new, renewal and fee are recurring;
contingent and supplemental are volatile — paid by carriers on profit and
volume, so they move year to year.
5. A key person holds 15% or more
A producer holding 15% of revenue or more is a key person. The shipped control refers anything over 25%.
6. Data quality is a list of rows
No client code, no producer, commission missing or above the premium, expiry before effective date. Each is a list of row numbers, so the seller can fix them in their own system.
7. Every figure cites its rows
A citation reads like “Book export ironwood_book_export.csv: 1,079 rows (written in the 12 months to 2026-10-29)” — the file, the row count, the filter. Click it and the rows open.
For the deal team
When the seller disputes a figure, the conversation is about rows, not methods.
For IT
The engines are pure functions of the stored rows and the export date (book_engine.py), tested against known-answer books.
For corp-dev leadership
Every agency in the programme is measured the same way, so the pipeline compares like with like.
Questions we get asked
Why not use the seller's financial year?
Because it is a different period from the book and includes income the book does not show. InsightRollup shows the seller's figure beside the book's, and the gap.
What date is 'as of'?
The export date. Every figure states it, so a figure computed today and one computed next month are never confused.
Keep reading
Where agency acquisitions lose money
Not in the multiple. In the revenue it is applied to, and the people who hold it.
Read articleThe Acquisition Workspace: one page per agency
Seven zones, one stage strip, and every citation one click from the rows.
Read articleTen acquisition agents, inside authority
Book review, integration fit, memo and controls — and a person decides.
Read article