Diagrams & Visuals - Lesson 2.1: Logical Framework
Visual Reference
Diagram Navigation
Diagram 1: Theory of Change to Logframe Translation
Impact becomes Goal, Outcomes become Purpose. Outputs and Activities keep their structure.
graph TB
Start["🎯 COMMUNITY-VALIDATED<br/>THEORY OF CHANGE<br/><br/>From Lesson 1.4:<br/>Inputs → Activities → Outputs →<br/>Outcomes → Impact"]
subgraph Translation["🔄 SYSTEMATIC TRANSLATION"]
T1["Theory of Change IMPACT<br/><br/>Long-term systemic change<br/>you contribute to<br/>(5-10+ years)"]
Arrow1["⬇️<br/>BECOMES"]
T2["Logframe GOAL<br/><br/>Same impact statement<br/>Measured by 1-2 indicators<br/>Contribution not control"]
T3["Theory of Change OUTCOMES<br/><br/>Specific changes your<br/>project achieves<br/>(0-7 years)"]
Arrow2["⬇️<br/>BECOMES"]
T4["Logframe PURPOSE<br/><br/>Primary project achievement<br/>Measured by 2-3 indicators<br/>Direct responsibility"]
T5["Theory of Change OUTPUTS<br/><br/>What your project<br/>produces directly<br/>(0-2 years)"]
Arrow3["⬇️<br/>REMAINS"]
T6["Logframe OUTPUTS<br/><br/>Same outputs<br/>1-2 indicators each<br/>Complete control"]
T7["Theory of Change ACTIVITIES<br/><br/>Actions you implement<br/>using your inputs"]
Arrow4["⬇️<br/>REMAINS"]
T8["Logframe ACTIVITIES<br/><br/>Same activities<br/>Process indicators<br/>Implementation focus"]
T9["Theory of Change INPUTS<br/><br/>Resources you invest"]
Arrow5["⬇️<br/>INFORMS"]
T10["Resource Planning<br/>& Assumptions<br/><br/>Budget requirements<br/>Partnership needs<br/>Capacity assessment"]
end
Result["📊 OPERATIONAL LOGFRAME<br/><br/>Maintains ToC logic with:<br/>• Systematic structure<br/>• Measurable indicators<br/>• Verification methods<br/>• Explicit assumptions<br/>• Community grounding"]
Start --> Translation
T1 --> Arrow1
Arrow1 --> T2
T3 --> Arrow2
Arrow2 --> T4
T5 --> Arrow3
Arrow3 --> T6
T7 --> Arrow4
Arrow4 --> T8
T9 --> Arrow5
Arrow5 --> T10
Translation --> Result
style Start fill:#A3E4C9,stroke:#007F4E,color:#2A2A2A,stroke-width:2px
style Translation fill:#FEF3C7,stroke:#F8CC1B,color:#2A2A2A,stroke-width:2px
style T1 fill:#BBF7D0,stroke:#72B043,color:#2A2A2A
style Arrow1 fill:#FDE047,stroke:#F8CC1B,color:#2A2A2A
style T2 fill:#86EFAC,stroke:#007F4E,color:#2A2A2A
style T3 fill:#BBF7D0,stroke:#72B043,color:#2A2A2A
style Arrow2 fill:#FDE047,stroke:#F8CC1B,color:#2A2A2A
style T4 fill:#A3E4C9,stroke:#72B043,color:#2A2A2A
style T5 fill:#FED7AA,stroke:#F37324,color:#2A2A2A
style Arrow3 fill:#FDE047,stroke:#F8CC1B,color:#2A2A2A
style T6 fill:#FDBA74,stroke:#F37324,color:#2A2A2A
style T7 fill:#FED7AA,stroke:#F37324,color:#2A2A2A
style Arrow4 fill:#FDE047,stroke:#F8CC1B,color:#2A2A2A
style T8 fill:#FDBA74,stroke:#F37324,color:#2A2A2A
style T9 fill:#FEF3C7,stroke:#F8CC1B,color:#2A2A2A
style Arrow5 fill:#FDE047,stroke:#F8CC1B,color:#2A2A2A
style T10 fill:#FDE047,stroke:#F8CC1B,color:#2A2A2A
style Result fill:#007F4E,stroke:#00b369,color:#fff,stroke-width:3px
The Logframe Maintains Your Theory of Change Logic
Diagram 2: Module 1 Foundation Integration into Logframe
Every piece of Module 1 work feeds this Logframe directly.
graph TB
Module1["📚 MODULE 1 FOUNDATION<br/>(Lessons 1.1-1.4)<br/>• Problem Tree Analysis<br/>• Stakeholder Mapping<br/>• Affinity Synthesis<br/>• Theory of Change"]
Integration["🔄 INTEGRATION ACTIONS<br/>• Problem Tree → Activities<br/>• Stakeholders → Monitoring<br/>• Affinity Themes → Indicators<br/>• ToC → Logframe Structure<br/>• Evidence (E) → High Confidence<br/>• Assumptions (A) → Risk Mgmt"]
Logframe["📋 LOGFRAME STRUCTURE<br/>GOAL: Community-validated impact<br/>PURPOSE: Evidence-based outcomes<br/>OUTPUTS: Clear deliverables<br/>ACTIVITIES: Root-cause focused<br/>INDICATORS: Community-informed<br/>ASSUMPTIONS: Explicit & testable"]
Module1 --> Integration
Integration --> Logframe
style Module1 fill:#D9F99D,stroke:#72B043,color:#2A2A2A,stroke-width:2px
style Integration fill:#FED7AA,stroke:#F37324,color:#2A2A2A,stroke-width:2px
style Logframe fill:#007F4E,stroke:#00b369,color:#fff,stroke-width:3px
Module 1 Foundation Pays Off
Diagram 3: SMART + Community Criteria Framework
SMART criteria provide the foundation. Community layers add the grounding.
graph TB
Start["🎯 INDICATOR DEVELOPMENT<br/>Creating measures that reflect<br/>professional standards +<br/>community priorities"]
Professional["✅ PROFESSIONAL SMART CRITERIA<br/>• Specific: Who, what, where, when<br/>• Measurable: Quantifiable change<br/>• Achievable: Realistic resources<br/>• Relevant: Linked to objectives<br/>• Time-bound: Clear timeframe"]
Community["🤝 COMMUNITY ENRICHMENT<br/>• Community Context & Demographics<br/>• Community Values & Culture<br/>• Evidence Base from Problem Tree<br/>• Stakeholder Validation<br/>• Realistic Local Timeframes"]
Enhanced["🎯 COMMUNITY-INFORMED<br/>SMART INDICATOR<br/><br/>Example: 'At least 70% of program<br/>graduates aged 18-25 secure<br/>employment paying above locally-<br/>defined living wage within 6 months,<br/>validated through follow-up with<br/>participants & employers'"]
Start --> Professional
Professional --> Community
Community --> Enhanced
style Start fill:#F6F6F6,stroke:#737373,color:#2A2A2A
style Professional fill:#BBF7D0,stroke:#72B043,color:#2A2A2A,stroke-width:2px
style Community fill:#FEF3C7,stroke:#F8CC1B,color:#2A2A2A,stroke-width:2px
style Enhanced fill:#007F4E,stroke:#00b369,color:#fff,stroke-width:3px
SMART + Community = Funder-Credible & Community-Grounded
Diagram 4: Assumption Categories and Risk Management
Theory of Change assumptions become explicit, testable risks with a mitigation plan.
graph TB
TOC["🎯 THEORY OF CHANGE<br/>ASSUMPTIONS<br/><br/>From Lesson 1.4:<br/>Beliefs about why<br/>pathway will work"]
subgraph Categories["⚠️ ASSUMPTION CATEGORIES"]
Cat1["CONTEXTUAL<br/>Assumptions<br/><br/>About Environment:<br/>• Political stability<br/>• Policy support<br/>• Economic conditions<br/>• Social cohesion<br/>• Climate/environment"]
Cat2["BEHAVIORAL<br/>Assumptions<br/><br/>About Stakeholders:<br/>• Target participation<br/>• Partner collaboration<br/>• Government support<br/>• Community sustains<br/>• Staff capacity"]
Cat3["STRATEGIC<br/>Assumptions<br/><br/>About Approach:<br/>• Activities effective<br/>• Sequence appropriate<br/>• Quality maintainable<br/>• Resources sufficient<br/>• Timing realistic"]
end
subgraph Operationalize["🔄 LOGFRAME OPERATIONALIZATION"]
O1["Make Testable<br/><br/>Vague: 'Community support'<br/>⬇️<br/>Testable: '70% of target<br/>households participate<br/>within 6 months'"]
O2["Identify Indicators<br/><br/>What data shows if<br/>assumption holds?<br/>• Participation rates<br/>• Partnership MOU status<br/>• Resource availability"]
O3["Plan Monitoring<br/><br/>How & when to track?<br/>• Data source<br/>• Frequency<br/>• Responsible party<br/>• Early warning threshold"]
O4["Develop Mitigation<br/><br/>What if assumption fails?<br/>• Backup strategies<br/>• Alternative approaches<br/>• Contingency resources<br/>• Exit criteria"]
end
Risk["📊 RISK MANAGEMENT PLAN<br/><br/>Critical Assumption:<br/>'Sufficient job opportunities<br/>exist for graduates'<br/><br/>INDICATOR: # job openings<br/>posted monthly in target sectors<br/><br/>MONITORING: Monthly tracking<br/>via employer surveys<br/><br/>WARNING: <50% expected openings<br/><br/>MITIGATION: Activate employer<br/>partnerships, expand geography"]
TOC --> Categories
Cat1 --> Operationalize
Cat2 --> Operationalize
Cat3 --> Operationalize
O1 --> O2
O2 --> O3
O3 --> O4
O4 --> Risk
style TOC fill:#A3E4C9,stroke:#007F4E,color:#2A2A2A,stroke-width:2px
style Categories fill:#FCA5A5,stroke:#E12729,color:#2A2A2A,stroke-width:2px
style Cat1 fill:#FEE2E2,stroke:#E12729,color:#2A2A2A
style Cat2 fill:#FEE2E2,stroke:#E12729,color:#2A2A2A
style Cat3 fill:#FEE2E2,stroke:#E12729,color:#2A2A2A
style Operationalize fill:#FED7AA,stroke:#F37324,color:#2A2A2A,stroke-width:2px
style O1 fill:#FED7AA,stroke:#F37324,color:#2A2A2A
style O2 fill:#FED7AA,stroke:#F37324,color:#2A2A2A
style O3 fill:#FED7AA,stroke:#F37324,color:#2A2A2A
style O4 fill:#FED7AA,stroke:#F37324,color:#2A2A2A
style Risk fill:#FEF3C7,stroke:#F8CC1B,color:#2A2A2A,stroke-width:3px
Assumptions Are Risks, So Make Them Explicit and Testable
Diagram 5: Generic vs Community-Informed Indicators
Generic indicators lack specificity. This contrasts them with community-informed versions.
graph TB
subgraph Generic["❌ GENERIC INDICATORS<br/>(Weak - Not Community-Grounded)"]
G1["'Increased youth employment'<br/><br/>Problems:<br/>• No target population detail<br/>• No success definition<br/>• No timeframe<br/>• No validation method<br/>• Not community-specific"]
G2["'Improved health knowledge'<br/><br/>Problems:<br/>• Vague outcome<br/>• No measurement approach<br/>• No community priority link<br/>• No cultural context<br/>• Not stakeholder-validated"]
G3["'Strengthened organizations'<br/><br/>Problems:<br/>• Unclear what 'strengthened'<br/>• No baseline reference<br/>• No community definition<br/>• Not measurable<br/>• Missing local context"]
end
Transform["🔄 COMMUNITY INTEGRATION PROCESS<br/><br/>Apply:<br/>1️⃣ Stakeholder mapping demographics<br/>2️⃣ Affinity analysis priorities<br/>3️⃣ Problem Tree evidence base<br/>4️⃣ Local definitions of success<br/>5️⃣ Cultural appropriateness"]
subgraph Informed["✅ COMMUNITY-INFORMED INDICATORS<br/>(Strong - Community-Grounded)"]
I1["'At least 70% of program<br/>graduates aged 18-25 secure<br/>employment paying above<br/>locally-defined living wage<br/>within 6 months of completion,<br/>validated through follow-up<br/>interviews with participants<br/>and employers'"]
I2["'Target households demonstrate<br/>adoption of locally-appropriate<br/>health practices prioritized by<br/>community health committees,<br/>with adoption verified through<br/>monthly community health<br/>worker assessments using<br/>culturally-adapted checklist'"]
I3["'Local partner organizations<br/>demonstrate enhanced capacity<br/>to design and implement<br/>community-prioritized initiatives,<br/>measured by successful completion<br/>of self-identified organizational<br/>development milestones validated<br/>by community stakeholders'"]
end
Generic --> Transform
Transform --> Informed
G1 -.->|Applies integration| I1
G2 -.->|Applies integration| I2
G3 -.->|Applies integration| I3
style Generic fill:#FCA5A5,stroke:#E12729,color:#2A2A2A,stroke-width:2px
style G1 fill:#FEE2E2,stroke:#E12729,color:#2A2A2A
style G2 fill:#FEE2E2,stroke:#E12729,color:#2A2A2A
style G3 fill:#FEE2E2,stroke:#E12729,color:#2A2A2A
style Transform fill:#FEF3C7,stroke:#F8CC1B,color:#2A2A2A,stroke-width:3px
style Informed fill:#86EFAC,stroke:#007F4E,color:#2A2A2A,stroke-width:2px
style I1 fill:#BBF7D0,stroke:#72B043,color:#2A2A2A
style I2 fill:#BBF7D0,stroke:#72B043,color:#2A2A2A
style I3 fill:#BBF7D0,stroke:#72B043,color:#2A2A2A
Transform Weak Generic Indicators into Strong Community-Grounded Ones
Diagram 6: Logframe Quality Testing Flow
Test your draft before submitting: vertical, horizontal, community, and implementation logic.
graph TB
Draft["📋 DRAFT LOGFRAME<br/><br/>Complete framework with:<br/>Goal, Purpose, Outputs,<br/>Activities, Indicators,<br/>Verification, Assumptions"]
subgraph Testing["🔍 FOUR-STAGE TESTING"]
Stage1["STAGE 1:<br/>Vertical Logic Test<br/><br/>Question: Do activities<br/>logically lead to outputs?<br/>Do outputs lead to Purpose?<br/>Does Purpose contribute to Goal?"]
D1{"Logic<br/>holds?"}
Fix1["🔄 FIX VERTICAL LOGIC<br/><br/>• Add intermediate steps<br/>• Strengthen connections<br/>• Adjust ambition levels<br/>• Clarify cause-effect"]
Stage2["STAGE 2:<br/>Horizontal Logic Test<br/><br/>Question: Do indicators<br/>accurately measure objectives?<br/>Are verification methods<br/>feasible and appropriate?"]
D2{"Indicators<br/>accurate?"}
Fix2["🔄 IMPROVE INDICATORS<br/><br/>• Make more specific<br/>• Add community context<br/>• Ensure measurability<br/>• Simplify verification"]
Stage3["STAGE 3:<br/>Community Logic Test<br/><br/>Question: Does framework<br/>reflect community priorities?<br/>Are assumptions grounded<br/>in stakeholder insights?"]
D3{"Community-<br/>grounded?"}
Fix3["🔄 INTEGRATE COMMUNITY<br/><br/>• Add community voice<br/>• Adjust to priorities<br/>• Incorporate local context<br/>• Validate assumptions"]
Stage4["STAGE 4:<br/>Implementation Logic Test<br/><br/>Question: Is framework<br/>realistic given resources?<br/>Are timelines achievable?<br/>Is quality maintainable?"]
D4{"Implementation<br/>realistic?"}
Fix4["🔄 ADJUST EXPECTATIONS<br/><br/>• Right-size scope<br/>• Extend timelines<br/>• Secure resources<br/>• Build partnerships"]
end
Quality["✅ QUALITY LOGFRAME<br/><br/>Meets all criteria:<br/>• Logical connections<br/>• Accurate indicators<br/>• Community-grounded<br/>• Implementation-ready<br/>• Funder-credible"]
Draft --> Stage1
Stage1 --> D1
D1 -->|No| Fix1
D1 -->|Yes| Stage2
Fix1 --> Stage1
Stage2 --> D2
D2 -->|No| Fix2
D2 -->|Yes| Stage3
Fix2 --> Stage2
Stage3 --> D3
D3 -->|No| Fix3
D3 -->|Yes| Stage4
Fix3 --> Stage3
Stage4 --> D4
D4 -->|No| Fix4
D4 -->|Yes| Quality
Fix4 --> Stage4
style Draft fill:#F6F6F6,stroke:#737373,color:#2A2A2A
style Testing fill:#FED7AA,stroke:#F37324,color:#2A2A2A,stroke-width:2px
style Stage1 fill:#86EFAC,stroke:#007F4E,color:#2A2A2A
style Stage2 fill:#86EFAC,stroke:#007F4E,color:#2A2A2A
style Stage3 fill:#86EFAC,stroke:#007F4E,color:#2A2A2A
style Stage4 fill:#86EFAC,stroke:#007F4E,color:#2A2A2A
style D1 fill:#FEF3C7,stroke:#F8CC1B,color:#2A2A2A
style D2 fill:#FEF3C7,stroke:#F8CC1B,color:#2A2A2A
style D3 fill:#FEF3C7,stroke:#F8CC1B,color:#2A2A2A
style D4 fill:#FEF3C7,stroke:#F8CC1B,color:#2A2A2A
style Fix1 fill:#FCA5A5,stroke:#E12729,color:#2A2A2A
style Fix2 fill:#FCA5A5,stroke:#E12729,color:#2A2A2A
style Fix3 fill:#FCA5A5,stroke:#E12729,color:#2A2A2A
style Fix4 fill:#FCA5A5,stroke:#E12729,color:#2A2A2A
style Quality fill:#007F4E,stroke:#00b369,color:#fff,stroke-width:3px
Careful Testing Prevents Funder Rejection
Diagram 7: Module 2 Progression
The Logframe bridges Module 1's foundation and the rest of Module 2.
graph TB
Foundation["🏗️ MODULE 1 FOUNDATION<br/><br/>Community-validated<br/>Theory of Change with:<br/>• Evidence-based analysis<br/>• Stakeholder relationships<br/>• Community priorities<br/>• Change logic"]
Logframe["📋 LESSON 2.1<br/>LOGICAL FRAMEWORK<br/><br/>Operationalizes Theory of Change:<br/>• Goal (Impact)<br/>• Purpose (Outcomes)<br/>• Outputs (Products)<br/>• Activities (Actions)<br/>• Indicators (Measures)<br/>• Assumptions (Risks)"]
subgraph Module2["🔧 MODULE 2 CONTINUATION"]
L22["LESSON 2.2<br/>Activity Design<br/><br/>Logframe Activities become:<br/>• Detailed work plans<br/>• Partnership protocols<br/>• Timeline specifics<br/>• Resource allocation<br/>• Quality standards"]
L23["LESSON 2.3<br/>Proposal Writing<br/><br/>Logframe provides:<br/>• Problem statement<br/>• Solution logic<br/>• M&E framework<br/>• Impact narrative<br/>• Credibility evidence"]
L24["LESSON 2.4<br/>Budget Estimation<br/><br/>Logframe informs:<br/>• Activity costs<br/>• Output specifications<br/>• Personnel needs<br/>• Resource requirements<br/>• Timeline-based phasing"]
end
Implementation["🚀 IMPLEMENTATION READINESS<br/><br/>Complete project package:<br/>• Community-grounded design<br/>• Systematic structure<br/>• Measurable framework<br/>• Compelling narrative<br/>• Realistic budget<br/>• Fundable proposal"]
Foundation --> Logframe
Logframe --> L22
Logframe --> L23
Logframe --> L24
L22 --> Implementation
L23 --> Implementation
L24 --> Implementation
Logframe -.->|Activities → Details| L22
Logframe -.->|Logic → Narrative| L23
Logframe -.->|Resources → Budget| L24
style Foundation fill:#D9F99D,stroke:#72B043,color:#2A2A2A,stroke-width:2px
style Logframe fill:#FDBA74,stroke:#F37324,color:#2A2A2A,stroke-width:3px
style Module2 fill:#86EFAC,stroke:#007F4E,color:#2A2A2A,stroke-width:2px
style L22 fill:#BBF7D0,stroke:#72B043,color:#2A2A2A
style L23 fill:#BBF7D0,stroke:#72B043,color:#2A2A2A
style L24 fill:#BBF7D0,stroke:#72B043,color:#2A2A2A
style Implementation fill:#007F4E,stroke:#00b369,color:#fff,stroke-width:3px