TemplatesGet a demo →Book a meeting

Monthly fund performance against benchmark, weakest funds named first

On the third of each month the flow reads last month’s returns from your performance data and reports each fund against its benchmark and target, weakest first. Every fund below benchmark is named, with no explanation the data does not support.

Finance · Pensions & retirement · On a schedule · The 3rd of every month at 08:00 · 5 steps · Your database

AI Factory · Investment performance report · run 1222a real run on synthetic data · recorded Sep 11, 2026
On a scheduleOn a schedule11 ms
Query a databaseRead last month’s performance136 ms6 rows
Work out the numbersSet against benchmark5 ms6 rows
AnswerWrite the report2.9 s
Answer shownThe answer1 ms
5 of 5 steps ran3.1 s end to end$0.003 model costDrag the canvas, or any step, to move it around.
Asked: “How did each fund perform against its benchmark last month?”
  1. International Equity Fund: The fund returned 0.88% against a benchmark of 1.23%. It fell short of its benchmark.
  1. Conservative Growth Fund: The fund returned -0.23% against a benchmark of -0.10%. It fell short of its benchmark.
  1. Short-Term Fund: The fund returned 0.17% against a benchmark of 0.16%.
  1. Stable Value Fund: The fund returned 0.32% against a benchmark of 0.30%.
  1. Fixed Income Fund: The fund returned 0.59% against a benchmark of 0.56%.
  1. Balanced Fund: The fund returned 0.96% against a benchmark of 0.87%.
  1. Equity Index Fund: The fund returned 1.81% against a benchmark of 1.53%.
  1. Social Values Equity Fund: The fund returned 1.25% against a benchmark of 0.81%.

Why teams run it

Monthly performance reporting means pulling custodian or consultant data into a spreadsheet, comparing it with benchmarks and writing the commentary by hand. A model asked to do the same will happily round a return or invent a reason for it, which is worse than no commentary at all.

How it is governed

  • Read-only: SELECT queries through an administrator’s connection.
  • Every figure is computed in code; the model is told never to round.
  • It is instructed not to explain a move the data does not show.
  • Every run is kept in the run history.
Who runs it
Investment officers; Chief financial officers; Investment committee secretaries.
What you supply
A read-only database connection to your performance or custodian data, with the query pointed at your own tables.
What “a person approves” looks like in the product: the run stops, the banner says what approving will do, and until someone decides, nothing leaves the system. A demo workspace on synthetic data.

From template to a live agent

The same builder, tests and release review apply to a template as to anything built from scratch.

Open it as a working flow
Every step, source, branch and approval is already in place, and every one of them can be changed before it runs on your data.
Prove it before it ships
An evaluation set can gate the release, so a change that breaks an answer never reaches anyone. A question it cannot answer from the sources leaves the gate unproven, not passed.
Keep a person on the decisions
A run that needs a decision stops and says exactly what approving will do, and who it is waiting for.
Publish where people work
A form, an embedded widget, Microsoft Teams or a scheduled batch — with its own access and limits per deployment.
What teams usually change
Point the query at your own performance or custodian tables; Change the run day to follow your data provider’s release; Add target-versus-actual commentary rules as instructions for the report step.
Step 02, in the product: an evaluation set that gates the release. A question it cannot answer from the sources leaves the gate unproven, not passed. A demo workspace on synthetic data.

Questions buyers ask

Will it write investment commentary?
Only what the data supports. It is instructed not to explain why a fund moved unless the table says so, which keeps plausible-sounding reasons out of a report trustees may rely on.
Where does the data come from?
From your own performance or custodian data in a PostgreSQL database, read through a read-only connection an administrator sets up. The query is rewritten for your tables when you adopt the template.
Who receives the report?
Each run’s report lands in the Output queue, where it can be assigned to someone and marked reviewed. The template itself posts nowhere; a team that wants it delivered adds that step in the builder.

See it run on your own data

We open it in the builder, point it at a sample of your documents and systems, and run it with you.