A performance attribution tool that writes answers to "why did we lag?" has to be judged first on who checks its work. A drafting model that verifies its own output will confirm its own mistakes, so the check must be independent: every figure recomputed from the official, signed-off returns, before-fee figures paired with after-fee ones, the effects shown to add to the total, and a performance analyst who did not draft the answer approving it with a signature. Botminds' Performance Attribution Analysis is built that way. Its Narrator agent drafts, a separate Consistency agent checks and cannot approve, the portfolio manager reviews the reasons, and only a person on the client team can send. It reads the attribution your performance system already produces; it is not an attribution calculation engine. Two neighbouring decisions have guides of their own: piloting attribution software on last quarter's questions and the KPIs that show it pays.
The examples on this page are the solution's sample data: Quillfield Capital, its strategies, staff and consultants are fictional. Design goals are called targets.
From question to sent answer in Performance Attribution Analysis: one drafts, another checks, people decide
Agent
Narrator draftsWrites the answer for its audience, binding every sentence to the attribution cells and source passages it uses.
Never: states a figure it cannot bind to a cell
Agent
Consistency agent recomputesRecomputes every figure from the official returns, pairs gross with net, checks the effects add to the total, and compares with the factsheet, earlier answers and the mandate's benchmark.
Never: approves an answer
Agent
Disclosure agent testsApplies the holdings disclosure policy and the advertisement test; routes an answer for more than one recipient to Marketing Compliance.
Never: overrides a block
A person decides
Portfolio manager reviews the reasonsConfirms the reasons are his, in his words; edits wording if needed.
A person decides
Performance analyst approves and signsApproves with a reason code and an electronic signature; may not approve an answer she drafted or changed a number in.
A person decides
Client team sendsSends the signed answer; the CRM case and evidence are logged as Send is pressed.
What a performance attribution tool should do, and what this one does not
The phrase covers two different products. An attribution engine calculates the effects from holdings, transactions, prices and benchmark data; it is part of the performance measurement system and produces the official grid. An answer tool takes that grid and the reasons behind it and produces the paragraph a consultant reads. Buyers who need the first should not buy the second, and vice versa.
Attribution engine or answer tool: two jobs, often confused
Attribution engine (calculation): The official attribution grid: allocation, selection, interaction, currency or carry, duration, curve, spread.
Answer tool (explanation): A cited answer to a specific question, for a specific reader, from that grid.
Attribution engine (calculation): Holdings, transactions, prices, benchmark constituents, FX rates.
Answer tool (explanation): The official grid and period status, the PM's notes and minutes, trades, issuer filings, prior answers.
Attribution engine (calculation): A wrong number: bad prices, missed trades, wrong benchmark data.
Answer tool (explanation): A wrong sentence: a reason nobody gave, a preliminary figure, gross without net.
Attribution engine (calculation): Performance measurement.
Answer tool (explanation): Performance, with the PM, the client team and compliance.
Attribution engine (calculation): Not this. It reads the grid from your system and never recalculates returns.
Answer tool (explanation): This: it drafts, checks and routes the answer; people approve and send.
The distinction also decides what to test. An attribution engine is tested by reconciling its effects to the official returns over many periods. An answer tool is tested by comparing its answers, sentence by sentence, with the grid and with what the portfolio manager actually said. A pilot that tests one by the other's standard will pass a tool that is wrong in the way that matters.
Why the writer can never be the checker
A language model that drafts an answer and then reviews it reads its own reasoning twice and tends to agree with it. Researchers who built an attribution agent on GPT-4 put the requirement bluntly: attribution "involves reasoning on structured/tabular data which implies that LLMs have to be able to generate 100% accurate results, hence requiring the use of hallucination controls and evaluation methods" (de Melo and Sheikh, arXiv 2403.10482, 2024, not peer reviewed). Among the future work they list is exactly the separation this page argues for: a step "that verifies the results and re-runs the agent."
One study's attribution agent: strong with examples, weak without them
60%
accuracy explaining the direction of allocation effects with no worked examples in the prompt
92–100%
accuracy on the same task with worked examples
100%
accuracy computing sector-level effects from weights and returns
The 60% is the number to remember. The lowest score in that study's explanation tests was not arithmetic but the sentence explaining an allocation effect, which "requires the right combination of two keywords instead of just one": overweight or underweight, and a sector that beat or lagged the index. That is precisely the sentence a consultant reads. A tool that drafts it must be followed by a check that does not share the drafter's reasoning, which is why the solution's Consistency agent recomputes from the official returns rather than re-reading the draft.
How do you check an attribution answer? Seven tests before sign-off
Check an attribution answer against the official returns, not against the draft. In the solution, every answer passes seven checks before an analyst can sign it, and each catches a failure that would otherwise reach a client. In the sample answer to Hartwell Consulting about Global Equity's third quarter, all seven passed and 14 figures were checked with no differences.
The seven checks in Performance Attribution Analysis, and what each one catches
| Check | Catches | In the sample answer |
|---|---|---|
| Period final | A figure from a preliminary or open period that may still change. | Q3 2026 official returns, final October 9. |
| Every figure ties to the official returns | A typed, stale or rounded-wrong number. | 14 figures checked, 0 differences, within 0.5bp. |
| Rows add to the total | An effect dropped, double-counted or taken from a different convention. | Allocation −39 + selection −94 + interaction −1 + currency −8 = −142bp. |
| Gross paired with net | Before-fee figures shown without after-fee ones. | After-fee figures added: 1.65%, −161bp, equal prominence. |
| Same as published | An answer that contradicts the factsheet or commentary. | Q3 factsheet and commentary (October 14) name the same drivers. |
| Same as earlier answers | Two consultants told two different stories. | Two earlier Global Equity Q3 answers, consistent. |
| Benchmark matches the mandate | An answer measured against the wrong index. | Client's investment management agreement, schedule B: Norvale Global All Cap Index (net). |
What each agent read, and the checks that ran before anyone could sign

