play icon for videos
← Academy
SOPACT ACADEMY · AI SKILLS

How Do You Build a Results Framework?

Describe your program and Sopact Sense maps the results framework — strategic objective to intermediate results to sub-IRs — grading each with its baseline indicator and flagging the results that don't ladder up.

<!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">&#128200;</span> <div class="t"> <div class="n">Vista Workforce Collaborative · Results Framework</div> <div class="s">DEMO-01 · Sopact Sense · Framework Builder</div> </div> <span class="pill"><span class="d"></span>Building</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", "Build", "Fix", "Report"]; var CONTENT = [{"eyebrow": "Step 1 · Describe the program", "headline": "The input is your description, nothing else", "lede": "Use only what the program states — anything inferred gets marked, never invented.", "prompt": "You are the Sopact Sense Assistant. Here is my program description: [PASTE PROGRAM DESCRIPTION]. Use only what it states; mark anything you infer as [INFERRED]. Wait for my task."}, {"eyebrow": "Step 2 · Map the results framework", "headline": "Strategic Objective down to Sub-IRs", "lede": "Every level is graded <strong style=\"color:#15884F\">green</strong>, <strong style=\"color:#C9820A\">amber</strong>, <strong style=\"color:#C63E2B\">red</strong> — results that don't ladder up and missing baselines get flagged.", "prompt": "Map a Results Framework for [PROGRAM]: one Strategic Objective, 3–5 Intermediate Results, and Sub-IRs, each with a baseline / target indicator. Flag any result that doesn't ladder up and any missing baseline. Use only what the program states; mark anything inferred [INFERRED]. Grade every element green / amber / red."}, {"eyebrow": "Step 3 · One-fix follow-up", "headline": "Ladder the orphan result", "lede": "The lowest-graded element gets one realistic fix — the single edit that moves it toward green.", "prompt": "Take the lowest-graded element above and fix it using only what the program could realistically measure. Show the before → after grade and the single indicator/edit that moves it to green."}, {"eyebrow": "Step 4 · Missing & incomplete report", "headline": "Every gap becomes one named ask", "lede": "Every amber or red item becomes one named ask — the report leads with the decision it informs.", "prompt": "Create a 'missing & incomplete' report from this analysis in Sopact branding [or paste your website URL / brand guideline to apply your own]. List every element graded amber or red, what is missing, and the one input that fixes each. Lead with the decision this report informs."}]; var BODIES = { setup: "<div class=\"row\"><span class=\"emoji\">&#128221;</span><div class=\"rt\"><div class=\"n\">Program description</div><div class=\"s\">Vista Workforce Collaborative — 12-week coding bootcamp, ~60 adults/cohort</div></div><span class=\"pillsm\">Pasted</span></div><div class=\"row\"><span class=\"emoji\">&#127919;</span><div class=\"rt\"><div class=\"n\">Results Framework structure</div><div class=\"s\">Strategic Objective → 3–5 Intermediate Results → Sub-IRs</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 [INFERRED]</div></div><span class=\"pillsm gray\">Required</span></div>", build: "<div class=\"mxwrap\"><div class=\"mxhead\"><div></div><div>Indicator</div><div>Sub-IR</div></div><div class=\"mxrow\"><div class=\"mxlabel\">IR1 · Job-ready skills</div><div>Completion rate set — but &#x27;mentoring builds confidence&#x27; is unmeasured<span class=\"mxchip\" style=\"background:#C9820A;color:#fff\">AMBER</span></div><div>Curriculum matches employer demand</div></div><div class=\"mxrow\"><div class=\"mxlabel\">IR2 · Secure employment</div><div>6-month placement = 71%, verified (baseline set)<span class=\"mxchip\" style=\"background:#15884F;color:#fff\">GREEN</span></div><div>Employer partnerships active</div></div><div class=\"mxrow\"><div class=\"mxlabel\">IR3 · Sustained employment</div><div>Wage growth — no baseline / target<span class=\"mxchip\" style=\"background:#C63E2B;color:#fff\">RED</span></div><div>Ongoing alumni support — doesn&#x27;t ladder up</div></div></div>", fix: "<div class=\"mxwrap\"><div class=\"mxhead\"><div></div><div>Indicator</div><div>Sub-IR</div></div><div class=\"mxrow\"><div class=\"mxlabel\">IR1 · Job-ready skills</div><div>Completion rate set — but &#x27;mentoring builds confidence&#x27; is unmeasured<span class=\"mxchip\" style=\"background:#C9820A;color:#fff\">AMBER</span></div><div>Curriculum matches employer demand</div></div><div class=\"mxrow\"><div class=\"mxlabel\">IR2 · Secure employment</div><div>6-month placement = 71%, verified (baseline set)<span class=\"mxchip\" style=\"background:#15884F;color:#fff\">GREEN</span></div><div>Employer partnerships active</div></div><div class=\"mxrow\"><div class=\"mxlabel\">IR3 · Sustained employment</div><div>Wage growth — no baseline / target<span class=\"mxchip\" style=\"background:#15884F;color:#fff\">GREEN</span></div><div>Link it to IR3 (sustained employment) and set a baseline / target</div></div></div><div class=\"cnote\" style=\"color:#15884F;margin-left:0\"><span class=\"plus\">+</span><strong>Fix applied:</strong> Link it to IR3 (sustained employment) and set a baseline / target</div>", reportFlags: "<div class=\"flagrow\" style=\"border-left-color:#C9820A\"><span class=\"flagtag\" style=\"color:#C9820A;background:#FBF0DA\">AMBER</span><div class=\"flagtxt\">IR1 — completion rate is set, but the mentoring-builds-confidence claim is unmeasured.</div></div><div class=\"flagrow\" style=\"border-left-color:#C63E2B\"><span class=\"flagtag\" style=\"color:#C63E2B;background:#FCE9E7\">RED</span><div class=\"flagtxt\">IR3 — wage growth has no baseline or target, and its sub-IR (ongoing alumni support) doesn&#x27;t ladder up to any IR.</div></div>", lpTitle: "Missing & incomplete report · shareable link", lpSub: "Decision-first · Sopact branding · Vista Workforce Collaborative · Results Framework", summaryBefore: "Grade: 1 green &middot; 1 amber &middot; 1 red. One orphan, one missing baseline.", summaryAfter: "Grade: 2 green &middot; 1 amber &middot; 0 red. One link closed the orphan." }; 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>

