Skip to main content
DoneThat

AI Adoption GuideFinanceReport

Earnings Q&A simulator

LLM red-teams analyst questions on the numbers and drafts response talking points.

Finance processPlanBudgetInvoiceCollectPayCloseReportAudit

By Don, DoneThat’s AI coach · updated

What a defensible talking-point draft is

A quality outcome is a talking-point draft that cites the packed number it rests on. If the frozen pack has no number for that question, the draft stays empty. The simulator does not invent guidance. Investor relations still speaks.

That contract is what makes rehearsal useful. Analysts will ask beyond the slides. Your job is not to have a paragraph for every question. It is to know, before the call, which answers rest on a printed figure and which questions you must decline or send back to the pack.

Treat the draft as a cite sheet, not as copy. Fluency is not evidence. A sentence that cannot point to a cell in the freeze is not a talking point.

Freeze the earnings pack before any questions exist

Red-team a snapshot, not a live close. Freeze the earnings pack first: the tables, captions, and footnotes that will appear in the materials you are prepared to stand behind. Record the freeze time and who may still edit. Generate questions only against that snapshot.

Planning and close tools such as Vena, Datarails, Workday, and Anaplan may hold the numbers that feed the pack. They are not the pack. The simulator reads packed figures, not a working cube, not yesterday's file, and not a slide someone changed after the freeze.

Who signs the freeze matters. FP&A owns the numbers. IR owns which packed numbers are in-scope for the call. If those two lists differ, generate questions only against the IR in-scope subset, and keep the rest of the pack available as backup cites, not as implied disclosure.

If you generate questions against an unfrozen model, you will produce questions the published pack cannot support. That is the first failure mode: answering a question the pack cannot support. The draft will look complete. The room will not have the number.

Use the same freeze you would use for a board-pack narrative draft. Narrative and Q&A must cite the same printed set. If they diverge, you have two stories.

When FP&A revises a line after freeze, do not patch a talking point by hand. Freeze again and regenerate the question set. Old cites against a new table are how you get a fluent answer to last week's number.

Generate analyst questions only from packed fields

Have the model propose the questions a skeptical analyst would ask, but constrain generation to fields that exist in the freeze. Printed revenue, margin, opex, cash, headcount, segment, and variance lines. Not a guidance question unless a guidance line is in the pack. Not a volume or backlog question unless those figures are packed.

This rehearsal is not conversational financial Q&A. Internal Q&A is for exploring numbers with the team. Earnings Q&A is adversarial practice against what you are about to put on the record. Keep the two loops separate so exploratory language does not leak into spoken answers.

One illustrative walk-through: the frozen pack shows gross margin for this period and the prior period, a COGS line, and a short mix note. It has no forward guidance line and no unit-volume figure.

A question the pack can support: what drove the change in gross margin versus the prior period. The draft may cite the two margin figures, the COGS line, and the mix note as written.

A question the pack cannot support: what margin we should model next year. There is no guidance figure. The talking point stays empty.

A second unsupported question: how many units shipped. There is no volume figure. The talking point stays empty.

If the pack already includes a variance report with driver attribution, those drivers are the only causal language the draft may use. Do not let the model invent a second driver story that is easier to say.

Empty is the correct output for unsupported questions. It flags a live question with no printed number. IR then either adds a packed figure under the same controls as the rest of the pack, or prepares a spoken decline.

Cite the packed number or leave the talking point empty

Every non-empty draft must name the packed figure it rests on: the line, the period, the comparison, and the unit. Someone else on the team should be able to find that cell in the freeze without asking the author.

Do not fill empty cells with qualitative color, directional language, or a round number that feels consistent with the pack. That is inventing a guidance figure under another label, which is the third failure mode. The market hears a number. Your freeze does not contain it.

The empty talking point is usable work. It tells you the question will likely be asked and that you have nothing on paper. Decide in the rehearsal, not on the call, whether you will pack a number or decline to disclose.

Do not special-case sustainability or non-financial questions. If those figures are not in this earnings pack, leave the talking points empty. Run them through a separate ESG disclosure draft if that is a different disclosure, rather than borrowing last year's sustainability language into this call.

Segment, geographic, and one-time questions follow the same rule. If the pack shows a total and not the split, the split question stays empty. If a caption says the item is not broken out, the draft does not break it out.

IR edits; the draft is not spoken

The second failure mode is treating the draft as the spoken answer. A talking-point draft is a cite-backed note. It is not a transcript, not a promise, and not a substitute for IR, legal, or CFO review.

IR edits for what can actually be said, consistency with prior disclosures, tone, and what to decline. IR also checks whether a packed number is being asked to carry more meaning than its caption allows. A margin line is not a margin outlook. A cash balance is not a capital-return decision.

If a draft is fluent, slow down. Read the cite first. If the cite is missing, delete the paragraph. If the cite is present, edit the words a human will say, then decide whether those words belong on the call at all.

On the rehearsal doc, empty should look empty: a blank talking-point field plus the question, not a hedge sentence. A hedge is still an answer. Label it not packed so nobody fills it on the way to the briefing.

Counsel and the CFO still own anything that sounds like guidance, commitment, or a change in policy. The simulator does not.

Run the loop until empty means a decision

A short operating loop is enough:

Freeze the pack. Generate questions strictly against packed fields. Draft talking points that cite the number, or stay empty. IR edits and decides what is spoken, declined, or sent back to FP&A to pack properly.

Stop when every empty talking point is either supported by a packed number or explicitly marked as non-disclosed. Do not stop when every question has a paragraph. A full script with unsupported answers is the failure, not the finish.

Keep the rehearsal inside the freeze until the call materials are issued. After issuance, archive the freeze, the question set, and the edited talking points together so the next quarter starts from what was actually packed, not from what someone remembers saying.

Is this worth automating for you?

Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.

DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.

Measure the baseline first