play icon for videos
← Academy
SOPACT ACADEMY · SURVEY INTELLIGENCE · ANALYZE

How Do You Compare Two Cohorts Fairly?

Compare cohorts using compatible measures, timing and response bases. Check participant mix and missing evidence before interpreting a difference.

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> @keyframes pulseDot{0%,100%{opacity:1}50%{opacity:.35}} *{box-sizing:border-box} body{margin:0;font-family:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,sans-serif;background:#EEF2F9;padding:26px;display:flex;justify-content:center} .card{width:600px;max-width:100%;background:#FFFFFF;border:1px solid #E3E9F4;border-radius:20px;box-shadow:0 26px 64px -32px rgba(15,30,70,.34),0 2px 4px rgba(15,30,70,.05);overflow:hidden} .hdr{display:flex;align-items:center;gap:11px;padding:16px 20px;border-bottom:1px solid #EEF1F7;background:#F5F8FE} .hdr .ic{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border:2px solid #155DFC;border-radius:50%;color:#155DFC;font-size:15px;font-weight:800;flex-shrink:0} .hdr .t{min-width:0} .hdr .t .n{font-weight:800;font-size:14.5px;color:#0F172A;letter-spacing:-.2px} .hdr .t .s{font-size:12px;color:#64748B} .hdr .pill{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:#155DFC;background:#E6EEFF;padding:5px 10px;border-radius:20px;white-space:nowrap} .hdr .pill .d{width:6px;height:6px;border-radius:50%;background:#155DFC;animation:pulseDot 2s infinite} .tabs{display:flex;gap:0;padding:12px 16px 0;background:#F5F8FE} .tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;font-family:inherit;font-size:11.5px;font-weight:700;color:#64748B;background:transparent;border:none;border-bottom:2px solid transparent;padding:8px 4px 10px} .tab.on{font-weight:800;color:#155DFC;border-bottom-color:#155DFC} .tab .num{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:800;color:#64748B;background:#EEF1F7} .tab.on .num{color:#fff;background:#155DFC} .divider{height:1px;background:#EEF1F7} .body{padding:20px} .eyebrow{font-size:10.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:#155DFC;margin-bottom:5px} .eyebrow.g{color:#15884F} .headline{font-family:'Inter',Georgia,serif;font-size:18.5px;font-weight:600;line-height:1.25;color:#0F172A;margin-bottom:12px} .lede{font-size:12.5px;line-height:1.55;color:#475569;margin:0 0 14px} .rows{display:flex;flex-direction:column;gap:8px;margin-bottom:14px} .row{display:flex;align-items:center;gap:11px;background:#F5F8FE;border:1px solid #EEF1F7;border-radius:11px;padding:11px 13px} .row .emoji{font-size:17px} .row .rt{flex:1;min-width:0} .row .rt .n{font-size:13px;font-weight:700;color:#0F172A} .row .rt .s{font-size:12px;color:#64748B} .pillsm{font-size:11px;font-weight:800;color:#155DFC;background:#E6EEFF;padding:4px 9px;border-radius:6px;flex-shrink:0} .pillsm.gray{font-weight:700;color:#64748B;background:#EEF1F7} /* chain / timeline */ .chainwrap{position:relative;padding-left:26px} .chainline{position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:#E3E9F4} .cnode{position:relative;margin-bottom:14px} .cdot{position:absolute;left:-26px;top:4px;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid #94A3B8} .clabel{font-size:9.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#64748B;margin-bottom:4px} .cbox{background:#F5F8FE;border:1px solid #EEF1F7;border-radius:11px;padding:10px 12px;font-size:12px;line-height:1.5;color:#334155} .cbox.graded{display:flex;align-items:flex-start;gap:9px;border-left-width:3px;border-left-style:solid} .cnote{margin:0 0 14px 4px;font-size:11px;line-height:1.5} .cnote .plus{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;background:#155DFC;color:#fff;border-radius:4px;font-size:10px;font-weight:800;flex-shrink:0;margin-right:6px} .csummary{display:flex;align-items:center;gap:12px;background:#0A1B3D;border-radius:13px;padding:11px 15px;margin-top:4px} .csummary .t{flex:1;font-size:11.5px;color:#CBD8F5} .csummary .t b{color:#F1F5FF} /* matrix */ .mxwrap{border:1px solid #EEF1F7;border-radius:12px;overflow:hidden;margin-bottom:10px} .mxhead{display:grid;grid-template-columns:118px 1fr 1fr;background:#F5F8FE;border-bottom:1px solid #EEF1F7} .mxhead div{font-size:9px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#64748B;padding:7px 9px} .mxrow{display:grid;grid-template-columns:118px 1fr 1fr;border-bottom:1px solid #EEF1F7} .mxrow:last-child{border-bottom:none} .mxrow>div{padding:9px;font-size:11.5px;line-height:1.4;color:#334155;display:flex;align-items:center;flex-wrap:wrap;gap:5px} .mxrow .mxlabel{font-weight:700;color:#0F172A;background:#FAFBFE} .mxchip{font-size:9px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;padding:3px 6px;border-radius:5px;white-space:nowrap} .promptwrap{padding:0 20px 18px} .promptlbl{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#94A3B8;margin-bottom:7px} .prompt{display:flex;align-items:flex-start;gap:9px;font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:11px;line-height:1.5;color:#1E293B;background:#F5F8FE;border:1px solid #EEF1F7;border-left:3px solid #155DFC;border-radius:9px;padding:11px 12px} .prompt .car{color:#155DFC;font-weight:800;flex-shrink:0} .flagrow{display:flex;align-items:flex-start;gap:10px;background:#F5F8FE;border:1px solid #EEF1F7;border-radius:11px;padding:10px 12px;border-left-width:3px;border-left-style:solid;margin-bottom:8px} .flagtag{font-size:9.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;padding:4px 8px;border-radius:5px;white-space:nowrap;flex-shrink:0} .flagtxt{font-size:12px;line-height:1.45;color:#334155} .lp{display:flex;align-items:center;gap:12px;background:#0A1B3D;border-radius:13px;padding:14px 16px;margin-top:6px} .lp .ic{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;background:#14295C;border:1px solid #26407A;border-radius:9px;color:#7FA8FF;font-size:16px;flex-shrink:0} .lp .rt{flex:1;min-width:0} .lp .rt .n{font-size:13px;font-weight:800;color:#F1F5FF} .lp .rt .s{font-size:11.5px;color:#9DB2D9} .lp .open{font-size:11px;font-weight:800;color:#0A1B3D;background:#7FA8FF;padding:6px 11px;border-radius:7px;white-space:nowrap} </style> </head> <body> <div class="card"> <div class="hdr"> <span class="ic">&#9878;&#65039;</span> <div class="t"> <div class="n">Vista Workforce Collaborative · comparing cohorts without fooling yourself</div> <div class="s">DEMO-03 · Sopact Sense · Workforce Cohort</div> </div> <span class="pill"><span class="d"></span>Comparing</span> </div> <div class="tabs" id="tabs"></div> <div class="divider"></div> <div class="body" id="body"></div> <div class="promptwrap"> <div class="promptlbl">The prompt behind this step</div> <div class="prompt"><span class="car">&gt;</span><span id="promptTxt"></span></div> </div> </div> <script> (function(){ var TABS = ["Setup", "Compare", "Fix", "Report"]; var CONTENT = [{"eyebrow": "Step 1 · Load the dataset", "headline": "Clean data, persistent contact IDs, one Decision Brief.", "lede": "This fictional example has gains of 38 and 31 points, with different program windows. Use it to practice a comparison check; it is not customer evidence.", "prompt": "From the supplied cohort records, state the comparison question, group definitions, measure, timing and denominator. Flag missing inputs. Do not infer a cause for a difference."}, {"eyebrow": "Step 2 · Benchmark the cohorts", "headline": "Check whether the comparison is fair.", "lede": "The observed difference is seven points. Its cause is not established by the two averages.", "prompt": "Compare [COHORTS] on [METRIC]. Show definitions, denominators, observation windows, coverage and participant mix. Distinguish the observed difference from possible explanations; do not adjust by program length without a justified method."}, {"eyebrow": "Step 3 · Review the gap", "headline": "A shorter window needs investigation.", "lede": "Dividing gain by program weeks is not a general correction. Find a compatible observation point or report the limits.", "prompt": "Identify which additional evidence could improve this comparison. Explain what remains unresolved. Do not declare the groups comparable because one field or ratio changed."}, {"eyebrow": "Step 4 · Report the limits", "headline": "Cohort comparison review", "lede": "Report the observed result, its reporting bases and what must be checked before drawing a stronger conclusion.", "prompt": "Write a comparison brief with the observed difference, definitions, denominators, timing, coverage, known differences and unresolved questions. Link statements to the supplied evidence. Do not claim a cause or effect that the design cannot establish."}]; var BODIES = { "setup": "<div class=\"row\"><span class=\"emoji\">&#128221;</span><div class=\"rt\"><div class=\"n\">Representative contact (pre → post)</div><div class=\"s\">Contact L-2023-001 (Downtown) · confidence 2→5, skill 24→78, employed within 6 months</div></div><span class=\"pillsm\">Pasted</span></div><div class=\"row\"><span class=\"emoji\">&#128203;</span><div class=\"rt\"><div class=\"n\">Fictional workforce example</div><div class=\"s\">Illustrative records · check the reporting base</div></div><span class=\"pillsm gray\">Structure</span></div><div class=\"row\"><span class=\"emoji\">&#128274;</span><div class=\"rt\"><div class=\"n\">No hallucination rule</div><div class=\"s\">Only what the program states; infer = flagged</div></div><span class=\"pillsm gray\">Required</span></div>", "build": "<div class=\"mxwrap\"><div class=\"mxhead\"><div></div><div>Skill gain</div><div>Review needed</div></div><div class=\"mxrow\"><div class=\"mxlabel\">2023</div><div>+38<span class=\"mxchip\" style=\"background:#15884F;color:#fff\">RECORDED</span></div><div>full 12-week program</div></div><div class=\"mxrow\"><div class=\"mxlabel\">2024</div><div>+31<span class=\"mxchip\" style=\"background:#C9820A;color:#fff\">REVIEW</span></div><div>shorter program window</div></div><div class=\"mxrow\"><div class=\"mxlabel\">Comparison</div><div>delta -7</div><div>cause not established<span class=\"mxchip\" style=\"background:#C63E2B;color:#fff\">LIMIT</span></div></div></div>", "fix": "<div class=\"mxwrap\"><div class=\"mxhead\"><div></div><div>Skill gain</div><div>Review needed</div></div><div class=\"mxrow\"><div class=\"mxlabel\">2023</div><div>+38<span class=\"mxchip\" style=\"background:#15884F;color:#fff\">RECORDED</span></div><div>full 12-week program</div></div><div class=\"mxrow\"><div class=\"mxlabel\">2024</div><div>+31<span class=\"mxchip\" style=\"background:#C9820A;color:#fff\">REVIEW</span></div><div>shorter program window</div></div><div class=\"mxrow\"><div class=\"mxlabel\">Comparison</div><div>delta -7</div><div>cause not established<span class=\"mxchip\" style=\"background:#C63E2B;color:#fff\">LIMIT</span></div></div></div><div class=\"cnote\" style=\"color:#C9820A;margin-left:0\"><span class=\"plus\">+</span><strong>Next check:</strong> Find a compatible follow-up window and review participant mix. The comparison remains unresolved.</div>", "reportFlags": "<div class=\"flagrow\" style=\"border-left-color:#C9820A\"><span class=\"flagtag\" style=\"color:#C9820A;background:#FBF0DA\">REVIEW</span><div class=\"flagtxt\">Different program windows may affect the comparison. The available information does not show how much.</div></div><div class=\"flagrow\" style=\"border-left-color:#C63E2B\"><span class=\"flagtag\" style=\"color:#C63E2B;background:#FCE9E7\">LIMIT</span><div class=\"flagtxt\">The observed difference is -7 points. It does not establish that delivery improved or worsened.</div></div>", "lpTitle": "Comparison brief · evidence and limits", "lpSub": "Fictional workforce example · an inspectable comparison", "summaryBefore": "Observed difference: -7 points. Timing and other group differences need review before interpreting why.", "summaryAfter": "Review remains open. An appropriate follow-up window and evidence about group composition may support a more informative comparison." }; var phase = 1; var tabsEl = document.getElementById('tabs'); var bodyEl = document.getElementById('body'); var promptEl = document.getElementById('promptTxt'); function renderTabs(){ tabsEl.innerHTML = ''; TABS.forEach(function(label, i){ var b = document.createElement('button'); b.type = 'button'; b.className = 'tab' + (i === phase ? ' on' : ''); b.innerHTML = '<span class="num">' + (i+1) + '</span><span>' + label + '</span>'; b.addEventListener('click', function(){ phase = i; render(); }); tabsEl.appendChild(b); }); } function renderBody(){ var c = CONTENT[phase]; var eyebrowClass = (phase===2) ? 'eyebrow g' : 'eyebrow'; var out = '<div class="' + eyebrowClass + '">' + c.eyebrow + '</div><div class="headline">' + c.headline + '</div><p class="lede">' + c.lede + '</p>'; if (phase === 0) { out += '<div class="rows">' + BODIES.setup + '</div>'; } else if (phase === 1) { out += BODIES.build; out += '<div class="csummary"><div class="t"><b>' + BODIES.summaryBefore + '</b></div></div>'; } else if (phase === 2) { out += BODIES.fix; out += '<div class="csummary"><div class="t"><b>' + BODIES.summaryAfter + '</b></div></div>'; } else { out += BODIES.reportFlags; out += '<div class="lp"><span class="ic">&#128196;</span><div class="rt"><div class="n">' + BODIES.lpTitle + '</div><div class="s">' + BODIES.lpSub + '</div></div><span class="open">Open &rarr;</span></div>'; } bodyEl.innerHTML = out; promptEl.textContent = c.prompt; } function render(){ renderTabs(); renderBody(); } render(); })(); </script> </body> </html>
Sopact Academy · Course review

Academy / Membership & networks / Deep dive

Practical Academy guide

How Do You Compare Two Cohorts Fairly?

Compare two cohorts by checking who is included, what was measured, when it was measured and how complete the evidence is before interpreting the difference. A common data dictionary helps establish compatible definitions. It does not remove differences in participants, delivery or opportunity to achieve the outcome.

Additional course links

This lesson produces a comparison brief: the result, reporting bases, known differences and a conclusion the evidence can support. Use it for training groups, service locations, member activities or other groups only where the intended comparison makes sense.

For the membership course’s optional benchmark extension, use this method to check the definitions, reporting bases and missing evidence before comparing groups. A difference alone does not explain its cause. Bring these checks back to the lesson 4 exercise; keep individual-member responses separate from member-organization returns.

Name the comparison and the decision

Are you describing this year’s results, deciding where support is needed or asking whether a program change caused an improvement? These are different questions and require different evidence.

Write the group definitions and review date. An intake cohort is not automatically the same population as the people who completed the program or answered follow-up. Keep exclusions and missing observations visible rather than changing the group halfway through the analysis.

Check measurement before calculating a difference

CheckQuestion to resolve
Outcome definitionDoes the result mean the same thing in both groups?
Unit and denominatorAre you counting people, episodes or events, and who is eligible?
TimingDid both groups have a comparable observation window and opportunity?
InstrumentDid wording, response options, assessment criteria or collection mode change?
CoverageWho has usable evidence and who is missing?
Delivery and contextWere there relevant differences in support, setting or participant characteristics?

A percentage accounts for its stated denominator; it does not automatically make two groups comparable. Dividing an outcome by program length is not a general solution either. Some outcomes develop unevenly, and a shorter follow-up window may answer a different question.

Work through a composition example

The following figures are fictional. Two cohorts use the same application criterion and review point. The only two categories in this simplified example are prior experience at entry and no prior experience.

GroupPrior experienceNo prior experienceOverall
Cohort A9 of 10 meet the criterion: 90%4 of 10 meet it: 40%13 of 20: 65%
Cohort B18 of 20 meet the criterion: 90%4 of 10 meet it: 40%22 of 30: about 73.3%

The overall percentage is higher in B, but the percentage within each experience category is unchanged. B contains a larger share of people with prior experience. Calling the overall difference a demonstrated improvement in delivery would miss what the table shows.

This example illustrates one known composition difference. In real data, there may be other differences, incomplete evidence and uncertainty. Matching one category does not prove that all relevant explanations have been addressed.

Keep useful shared profile fields without imposing one survey

Different locations can use local questions while collecting the few shared fields needed for a justified comparison. In the example, prior experience has a defined meaning at entry. It should not be replaced later by someone’s experience after the program.

Reuse suitable registration information and retain its timing. Define categories and missing states in the dictionary. Collect a characteristic only when it serves an appropriate purpose; more personal information is not automatically a better comparison.

Keep incompatible measures separate. If one location records self-confidence and another observes task performance, a shared field name cannot turn those into the same outcome. Explain the difference instead of manufacturing a conversion.

Distinguish comparison problems

A changed question can create a measurement difference. Missing follow-up can change who is represented. Different entry characteristics can affect the group result. A change in delivery may be part of the explanation you want to investigate. Do not call all of these one generic “confound” and assume a single adjustment fixes them.

List the relevant differences you know, the source for each and what remains unknown. Do not ask AI to name every possible factor or claim its direction without evidence. The purpose is to make the comparison inspectable, not to produce an exhaustive-looking list.

For a causal question, choose an evaluation design and analysis appropriate to that question. A descriptive table, a linked record or a list of caveats does not by itself establish that the program caused the difference.

Review coverage alongside the result

If one cohort has follow-up for nearly everyone and the other has follow-up for only part of the group, show that difference. Compare the eligible count, usable observations and missing states. Where appropriate, investigate what is known about the people missing from the evidence without inventing their outcomes.

Distinguish a comparison of different cohorts from change within the same people. Both can be useful, but their denominators and interpretations differ. A matched pre/post analysis should explain who has the required observations and who was excluded.

Make the analysis reproducible and useful

Save the group definitions, observation window, data snapshot, measure version and calculation. Keep the source records available to authorized reviewers. If a later correction changes a numerator or denominator, explain the change rather than presenting it as a new program effect.

In Sopact, continuing records and shared definitions can help assemble and inspect these inputs. AI can assist with a proposed comparison summary and evidence gaps. The team still decides whether the measures can be combined and what the result supports; the platform should not be treated as automatically correcting every design difference.

Write the conclusion at the right strength

For the fictional table, a suitable conclusion is: “A larger share of Cohort B met the application criterion. The rates within the two prior-experience categories were unchanged, and the cohorts had different experience mixes.”

That conclusion explains the finding and suggests a next question. It does not declare one cohort better or one delivery approach more effective. An operational decision might be to review support for learners without prior experience, while retaining the limits of the evidence.

Your exercise

  1. Define two groups and the decision the comparison should inform.
  2. Check the outcome, unit, timing, instrument and coverage.
  3. Record one known difference and its evidence.
  4. Calculate the result with explicit denominators.
  5. Write what the comparison supports and what it does not.
  6. Identify the next evidence or analysis needed for a stronger question.

Frequently asked questions

How do I compare outcomes between two cohorts?

Start with compatible measures, explicit group definitions and observation windows. Show denominators and coverage, inspect relevant differences and interpret the result according to the evidence and design.

Can I normalize for cohort size and program length?

A rate can address a particular count denominator. There is no universal adjustment for program length or participant mix. Choose a method suited to the outcome and explain its assumptions.

Why is a raw difference not proof of improvement?

The groups may differ in composition, measurement, follow-up or other conditions. A raw difference describes what was observed; explaining why it occurred requires further evidence.

Return to Membership & networks · Lesson 4: Build a useful member benchmark →

Put this guide into practice.

Start with a decision your team needs to make. Decide what information belongs together, how you will check it, and who is responsible for acting.

See context in action →
Prepare Data Governance Before Using AI
Prepare your data governance
nonprofit-data-governance-before-ai
Feedback
Foundation
Prepare an evidence register and a tested governance baseline before applying AI to program data.
How to Turn Findings into Action and Check What Changes
The Loop — the method in one read
the-loop
Loop
The method
0
One continuous method for reliable, traceable AI reporting across case, application, grant, and program workflows: collect clean, analyze on arrival, and improve in time.
For growing data collection, connected analysis and recurring reporting
What Is Case Intelligence?
What Is Case Intelligence?
what-is-case-intelligence
Case
Foundation
1
One current, traceable record for each person—connecting intake, services, notes, surveys, documents, outcomes, decisions, and follow-up.
Workforce and training · Youth and mentoring · Case management · Scholarships · Accelerators · Education · Nonprofit programs
What is grant intelligence?
What Is Grant Intelligence?
what-is-grant-intelligence
Grant
Foundation
1
One connected evidence record from application and committee review through the awarded grant, grantee reporting, renewal, and board accountability.
Foundations and grantmakers · Public grant programs · Scholarships and fellowships · Accelerators
Connected Data Intelligence
Understand the approach
connected-data-intelligence
Feedback
Foundation
1
Connect recurring collection, relevant history, AI analysis, and governance in a workflow your team can maintain.
Growing organizations managing recurring data collection without a dedicated data team.
Measurement and Reporting: From Agreement to Evidence-Based Report
Measurement and reporting: from agreement to report
embedded-impact-measurement
Reporting
Start here
1
Turn the onboarding call into a reporting agreement, share one data dictionary, and write reports funders can compare and check.
For funders and the organizations they fund
Connect company context before collecting another return
Connect context
track-investees-impact-agreement-variance
Portfolio
Portfolio intelligence tools
1
Build a repeatable collect, review and improve cycle
Methodology — continuous, not annual
loop-methodology
Loop
The method
1
The continuous collect–analyze–improve cycle, adopted as an experiment: start with the step that already pays and add one data-collection step at a time.
Teams tired of rebuilding spreadsheets and forms who want a measurement system that compounds instead of resetting.
Agree the theory of change and core metrics on the onboarding call
Agree measures
onboard-portfolio-lock-impact-agreement-track-results
Portfolio
Portfolio intelligence tools
2
Test whether an AI-assisted result is repeatable and correct
Reliability — test repeatability and accuracy
loop-reliability
Loop
The method
2
Test repeatability and accuracy using versioned data, defined calculations, known-answer checks and human review of qualitative interpretation.
Teams that need to check recurring AI-assisted analysis before using it in decisions or reports.
Design an application process around the decision, not the form
Design an Application Process
how-to-design-an-application-process
Grant
Foundation
2
How to Structure Stakeholder Data: Four Common Patterns
Choose your record structure
which-shape-is-your-data
Feedback
Foundation
2
Map the people, observations and relationships your workflow needs before collecting data.
Turn the onboarding call into a reporting agreement
Turn the onboarding call into a reporting agreement
onboarding-call-to-reporting-agreement
Reporting
Agree together
2
How to build a theory of change, then show it as a logic model, logframe or results framework
How to build a theory of change, then show it as a logic model, logframe or results framework
how-to-build-a-theory-of-change
Reporting
Agree together
3
How to Build a Logic Model: Steps, Example and AI Prompt
Build a Logic Model You Can Use
how-to-build-a-logic-model
Reporting
Align
3
How do you onboard a grant or RFP program?
Onboard a Grant or RFP Program
how-to-onboard-a-grant-rfp-program
Grant
Foundation
3
Turn your theory of change into a data-collection plan
Turn a Theory of Change into a Data-Collection Workflow
theory-of-change-to-data-collection-workflow
Case
Foundation
3
Run quarterly collection around each company's dictionary
Collect quarterly
collect-investee-reporting-without-burden
Portfolio
Portfolio intelligence tools
3
Keep a clear trail from a finding to its evidence
Traceability & Transparency
loop-traceability
Loop
The method
3
Every figure links back to the exact response, note, or document it came from — a full audit trail from headline result to raw evidence.
Teams whose numbers get scrutinized — by funders, boards, auditors, or standards — and who need to answer where did this come from on the spot.
Build Context: What Your AI Needs to Know
Build context
build-organization-evidence-model
Feedback
Foundation
3
How to Change Survey Questions Without Losing Comparability
Change questions with a clear history
change-questions-without-breaking-the-record
Feedback
Control
3
Create a question-change log and decide how old and new versions should appear in reports.
Programme & MEL leads · Teams whose questionnaire has ossified · Anyone evaluating a platform where configuration is a purchased service
Five Dimensions of Impact: How to Review Your Evidence
Use the Five Dimensions to Test the Evidence
five-dimensions-of-impact
Reporting
Align
4
How do you design a grant rubric and eligibility rules?
Design Your Rubric & Eligibility Rules
grant-rubric-eligibility-rules
Grant
Foundation
4
Review impact and financial evidence before it reaches the dashboard
Review and approve
read-investee-reports-multi-signal
Portfolio
Portfolio intelligence tools
4
Adapt the learning cycle to your workflow
Flexibility — one method, four workflows
loop-flexibility
Loop
The method
4
The same collect–analyze–improve cycle, shaped to four kinds of impact work — case, grant, portfolio, and feedback — each shown end to end.
Anyone deciding where the Loop fits their work, who wants to see the full path from messy input to a report they can defend.
How to Collect Feedback Offline and Track the Same People Over Time
Collect offline and reconcile the batch
collect-feedback-offline
Feedback
Connect
4
Build a field protocol and reconcile a test batch across devices, visits and delayed uploads.
Field & multi-site programs · Low-connectivity contexts · Teams collecting in person
How Do You Design an Intake Form for a Baseline?
Design an Intake Form That Captures a Usable Baseline
intake-form-usable-baseline
Case
Nonprofit Track
5
Turn a proposed outcome into a reporting definition
Outcomes vs Outputs
frame-outcomes-over-outputs
Grant
Foundation
5
Plan and review your first workflow pilot
Plan and review your first workflow pilot
loop-guarantee
Loop
The method
5
How to Analyze Documents as Evidence: Sources, Context and Review
Read documents as traceable evidence
read-documents-as-evidence
Feedback
Connect
5
Create a document register and reviewed findings with source locations, context and explicit exceptions.
Check each partner report against the agreement
Check each partner report against the agreement
check-partner-reports-against-agreement
Reporting
Funder road
5
Combine compatible metrics and explain every portfolio total
Build rollups
portfolio-impact-rollups
Portfolio
Portfolio intelligence tools
5
How to Clean Open-Ended Survey Responses Without Losing Meaning
Clean responses and define the denominator
clean-open-ended-survey-responses
Feedback
Clean
6
Create a cleaning log, response-status table and reproducible report statement.
How to Review Participant Support Needs Mid-Program
Spot At-Risk Participants Mid-Program
spot-at-risk-participants-mid-program
Case
Nonprofit Track
6
How to Write a Nonprofit Grant Application: Template and Example
Grant Application for Nonprofits
grant-application-for-nonprofit-organizations
Grant
Foundation
6
Personalize quarterly donor and annual LP reports
Report with evidence
portfolio-lp-board-impact-report
Portfolio
Portfolio intelligence tools
6
How to Build a Funder Context Profile: Research to Reporting
Build a Sourced Funder Context Profile
build-funder-context-profile
Reporting
Align
6
Roll up and benchmark portfolio results
Roll up and benchmark portfolio results
roll-up-and-benchmark-portfolio-results
Reporting
Funder road
6
How Do You Measure Change at Exit?
Measure Change at Exit (Not Just Completion)
measure-change-at-exit
Case
Nonprofit Track
7
How do you collect applications clean at the source?
Collect Applications Clean at the Source
collect-applications-clean-at-source
Grant
Collect
7
Turn portfolio findings into action and test the next cycle
Act and improve
portfolio-risk-monitoring-alerts
Portfolio
Portfolio intelligence tools
7
How to Analyze Multilingual Feedback Without Losing Meaning
Analyze and review multilingual feedback
analyze-multilingual-feedback
Feedback
Clean
7
Build a language review sheet and test software on original responses, translations, codes and reporting bases.
Multi-country programs · Multilingual survey data · Global networks & chapters
How to Define Impact Metrics Your Team and Funder Can Use
Define Measures the Organization and Funder Can Both Use
define-impact-metrics-funders-want
Reporting
Align
7
Write the portfolio report for your board or donors
Write the portfolio report for your board or donors
write-the-portfolio-report
Reporting
Funder road
7
Survey Attrition: How to Track Missing Waves in Longitudinal Studies
Track missing waves and matched outcomes
survey-attrition-longitudinal-studies
Feedback
Read
8
Build a wave-status register, compare response groups and report paired change with coverage and limitations.
How to Use Mentor Notes to Review Participant Support
Use mentor notes for support review
mentor-notes-early-warning
Case
Nonprofit Track
8
How do you reduce applicant burden?
Reduce Applicant Burden
reduce-applicant-burden-auto-clarification
Grant
Collect
8
Impact Metric Definitions: A Practical Worksheet and Example
Give Every Number One Definition
one-definition-for-every-number
Reporting
Define
8
Map every funder's ask to one evidence base
Map every funder's ask to one evidence base
turn-reporting-requirements-into-evidence
Reporting
Funded partner road
8
How to Connect Quantitative and Qualitative Survey Data
Connect scores and comments
connect-quantitative-qualitative-survey-data
Feedback
Read
9
Build a linked analysis view and joint display, with clear groups, reporting bases and evidence limits.
How to Calculate SROI as New Evidence Arrives
Calculate SROI — Live, Sourced, and Honest
calculate-sroi-live
Case
Nonprofit Track
9
How to Collect Grantee Reports with Less Burden
Collect Grantee Reports Without Burden
collect-grantee-reporting-without-burden
Grant
Collect
9
Capture each funder's taste, and your own
Capture each funder's taste, and your own
capture-funder-taste
Reporting
Funded partner road
9
How to Analyze Pre, Mid and Post Survey Data
Analyze pre, mid and post surveys
analyze-pre-mid-post-survey-data
Feedback
Read
10
Build a matched pre/mid/post analysis, interpret score movement and retain clear rules for missing waves.
How to Report a Job-Training Program to Grant Funders
Turn a Cohort into a Funder Impact Report
job-training-grant-impact-report
Case
Nonprofit Track
10
How to Follow Up on Missing Grantee Data
Chase Missing Grantee Data
chase-missing-grantee-data
Grant
Collect
10
How to Collect Clean Data Inside Your Workflow
Collect Clean Evidence Inside the Workflow
collect-clean-data-at-the-source
Reporting
Embed
10
Write each funder's report with AI, then check it
Write each funder's report with AI, then check it
assistant-writes-the-funder-report
Reporting
Funded partner road
10
Draft from approved sources, check the claims, and save an accountable report version. Bring the brief from the previous lesson.
Program managers, grant leads and reporting teams
How to Analyze Longitudinal Survey Data
Analyze longitudinal survey data
analyze-longitudinal-survey-data
Feedback
Read
11
Build a continuing analysis record with clear time scales, observed trajectories and limits.
How to Turn a Job Description into a Requirements Checklist
Clarify employer requirements
job-description-requirements-checklist
Case
Social Enterprise Track
11
Review applications without reviewer bias: one rubric, read on arrival, people decide
Review Without Reviewer Bias
review-applications-without-reviewer-bias
Grant
Analyze
11
How to Keep Impact Reporting Numbers Consistent
Get Stable Results From Governed Data
same-numbers-every-time
Reporting
Read
11
Compare your results with outside data: live queries and public datasets
Compare your results with outside data: live queries and public datasets
compare-with-outside-data
Reporting
Toolkit
11
How do you analyze a batch of grant applications?
Analyze a Whole Round
how-to-analyze-a-batch-of-grant-applications
Grant
Analyze
12
How to Measure Outcome Duration and Drop-Off
Measure outcome duration and drop-off
measure-outcome-duration-drop-off
Feedback
Read
12
Build a dated outcome claim, distinguish missingness from outcome loss and test forecast assumptions.
How to Score Candidate–Role Matches with a Clear Rubric
Review candidate–role evidence
score-candidate-role-matches-without-bias
Case
Social Enterprise Track
12
Make every number in your report match its source
Make every number in your report match its source
where-every-number-came-from
Reporting
Toolkit
12
How to Report Job Placements to Impact Investors
Turn a Cohort into a Social-Enterprise Investor Report
job-placement-investor-impact-report
Case
Social Enterprise Track
13
How do you track reviewer conflicts of interest?
Track Reviewer Conflicts of Interest
track-conflicts-of-interest-audit
Grant
Analyze
13
How to Write a Donor Report: Format, Evidence and Example
Design a Report for a Real Funding Decision
donor-report-funders-trust
Reporting
Decide
13
Build a report brief and claim-and-evidence table before drafting. Explain delivery, outcomes, spending, limitations and next actions.
Program managers, grant leads and reporting teams
How to put a credible dollar value on your results
How to put a credible dollar value on your results
credible-dollar-value-on-impact
Reporting
Toolkit
13
Prepare a valuation brief. Decide what the evidence supports, what needs more work, and when an outcome account is enough.
Program, evaluation and investment teams considering social-value estimates
AI Data Access Controls: What Your Assistant May See
Control what the assistant can access
what-the-assistant-may-see
Feedback
Prove
13
Define task-specific access, test synthetic records and verify report-sharing boundaries.
How to calculate the SROI ratio, step by step: value map, financial proxies and adjustments
How to calculate the SROI ratio, step by step: value map, financial proxies and adjustments
how-to-calculate-the-sroi-ratio
Reporting
Toolkit
14
Build a reproducible SROI calculation, test its assumptions and explain the result in a reviewed report.
Evaluation and reporting teams reviewing an SROI calculation
How to Write an Evidence-Based Impact Narrative for a Funder Report
Write a cited impact narrative
impact-narrative-funder-report-cited
Feedback
Prove
14
Build and check a report paragraph using a claim-and-source table, appropriate quotations and clear limitations.
How Do You Read a Grantee Report?
Read a Grantee Report
read-grantee-report-multi-signal
Grant
Analyze
14
How Do You Compute Grantee Variance?
Compute Grantee Variance
how-to-compute-grantee-variance
Grant
Analyze
15
Keep a person’s history connected across programs and staff changes
Follow one person over time
one-person-followed-for-years
Feedback
Shapes
15
Build a participant record that preserves episodes, dates, versions and missingness across repeated collection.
How Do You Build an SROI Value Map?
Build an SROI Value Map
how-to-build-an-sroi-value-map
Reporting
Optional method
16
Build a first value map, keep missing evidence visible, and give each unresolved outcome a next action.
Evaluation, program and investment teams preparing an SROI analysis
How do you track budget, invoices and actual spend for a grant?
Track Budget vs Actual Spend
how-to-track-budget-invoices-actual-spend
Grant
Analyze
16
Multi-Rater Feedback: Connect Perspectives and Protect Context
Connect several perspectives on one person
several-people-describing-one-person
Feedback
Shapes
16
Design subject-rater relationships, reporting rules and a tested multi-perspective feedback record.
How Do You Pick a Financial Proxy for SROI?
Pick a Defensible Financial Proxy
how-to-pick-a-financial-proxy-for-sroi
Reporting
Optional method
17
Compare candidate valuation sources and document why one fits your outcome, stakeholder and reporting period.
Evaluation and reporting teams selecting financial proxies
How Do You Analyze Grantee Reporting Longitudinally?
Analyze Grantee Reporting Over Time
analyze-grantee-reporting-longitudinal
Grant
Analyze
17
Cross-Program Reporting: Combine Results Without Losing Meaning
Combine evidence across programs
many-programs-one-picture
Feedback
Shapes
17
Build a defensible cross-program result with comparable measures, correct denominators and documented exclusions.
How to read Form 990 for a grant review
Read a 990 for Compliance
how-to-read-a-990-for-compliance
Grant
Analyze
18
Pick One Question. Keep Every System You Have.
Run a member-network survey
member-network-survey
Feedback
Shapes
18
Design and test a member reporting cycle with continuing records, coverage checks and authorized results.
Ask your whole grant round anything (Assistant + MCP)
Ask Your Whole Grant Round Anything
ask-your-grant-round-anything
Grant
Analyze
19
How do you build a grant audit trail?
Build a Grant Audit Trail
grant-audit-compliance-trail
Grant
Communicate
20
How do you produce grant compliance and regulatory reports?
Produce Compliance Reports
grant-compliance-regulatory-reports
Grant
Communicate
21
How Do You Roll Grantees Into a Board Report?
Roll Grantees Into a Board Report
roll-grantees-funder-board-report
Grant
Communicate
22
How Do You Build Grant Dashboards and Maps?
Grant Dashboards & Maps
grant-dashboards-geographic-mapping
Grant
Communicate
23