In short: One prompt now builds a funder-ready results framework from nothing but what a program publicly states. It names the decision the reader must make, arranges the program as a hierarchy — one Strategic Objective, a handful of Intermediate Results, Sub-IRs beneath them — grades every result by evidence, flags the results that don't ladder up and the indicators with no baseline, and ends with a prioritized plan. Below, we run it on a real public page and walk through what each part of the prompt produces.

What is a results framework, and who asks for one?

A results framework is the hierarchy USAID and similar funders ask for: it shows how a program's lower-level results add up to its top aim — one Strategic Objective, several Intermediate Results that must each occur to reach it, and Sub-IRs beneath those, every level carrying a baseline-and-target indicator. Most results frameworks fail two ways: a result that doesn't ladder up to anything above it, or an indicator with a target but no baseline to judge it against.

The prompt below turns that logic into a complete audit. It reads only what your program states publicly, grades every result Green, Amber, or Red, flags the orphans and the missing baselines, and tells you the one result to fix this quarter. We ran it on The Lantern Network's public mentoring-program page — the sections that follow show the prompt for each part, then what came back.

1 · Name the decision, then run one prompt

Every grade depends on who is reading. A board sees "87% placed" as a headline; a renewing funder asks what evidence sits behind each result, and whether every result actually rolls up to the objective. So the prompt's first instruction is a decision frame: before building anything, state in one line who would use this results framework and for what decision. For Lantern, that came back as a corporate sponsor deciding whether to renew its grant. Every judgment below is made from that reader's chair.

Here is the full prompt. Paste it whole, swap in your program name and source, and Sense produces all four parts in one pass:

