Chapter 5 of 13 · Funder road · About 15 minutes
Roll up and benchmark portfolio results
Each partner report has been checked against the agreement, and a few numbers are still waiting on answers. Now you need a portfolio total you can defend, and perhaps an outside number to compare it with.
You will learn: how to add up only what shares a definition, show held numbers in the open, split results by who was served, and add a benchmark only when it counts the same thing.
Who this is for: the funder, once partner reports have been checked against the agreement. You bring each partner's checked numbers, the gap log with any questions still open, and the shared data dictionary.
On this page: What adds up · Held numbers · Who was served · Benchmarks · Many partners · Checklist · Try it · Questions
Which partner numbers can you add up?
In short: Only numbers that share a definition. A total is only honest if every part means the same thing, so anything counted differently waits until the partner clarifies it.
After the check in the previous chapter, each partner's numbers carry a status. Those marked "matches" are ready to add; everything else is held.
Workforce fund example · fictional
Placed in a job within 90 days of exit: Partner A 42, Partner B 31, Partner D 27. Portfolio total: 42 + 31 + 27 = 100, from A, B and D. Partner C reported 55, but counted placements within six months, so its number is held until C confirms the 90-day count.

Never add a held number silently. A total of 155 looks like a better result, but it mixes two measures, and the first board member who asks "within how long?" will find it. When C answers, its 90-day count joins the total, and the gap log records when and why the total changed.
How do you show a held number without hiding it?
In short: Put it in the report beside the total, with one line on why it is held and what you have asked. Leaving it out hides a partner's work; adding it in hides a definition problem.
"Placed in a job within 90 days: 155 people." Or "100 people", with Partner C left out and no note.
"Placed in a job within 90 days: 100 people, from Partners A, B and D. Partner C reported 55 placements within six months; we have asked for its 90-day count and will add it when confirmed."
The note does three jobs. It tells the reader the total is incomplete, it shows that the portfolio checks definitions, and it credits Partner C for work already reported.
How do you break the roll-up down by who was served?
In short: Use the breakdown already written in the data dictionary, and split only where every partner collected the same categories. A breakdown with mismatched categories is another held number.
The dictionary row for enrolled sets the Who dimension, one of the Five Dimensions of Impact. Because every partner agreed to the same categories at the start, the portfolio's enrolled count can be split the same way.
DICTIONARY ROW · FICTIONAL EXAMPLE
Check the categories before you add. If one partner records age in bands and another records date of birth, the numbers cannot share a row until someone maps them; where a category is blank, report it as "not recorded", not as zero.
Show the denominator beside every rate. "100 placed within 90 days" means more beside the number who completed training at A, B and D, and a percentage without its base invites the wrong comparison.
When is a benchmark worth adding?
In short: Only when an outside number uses the same definition as yours. Benchmarks are optional; they answer "compared with what?", and a benchmark that counts something slightly different does more harm than none.
| Benchmark | Same definition means | Fits |
|---|---|---|
| County median wage for the same job | Hourly, same occupation, same county | Starting wage by track |
| Earlier cohorts | Same partner, same agreed rule, earlier period | Placement, retention |
| IRIS+ peers, where a code exists | Same IRIS+ metric code | Enrolled (PI4060) |
Compare each partner with its own outside number, not the portfolio with everything. One track's starting wage beside the county median for that occupation tells you something; a portfolio average beside an all-jobs median does not. Wage data by occupation and area comes from sources such as the Bureau of Labor Statistics, and metric codes from IRIS+.
The toolkit chapter Compare your results with outside data walks through finding a source, checking its definition and loading it beside your own.
Comparison is not ranking.
Partners serve different people in different places. A partner that places fewer people may work with people furthest from work, in a county with fewer jobs, so a lower number can reflect harder work, not weaker work. Use a comparison to start a conversation with the partner, never to rank without context.
How do funders keep a roll-up workable across many partners?
In short: Agree the definitions once, keep each partner's data separate, and link every total back to the reports it came from. The more partners you add, the more a shared dictionary matters.
Auroville International USA channels donor money to about 80 project partners, more than $1M a year. Partners apply, are approved and report every quarter, and the funder report is built from those reports. They define terms such as a "complete quarterly report" and a "clean-water beneficiary" across five water projects, so the same words count the same thing from project to project.
AHA Ventures, the investment arm of the American Heart Association, is growing its portfolio from 19 to more than 40 companies. Its head of impact drafts each company's logic model and data dictionary during the onboarding call, from the call itself, with Sopact Sense. At 19 companies a mismatched definition can be fixed by hand; past 40, the dictionary written at the start is what keeps the total honest.
What Sopact Sense does for a roll-up today.
ASK ANY TOOL, INCLUDING OURS
Ask: "Add placements within 90 days across the partners whose reports match the agreed definition, list any partner held out and why, and show which report each number comes from." Any AI tool can answer this from a checked gap log; in Sopact Sense, the AI Assistant answers from the partners' records, with sources. A shared place for definitions, the dictionary and frameworks that the Assistant applies is coming soon.
What should you check before you publish a portfolio total?
In short: Six checks, one line each. If any answer is no, hold the number or add a note.
| Check | Ask | If no |
|---|---|---|
| Definition | Does every part use the agreed definition? | Hold that part; ask the partner |
| Period | Do all parts cover the same period? | Hold it, or label the period |
| Unique people | Is each person counted once, not per visit? | Ask for a unique count |
| Who | Were the same categories collected everywhere? | Split only where they match |
| Denominator | Is the base shown beside every rate? | Add it, or drop the rate |
| Source | Can each part be traced to a partner report? | Find the report first |
Roll-up checklist. Keep it beside your portfolio sheet.
A roll-up also inherits every gap below it: if a dictionary definition was loose, the total is loose, and no benchmark repairs that. The next chapter, Write the portfolio report for your board or donors, turns the checked total, the held numbers and the partners' own words into a report.
Try it on your own portfolio
- Choose one metric that every partner reports, such as placements.
- List each partner's number with its status from the gap log.
- Add only the matches, and write each held number beside the total with a one-line note.
- Check the Who breakdown against the dictionary's categories before you split the total.
- If you want a benchmark, name one outside number with the same definition and where it comes from.
Check your reasoning
The total is 42 + 31 + 27 = 100, from A, B and D. Partner C's 55 appears on its own line with a note, neither in the total nor missing from the page. When C confirms, add its 90-day count, not 55; that count can be no higher than 55, because every placement within 90 days is also within six months. For a benchmark, the county median wage for the same job fits starting wage by track, but only for partners that split wage by track, which C has not yet done.
Questions teams ask
Why not add Partner C's 55 with a footnote?
Because a footnote does not change the total. Readers quote the headline, and 155 would travel into board minutes and donor emails without its footnote. Keep the total at 100, show 55 on its own line with the reason it is held, and add C's 90-day count once confirmed. That count can be no higher than 55, since every placement within 90 days also falls within six months.
Do we need a benchmark in every portfolio report?
No. The roll-up answers how much happened across the portfolio; a benchmark answers compared with what, and it earns its place only when an outside number uses the same definition. For many metrics none exists, and an earlier cohort from the same partner is the fairest comparison you have. A benchmark that counts something slightly different misleads more than it helps.
What if partners collect different demographic categories?
Map them to the dictionary's categories where the mapping is exact, such as single ages into age bands, and hold the rest. Show the Who breakdown only for partners whose categories match, and say which partners are included. Then write the categories into next year's agreement and intake forms, so the breakdown works for every partner from the first record.
Should we show partner-by-partner results to our board?
Show them when they help the board understand the portfolio, with context beside each: who the partner serves, where, and anything that makes its numbers hard to compare. Avoid a ranked league table. Partners serving people furthest from work will often show lower rates, and a ranking would reward partners for choosing whom they serve rather than for what they achieve.
How do we handle a partner that joins mid-year?
Include its numbers only for the periods it reported under the agreement, and label the total so readers know the portfolio changed. When you compare with last year, compare the same partners in both periods, or say plainly that the portfolio grew. A total that rises because a partner joined is not the same as a total that rises because more people found work.