How is gross paired with net in an answer?
Whenever an answer shows a before-fee return or gap, it shows the after-fee figure beside it, over the same period and on the same basis. When the grid is calculated before fees, a draft built from it naturally quotes gross numbers; in the sample the Consistency agent added "1.65% after fees" and "161bp after" to a draft that had only 1.84% and 142bp. In an advertisement, the SEC Marketing Rule requires net performance "with at least equal prominence to" any gross performance shown (17 CFR 275.206(4)-1(d)(1)), and the solution's rule applies the pairing to every answer, advertisement or not.
The pairing is a check, not a sentence template. The after-fee figure has to come from the official net returns, not from subtracting an assumed fee, because actual fees differ by share class and by client. The conditions under which attribution itself may be shown gross are set out in the SEC Marketing Rule's gross and net test for attribution.
Can AI write performance commentary? What the research shows
It can draft it, and the SEC's examiners have noticed that firms are doing so. The Division of Examinations' fiscal 2027 priorities, published October 23, 2026, describe the industry's use of what the Division calls super intelligence, or SI: generative SI tools now help firms with research, drafting and client communications as well as portfolio management and compliance monitoring (SEC Division of Examinations, Fiscal Year 2027 Examination Priorities; the Division's words, with what else is known about adoption). Client communications are where performance commentary sits.
Drafting is not the hard part. The study above found its agent computed sector effects perfectly and explained them well when given worked examples; what remained open was whether a single explanation could be trusted without a check. For commentary that reaches clients, the answer is no, and the control has three parts: the draft can only use figures it can bind to an official cell, the reasons must be quoted from the portfolio manager rather than generated, and a separate check plus a human signature stand between the draft and the client.
The second part is the one generic tools miss. A model asked "why did Health Care selection cost 96bp?" will produce a fluent reason whether or not one is on file. In the solution, the Context reader quotes the portfolio manager's notes and, when its confidence in a reason is below a 0.85 floor, asks him in one or two sentences instead of answering. In the sample it did so for a Consumer Staples loss in another strategy at a confidence of 0.71, and the manager's reply was quoted and cited.
Who approves an answer before it goes to a consultant?
A performance analyst who did not draft the answer or change a number in it. In the solution, the agents draft, the portfolio manager reviews the reasons, and the analyst approves with a reason code, A1 (numbers agree with the official returns), A2 (wording edits, no figure changed) or A3 (an added disclosure), and an electronic signature recorded with the time and the answer version. Until she signs, the client team's Send button stays off.
Approval with a reason code and a signature tied to the answer version