Build a Results Framework for [PROGRAM NAME] using only what the program publicly states at [SOURCE — URL or pasted program description]. Before building, state in one line who would use this framework and for what decision — then make every judgment from that reader's perspective. PART 1 — Map the hierarchy: one Strategic Objective, 3–5 Intermediate Results that must each occur to reach it, and the Sub-IRs beneath them. Give every level a baseline-and-target indicator. Flag any result that doesn't ladder up to the level above, and any indicator with no baseline. Color every element: GREEN = specific AND evidenced, with a baseline; AMBER = stated but vague, or a target with no baseline; RED = missing, doesn't ladder up, or exists only as [INFERRED]. Tag anything not explicitly stated as [INFERRED]. Include a legend, program name, source URL, and date. PART 2 — One row per result: Result | Level (SO / IR / Sub-IR) | Grade | Baseline & Target (or "none") | one measurable indicator that would test it, phrased so the program could actually collect it (who is measured, what changes, by when). PART 3 — List every orphan result and every AMBER and RED element, ranked by how much the framework depends on it. For each: why it is weak in one sentence, what claim collapses if it fails, and whether the fix is a program-design problem or a measurement gap. PART 4 — The top 3–5 fixes, in priority order for the decision named above. For each: current language (or "missing") → proposed rewrite, plus the single data collection step that would move it toward green. CLOSING SUMMARY — 3–4 sentences: overall strength of the results logic, the weakest link a skeptical funder would attack first, and the one action to take this quarter. RULES — Source fidelity is absolute: never invent program content; if the source does not say it, mark it RED or [INFERRED]. Every green grade must be traceable to specific source language.

Example source: https://www.lanternnetwork.org/mentoring-program. The rules do the heavy lifting — no invented content, every green traceable to a quote and a baseline. The hierarchy is the claim; the table in Part 2 is its evidence trail.

2 · Part 1 — the results hierarchy

Map the hierarchy: one Strategic Objective, 3–5 Intermediate Results, and Sub-IRs beneath them, each with a baseline-and-target indicator. Flag any result that doesn't ladder up and any indicator with no baseline. Color every element green, amber, or red. Tag anything not explicitly stated as [INFERRED]. Include a legend, program name, source URL, and date.

Two disciplines make this different from a wish-list of outcomes. First, every result must ladder up: each Sub-IR rolls into an IR, each IR into the objective — anything that doesn't connect is flagged as an orphan. Second, no result is judged without a baseline: a target with nothing to measure against earns an amber at best. For Lantern, the pattern was immediate — the employment IR is concrete and baselined (288 mentees, 251 internships, 87% placed) while the sustained-outcome results past placement rest on three testimonials with no baseline at all.

The rubric is strict on purpose. Green means specific, evidenced, and baselined ("87% secured internships, jobs, or promotions"). Amber means stated but vague, or a target with no baseline. Red means missing, doesn't ladder up, or exists only as [INFERRED].

GRADE: green | employment IR | 87% placed, 251 internships — baselined, ladders up; amber | confidence sub-IR | claimed in three stories, no baseline; red | sustained-outcome IR | no baseline, and an orphan sub-IR that doesn't ladder up

3 · Part 2 — the indicator & baseline table

For every result, produce one row: Result | Level (SO / IR / Sub-IR) | Grade | Baseline & Target (or "none") | one measurable indicator that would test it, phrased so the program could actually collect it — who is measured, what changes, by when.

This table is the evidence trail behind the hierarchy — one row per result, so nothing in the ladder floats free of a baseline. The indicator column is the practical payoff: each is phrased so the program could actually collect it. For Lantern's weakest result — the sustained-outcome IR — the baseline column reads "none: no follow-up past first placement," and the indicator that would fix it is "share of placed mentees still employed at 12 and 24 months, same mentees tracked by ID." That's not a critique; it's a work order.

4 · Part 3 — the weak-link diagnosis

List every orphan result and every amber and red element, ranked by how much the framework depends on it. For each: (a) why it is weak in one sentence, (b) what claim collapses if it fails, (c) whether the fix is a program-design problem or a measurement gap — these require different responses.

The ranking is by dependence, not level — the question is which weakness takes the most down with it. Lantern's number one wasn't its red impact claims; it was the missing baseline under the sustained-outcome IR: with no follow-up past placement, the whole top of the ladder rests on the 87% number alone. An orphan sub-IR — ongoing alumni support that connects to no IR — came second.

The design-versus-measurement tag matters just as much. A measurement gap means the result plausibly holds but has never been baselined — the fix is data collection. A design problem means a result genuinely connects to nothing — the fix is re-linking or removing it. Lantern's diagnosis came back mostly measurement gaps, plus one orphan to re-link.

5 · Part 4 — the improvement plan

Give the top 3–5 fixes, in priority order for the decision named above. For each: show the current language (or "missing") → a proposed rewrite, plus the single data collection step that would move it toward green.

Each fix is a before-and-after pair. Lantern's first: the sustained-outcome IR, currently a target with "no baseline," gets a stated baseline and target — "X% of placed mentees still employed at 12 months" — fed by a single data step: a short follow-up survey against a persistent participant ID. Fixes two through five follow the same shape: re-link the orphan alumni sub-IR to the employment IR, baseline the confidence sub-IR, and publish the denominator behind the 87%.

6 · The closing summary — one action this quarter

Close with 3–4 sentences: the overall strength of the results logic, the weakest link a skeptical funder would attack first, and the one action to take this quarter.

The summary is the executive read. Lantern's verdict: the framework is strong at its employment IR and unproven above it — the objective and its sustained-outcome results carry targets with no baselines, and one sub-IR ladders up to nothing. The one action this quarter: baseline the sustained-employment result with a 12-month follow-up against a persistent participant ID, so next year's renewal case rests on tracked results rather than three stories.

Take the prompt with you. The full prompt pack — the master prompt plus each part as a standalone prompt you can run separately — is available to download: Download the Results Framework prompt pack.

Tricks, tips, and troubleshooting

Every result must ladder up. The defining test of a results framework is that each sub-IR rolls into an IR, and each IR into the objective. Ask Sense to flag any result that doesn't connect — an orphan result is the most common reason a framework reads as incoherent.

No baseline, no IR. An intermediate result with a target but no baseline can't be judged. Ask Sense which results are missing a baseline and to suggest one the program could realistically collect.

Turn one result green per cycle. Fix the reddest result with the one indicator Sense suggests, collect it next cycle, and re-run the framework.

Tighten your program page while you're here. Once Sense has graded the framework, ask it to bring your public claims in line with your evidence:

Based on the grades above, suggest edits to my program page so its claims match the evidence. Flag every sentence that overstates what we can show, and rewrite it to be accurate and specific.

The same prompt works for a Theory of Change, Logic Model, or Logframe — swap the framework name and keep the parts, rubric, and rules unchanged.

Frequently asked questions

What is a results framework in M&E?

A results framework is a hierarchy used in monitoring and evaluation that shows how a program's lower-level results add up to its top-level aim: one Strategic Objective, several Intermediate Results that must each occur to achieve it, and Sub-IRs beneath those — every level carrying a baseline-and-target indicator. It's favored by USAID and similar funders for showing the logic of “what leads to what.”

What's the difference between a results framework and a logframe?

A results framework shows the hierarchy of results — how sub-results ladder up to intermediate results and to the strategic objective. A logframe is a 4×4 matrix that adds indicators, means of verification, and assumptions for each level. The results framework answers “what leads to what”; the logframe adds “how we'll measure and what must hold true.” Many funders ask for both.

How do you build a results framework with AI?

Describe your program and ask the AI to map one strategic objective, three to five intermediate results, and their sub-IRs, each with a baseline-and-target indicator, then flag any result that doesn't ladder up and any missing baseline. In Sopact Sense this takes minutes and stays grounded only in what your program states, grading each element so the unlinked results and gaps are obvious.

Ready to try it for yourself?

ChatGPT, Claude, and Gemini are fine for a quick test — but not for an answer you'll put in front of a funder or board. When it has to hold up, run it in Sopact Sense.