The reason codes matter more than they look. An approval with no reason cannot be audited; an approval that says "numbers agree with the official returns" can be tested against the checks that ran and the version that was sent. And because no one may approve an answer they drafted or changed a number in, the person who signs is always someone who checked the numbers rather than wrote them.
What if a period is restated? Finding every answer that quoted it
A restatement turns every sent answer that quoted the old figure into a wrong answer in a client's file. In the sample, International Small Cap's second quarter was restated on October 2, after the spin-off of one holding from its parent was booked late, and the gap moved from −118bp to −137bp. The solution's Attribution reader found the three answers already sent that quoted −118bp, to three different recipients, and drafted corrections; the head of performance measurement approves them before anything goes out.
The same logic runs before an answer is sent. A preliminary period is refused outright, with the date it is expected to be final, and the client team can send a holding reply in the meantime. The sample shows the refusal for Global High Yield, whose quarter was held open by a price challenge on one bond: "I will not answer that yet. Any figure I gave you now could change."
What records must back a performance figure?
For a registered investment adviser, every performance figure it sends out must be backed by the workings that prove it, whether the communication is an advertisement or a single letter. Rule 204-2 requires the adviser to keep the books, working papers and other records needed to show how any performance figure was calculated, whenever that figure appears in an advertisement, letter, bulletin or other communication it sends, directly or indirectly, to "any person" (17 CFR 275.204-2(a)(16); the recordkeeping rule, record by record).
"Any person" is the phrase that reaches consultant answers. A one-to-one reply to a consultant may not be an advertisement, but the calculation behind every return it quotes still has to be demonstrable. That is why the solution keeps, for every answer, the attribution version it read, the checks that ran and their results, the sources each sentence cites, the approvals and the sent text, on an append-only trail, exportable as one evidence file per answer or per quarter.
The audit trail of one answer, from first read to sent and logged

Performance attribution systems vs answer tools: buying the right one
If the gap in your team is calculation, buy or fix the performance measurement and attribution system first: no answer tool can explain a grid that is wrong. If the gap is the time from a correct grid to a signed, consistent answer, an answer tool is the purchase, and it should sit beside the attribution system rather than replace it. The solution connects to the performance measurement system for official returns, attribution and period status; to portfolio accounting for holdings and transactions; to the order management system for the trade blotter; to document management for the manager's notes, minutes, factsheets and commentary; and to the CRM and mailbox for questions in and answers out.
Questions to put to any performance attribution tool that drafts answers
- Who checks the draft, and with what?
A separate check that recomputes from the official returns, not a second pass by the same model over its own text.
- Can it state a number it cannot cite?
Every figure should be bound to an official cell or a named source; ask to see what happens when one is not.
- What does it do with a preliminary period?
It should refuse, say when the period will be final, and never answer from an open period.
- Where do the reasons come from?
Quoted from the PM's notes, minutes and trades, or asked of the PM; never generated.
- Does it pair gross with net every time?
From official net returns, over the same period, with equal prominence.
- Can anyone approve their own work?
The drafter, and anyone who changed a number, should be blocked from approving.
- What happens after a restatement?
It should find every sent answer that quoted the old figure and draft corrections for approval.
- Can you export the workings?
Versions, sources, checks, approvals and the sent text, per answer, for an examiner or auditor.
The last instruction is the important one: test a tool on last quarter's real questions and compare its answers with what you sent. How to pilot performance attribution software lays out the weeks and the scoring. To see the agents, checks and sign-off on your own attribution reports, start from Performance Attribution Analysis.
Questions people ask
What are performance attribution systems?
They are the systems that calculate attribution: they take holdings, transactions, prices and benchmark data and produce allocation, selection and other effects for each portfolio and period. They are usually part of, or fed by, the performance measurement system that produces official returns.
Can a performance attribution tool replace the performance analyst?
No. It can take the reading, drafting and mechanical checking off the analyst's desk, but the analyst still answers for every figure that leaves the firm and signs. In the solution, a target is for 100% of figures in an answer to be tied to the official, signed returns before it is sent, and a person still approves.
Does the tool need access to portfolio manager notes?
If it is to explain why, yes: the attribution grid says where the gap came from, and only the manager's notes, minutes and trades say why. Without them, a tool can describe effects but has to ask, or leave the reason to a person.
How long should a drafted answer take?
In the solution's sample, the agents read the official attribution, the manager's notes, the trades and an issuer's filing in German and drafted a cited answer in 2 minutes 41 seconds. Elapsed time to a sent answer then depends on the PM's review and the analyst's sign-off; the solution's target is a cited answer the same day.
Is an answer to one consultant an advertisement?
Usually not, if it answers that consultant's question about an existing client's account and offers no new services. The same text sent to many recipients, or reused as a standard insert, can be. The solution treats any answer going to more than one recipient as an advertisement and routes it to Marketing Compliance first, a deliberately cautious setting.