Try it in Sopact →
The Loop
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.
Teams running cases, applications, grants, or programs that need AI-assisted reporting they can reproduce, trace to source evidence, and act on before the cycle ends.
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
What Is Portfolio Intelligence?
What Is Portfolio Intelligence?
what-is-portfolio-intelligence
Portfolio
Strategy
1
A source-linked portfolio view that connects each investee or grantee's agreed plan, reporting cadence, evidence, risks, and results.
Impact funds and investors · Foundations with grant portfolios · Family offices · Blended-finance vehicles
What Is Connected Data Intelligence?
What Is Connected Data Intelligence?
connected-data-intelligence
Feedback
Foundation
1
Keep evidence from surveys, files, notes, documents, systems, sites, and reporting periods connected to one continuing record.
Multi-program nonprofits · Member and chapter networks · Research associations · Training and coaching teams · Organizations with scattered evidence
What Is Impact Measurement and Reporting?
What Is Impact Measurement and Reporting?
embedded-impact-measurement
Reporting
Align
1
Define intended change, align organization and funder context, govern measures, interpret evidence, and produce traceable reports for decisions.
Program and impact teams · MEL leads · Funders and donors · Foundations · Impact funds · Organizations building rigorous impact reports
The Loop Methodology
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.
How to Build a Theory of Change with AI: Prompts, Workflow & Examples
Build a Theory of Change You Can Test
how-to-build-a-theory-of-change
Reporting
Align
2
How Do You Onboard a Portfolio and Track Results?
Onboard a Portfolio & Lock the Impact Agreement
onboard-portfolio-lock-impact-agreement-track-results
Portfolio
Data Dictionary
2
The Loop: Reliability
Reliability — the same answer twice
loop-reliability
Loop
The method
2
Determinism as a feature: the same question over the same data returns the same answer every run — the opposite of a generic AI chat that drifts.
Anyone who has watched a general AI tool give two different numbers for the same question and needs results they can stand behind.
How to Design a Fair Application and Selection Process
Design an Application Process
how-to-design-an-application-process
Grant
Foundation
2
Which Shape Is Your Data?
Which shape is your data?
which-shape-is-your-data
Feedback
Foundation
2
How Do You Build a Logic Model?
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
Theory of Change to Data Collection: A Four-Step Workflow
Turn a Theory of Change into a Data-Collection Workflow
theory-of-change-to-data-collection-workflow
Case
Foundation
3
How Do You Map Portfolio Data to IRIS+, GRI, and ESRS?
One Data Dictionary & Standards Mapping (IRIS+ / GRI / ESRS / CSRD)
portfolio-data-dictionary-standards-mapping
Portfolio
Chapters
3
The Loop: Traceability & Transparency
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.
How Do You Change a Question Without Breaking the Record?
Change questions without breaking the record
change-questions-without-breaking-the-record
Feedback
Control
3
Versioning questions and rules so a programme team can improve the instrument mid-cycle without silently breaking the trend line.
Programme & MEL leads · Teams whose questionnaire has ossified · Anyone evaluating a platform where configuration is a purchased service
What Are the IMP Five Dimensions of Impact?
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
How Do You Frame Portfolio Outcomes Over Outputs?
Frame Outcomes Over Outputs at Portfolio Level
frame-outcomes-portfolio-level
Portfolio
Chapters
4
The Loop: Flexibility
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 Do You Collect Feedback Offline and in the Field?
Collect Feedback Offline & in the Field
collect-feedback-offline
Feedback
Connect
4
Capturing stakeholder feedback where there's no connectivity and syncing each answer to one continuing record — so field and multi-site programs keep a single identity from intake to endline.
Field & multi-site programs · Low-connectivity contexts · Nonprofits 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
What's the Difference Between Outcomes and Outputs?
Outcomes vs Outputs
frame-outcomes-over-outputs
Grant
Foundation
5
How Do You Do Pre-Investment Due Diligence?
Pre-Investment Due Diligence & Screening
pre-investment-due-diligence-screening
Portfolio
Chapters
5
The Loop Guarantee
The Guarantee — first workflow in 2 months
loop-guarantee
Loop
The method
5
How Do You Build an Organization Evidence Model?
Build the Organization Evidence Model
build-organization-evidence-model
Reporting
Align
5
How Do You Use Documents as Evidence?
Read documents as evidence
read-documents-as-evidence
Feedback
Connect
5
How to Clean Open-Ended Survey Responses
Clean Open-Ended Responses at the Source
clean-open-ended-survey-responses
Feedback
Clean
6
How Do You Spot At-Risk Participants 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
How Do You Collect Investee Reporting Without Burden?
Collect Standardized Reporting from Every Investee, Without Burden
collect-investee-reporting-without-burden
Portfolio
Chapters
6
How Do You Build a Funder Context Profile?
Build a Sourced Funder Context Profile
build-funder-context-profile
Reporting
Align
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
How Do You Chase Missing Investee Data?
Chase Missing Investee Data — Automatically
chase-missing-investee-data
Portfolio
Chapters
7
How Do You Analyze Multilingual Feedback?
Analyze Multilingual Feedback
analyze-multilingual-feedback
Feedback
Clean
7
Cleaning and theming multilingual open-ended feedback across languages on one continuing record — every theme cited to the person's own words, with no manual translate-then-code step.
Multi-country programs · Multilingual survey data · Global networks & chapters
How Do You Define Measures the Organization and Funder Can Both Use?
Define Measures the Organization and Funder Can Both Use
define-impact-metrics-funders-want
Reporting
Align
7
How Do You Find Who Is Missing Survey Waves?
Survey attrition — who is missing waves
survey-attrition-longitudinal-studies
Feedback
Read
8
How to Catch At-Risk Participants Early with Mentor Notes
Catch At-Risk Participants Early with Mentor Notes
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
How Do You Analyze Investee Reports?
Read Investee Reports Across Qual + Quant + Financial + Social
read-investee-reports-multi-signal
Portfolio
Chapters
8
How Do You Define an Impact Metric So Everyone Counts It the Same Way?
Give Every Number One Definition
one-definition-for-every-number
Reporting
Define
8
How Do You Connect Quantitative and Qualitative Data?
Connect Quantitative & Qualitative Data
connect-quantitative-qualitative-survey-data
Feedback
Read
9
How Do You Calculate SROI Live?
Calculate SROI — Live, Sourced, and Honest
calculate-sroi-live
Case
Nonprofit Track
9
How Do You Collect Grantee Reports Without Burden?
Collect Grantee Reports Without Burden
collect-grantee-reporting-without-burden
Grant
Collect
9
How Do You Track Investees Against the Impact Agreement?
Track Investees Against the Impact Agreement (Variance)
track-investees-impact-agreement-variance
Portfolio
Chapters
9
How Do You Turn Reporting Requirements Into Evidence You Can Collect?
Turn Requirements Into Collectable Evidence
turn-reporting-requirements-into-evidence
Reporting
Define
9
How to Analyze Pre and Post Survey Data
Analyze Pre / Mid / Post Data
analyze-pre-mid-post-survey-data
Feedback
Read
10
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 Do You Chase Missing Grantee Data?
Chase Missing Grantee Data
chase-missing-grantee-data
Grant
Collect
10
How Do You Monitor Portfolio Risk in Real Time?
Portfolio Risk Monitoring & Early-Warning Alerts
portfolio-risk-monitoring-alerts
Portfolio
Chapters
10
How Do You Collect Clean Evidence Inside the Workflow?
Collect Clean Evidence Inside the Workflow
collect-clean-data-at-the-source
Reporting
Embed
10
How Do You Analyze Longitudinal Survey Data?
Track One Person’s Change Across Years
analyze-longitudinal-survey-data
Feedback
Read
11
How Do You Turn a Job Description Into a Checklist?
Turn a Job Description into a Requirements Checklist
job-description-requirements-checklist
Case
Social Enterprise Track
11
How Do You Review Applications Without Reviewer Bias?
Review Without Reviewer Bias
review-applications-without-reviewer-bias
Grant
Analyze
11
Ask Your Whole Portfolio Anything (Claude + MCP)
Ask Your Whole Portfolio Anything (Claude + MCP)
ask-your-portfolio-anything
Portfolio
Chapters
11
How Do You Get Stable Results From Governed Data?
Get Stable Results From Governed Data
same-numbers-every-time
Reporting
Read
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 Long Do Program Outcomes Last?
Measure how long outcomes last
measure-outcome-duration-drop-off
Feedback
Read
12
How Do You Score Candidate-Role Matches Without Bias?
Score Candidate–Role Matches Without Bias
score-candidate-role-matches-without-bias
Case
Social Enterprise Track
12
How Do You Trace Every Result Back to Its Evidence?
Trace Every Result Back to Its Evidence
where-every-number-came-from
Reporting
Read
12
How Do You Roll Up a Grant Portfolio?
Aggregate Outcomes Across the Portfolio
how-to-roll-up-a-grant-portfolio
Portfolio
Communicate
13
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 Do You Write a Donor Report?
Design a Report for a Real Funding Decision
donor-report-funders-trust
Reporting
Decide
13
A practical, step-by-step track for building a donor or grant report funders trust — from the funder's decision back through metrics, clean data, and traceable numbers.
Program & grant managers who report to funders
What Should AI Be Allowed to See in Your Stakeholder Data?
What the assistant may see
what-the-assistant-may-see
Feedback
Prove
13
How Do You Write an Impact Narrative for a Funder?
Write a Cited Impact Narrative
impact-narrative-funder-report-cited
Feedback
Prove
14
How Do You Read a Grantee Report?
Read a Grantee Report
read-grantee-report-multi-signal
Grant
Analyze
14
How Do You Monetize Impact with SROI?
Monetize Impact with SROI Across Levels
monetize-impact-sroi-across-levels
Portfolio
Chapters
14
How Do You Get AI to Write a Funder Report?
Generate the Audience-Specific Report From Evidence
assistant-writes-the-funder-report
Reporting
Decide
14
How Do You Compute Grantee Variance?
Compute Grantee Variance
how-to-compute-grantee-variance
Grant
Analyze
15
How Do You Put a Dollar Value on Impact?
Add a Credible Dollar Value With SROI
credible-dollar-value-on-impact
Reporting
Optional method
15
How Do You Set Up a Study That Follows People for Years?
One person, followed for years
one-person-followed-for-years
Feedback
Shapes
15
How Do You Build an SROI Value Map?
Build an SROI Value Map
how-to-build-an-sroi-value-map
Reporting
Optional method
16
How Do You Track Budget and Actual Spend?
Track Budget vs Actual Spend
how-to-track-budget-invoices-actual-spend
Grant
Analyze
16
How Do You Collect Feedback From Several People About One Person?
Several people describing one person
several-people-describing-one-person
Feedback
Shapes
16
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
How Do You Analyze Grantee Reporting Longitudinally?
Analyze Grantee Reporting Over Time
analyze-grantee-reporting-longitudinal
Grant
Analyze
17
How Do You Compare Investees When Each One Defines Its Metrics Differently?
Compare & Benchmark Investees
compare-benchmark-investees
Portfolio
Chapters
17
How Do You Report Across Programs That Were Designed Separately?
Many programs, one picture
many-programs-one-picture
Feedback
Shapes
17
How Do You Calculate the SROI Ratio?
Calculate the SROI Ratio With a Range
how-to-calculate-the-sroi-ratio
Reporting
Optional method
18
How Do You Read a 990 for Compliance?
Read a 990 for Compliance
how-to-read-a-990-for-compliance
Grant
Analyze
18
How Do You Build Dashboards and Compliance Reports?
Portfolio Dashboards & Geographic Mapping
dashboards-sroi-compliance-reports
Portfolio
Communicate
18
How Do You Run a Survey Across a Member Network?
A network where each member sees their own part
member-network-survey
Feedback
Shapes
18
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 Produce an LP and Board Impact Report?
Produce the LP / Board Impact Report — Live, Not Annual
portfolio-lp-board-impact-report
Portfolio
Chapters
19
How Do You Build a Grant Audit Trail?
Build a Grant Audit Trail
grant-audit-compliance-trail
Grant
Communicate
20
How Do You Connect Your Stack Without Lock-In?
Connect Your Stack Without Lock-In (Microsoft Dynamics, Power BI, Affinity, MCP)
portfolio-connect-your-stack
Portfolio
Chapters
20
How Do You Produce Grant Compliance 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