Program Outcome Tracking Design
This skill activates when a nonprofit BA or program staff member needs to design an outcome measurement framework in Salesforce — mapping logic model components to platform objects, building indicator tracking, and designing grant compliance reports. It does NOT cover CRM Analytics report building, PMM package setup, or fundraising analysis.
Before Starting
Gather this context before working on anything in this domain:
- NPSP vs Nonprofit Cloud (NPC): The outcome data model differs significantly between platforms. NPSP with PMM has NO native Outcome or Indicator objects — all outcome tracking requires custom objects. NPC has a dedicated Outcome Management feature with native objects. Confirm which platform the org is on before designing anything.
- PMM operational objects: PMM ships 8 operational objects (Program__c, Service__c, ProgramEngagement__c, ProgramCohort__c, ServiceDelivery__c, ServiceSchedule__c, ServiceParticipant__c, ServiceSession__c). Outcome data in PMM lives only as
Quantity__c and UnitOfMeasurement__c on ServiceDelivery__c, and Stage__c on ProgramEngagement__c. Structured indicator tracking requires custom fields or custom objects.
- Grant compliance requirements: Grant reports typically require aggregated indicators (number served, number completing program, percentage achieving outcomes) mapped to specific services and date ranges. Design reports before designing the data model — reports drive what fields are needed.
- NPSP is no longer offered in new production orgs as of December 2025. New nonprofits use Nonprofit Cloud (NPC). Orgs on NPSP are legacy; NPC orgs have different object models.
Core Concepts
PMM Does Not Ship Outcome or Indicator Objects
NPSP Program Management Module (pmdm namespace) provides operational service delivery tracking — who received what service when. It does NOT provide dedicated Outcome__c, Indicator__c, or LogicModel__c objects. Nonprofits that expect PMM to "do outcomes" are commonly disappointed.
What PMM provides for outcome-adjacent tracking:
Stage__c on ProgramEngagement__c (Active, Inactive, Graduated, etc.) — crude completion tracking
Quantity__c and UnitOfMeasurement__c on ServiceDelivery__c — units of service delivered
- Custom fields on any PMM object — requires implementor design
Structured logic model outcome tracking (indicators, targets, actuals, baseline comparisons) requires custom objects on NPSP/PMM orgs.
NPC Outcome Management (NPC Only)
Nonprofit Cloud has a distinct Outcome Management feature with native objects:
| Object |
Role |
| Outcome |
Represents a program result statement |
| Indicator |
A measurable proxy for an Outcome |
| Indicator Result |
The actual measured value at a point in time |
| Participant Goal |
An individual-level outcome target |
This feature is NOT available in NPSP/PMM orgs. Designs using Outcome or Indicator objects require NPC licensing.
Logic Model Structure in Salesforce
A standard nonprofit logic model maps inputs → activities → outputs → outcomes → impact. In Salesforce:
| Logic Model Layer |
PMM Object |
Notes |
| Activities |
Service__c |
Type of service delivered |
| Outputs |
ServiceDelivery__c (Quantity__c) |
Units delivered |
| Outcomes (completion) |
ProgramEngagement__c (Stage__c) |
Graduated/completed status |
| Outcomes (measured) |
Custom Outcome__c or NPC Indicator |
Requires custom design or NPC |
| Impact |
Reports and dashboards |
Aggregated across cohorts |
Common Patterns
Custom Outcome Tracking on NPSP/PMM
When to use: NPSP org with PMM where grant reporting requires measured outcomes beyond service counts.
How it works:
- Create a custom
Outcome__c object with fields: Program__c (lookup to Program__c), Indicator__c (text or lookup), TargetValue__c, ActualValue__c, MeasurementDate__c, ProgramEngagement__c (lookup).
- Define the indicator taxonomy based on grant requirements (e.g., "Number who gained employment," "Percentage with improved housing stability").
- Staff enter Outcome records per participant per measurement period.
- Build reports joining ProgramEngagement__c → Outcome__c to aggregate indicators by program and grant period.
Why not ServiceDelivery Quantity: ServiceDelivery Quantity tracks units of service (sessions, hours) — not outcomes. Using it for outcome measurement conflates activity outputs with program results, producing grant reports that describe activity, not impact.
NPC Outcome Management
When to use: Nonprofit Cloud org with Outcome Management enabled.
How it works:
- Enable Outcome Management in NPC Setup.
- Create Outcome records defining program result statements.
- Create Indicator records linked to each Outcome with measurement type and unit.
- Create Indicator Results at assessment intervals (monthly, quarterly, program end).
- Create Participant Goal records for individual-level targets.
- Build reports on Indicator Result to track aggregate progress vs. targets.
Why not custom objects: NPC Outcome Management provides a structured, supported framework that connects outcomes to program enrollments natively, reducing custom development and avoiding data model fragmentation.
Decision Guidance
| Situation |
Recommended Approach |
Reason |
| NPSP/PMM org — simple output counting |
ServiceDelivery__c Quantity__c + reports |
Built-in, no custom objects needed |
| NPSP/PMM org — grant requires measured outcomes |
Custom Outcome__c object + ProgramEngagement lookup |
PMM has no native Outcome object |
| NPC org — outcome measurement |
NPC Outcome Management (Outcome, Indicator, Indicator Result) |
Native, supported, no custom dev |
| Grant reporting on participants who completed program |
ProgramEngagement Stage__c = Graduated |
Built-in completion tracking |
| Pre/post measurement (surveys, assessments) |
Custom Outcome__c with pre/post measurement date fields |
PMM does not have survey instruments |
| CRM Analytics impact dashboards |
CRM Analytics with PMM data sources |
This skill does NOT cover CRM Analytics — separate skill |
Recommended Workflow
- Platform confirmation — Determine NPSP/PMM or Nonprofit Cloud (NPC). This is the branching decision point for all subsequent design choices.
- Grant requirements analysis — Collect all grant reporting templates and indicator definitions before designing objects. Reports drive data model requirements.
- Logic model mapping — Map each logic model component (outputs, outcomes, impact) to available PMM objects and identify gaps requiring custom objects.
- Data model design — For NPSP/PMM, design custom Outcome__c object with appropriate fields and lookups. For NPC, configure Outcome Management.
- Report design — Design the grant compliance report layout first; validate that the data model supports the required aggregations (by program, by service, by cohort, by grant period).
- Staff training design — Define the data entry workflow for staff: when to create Outcome records, how to measure indicators, and how measurement dates align with grant reporting periods.
- Review — Validate that outcome objects use PMM standard object lookups (not Contact directly), that all grant indicator definitions are reflected in the data model, and that report date ranges match grant periods.
Review Checklist
Salesforce-Specific Gotchas
- PMM ships no Outcome or Indicator objects — The most common misconception. PMM provides operational service delivery tracking, not outcome measurement. Outcome tracking requires custom objects on NPSP/PMM orgs or the NPC Outcome Management feature.
- Using NPSP Opportunity reports for program impact is incorrect — Opportunities in NPSP represent gifts, not program results. Reports on Opportunity Amount have no relationship to program outcomes. Grant reports using Opportunity data to claim program impact conflate fundraising data with program data.
- NPC Outcome Management is not available in NPSP/PMM orgs — Attempting to create Outcome or Indicator objects in an NPSP/PMM org fails — these are NPC-specific objects. Design for each platform separately.
Output Artifacts
| Artifact |
Description |
| Logic model to Salesforce mapping |
Logic model components mapped to PMM objects and custom objects |
| Outcome data model design |
Custom Outcome__c or NPC Outcome Management object model |
| Grant compliance report design |
Report layout showing indicator aggregations aligned to grant template |
Related Skills
npsp-program-management — For PMM configuration, service delivery setup, and operational PMM administration
donor-lifecycle-requirements — For designing the donor engagement side of nonprofit CRM alongside program tracking
1---2name: program-outcome-tracking-design3description: Design guidance for program outcome measurement in Salesforce nonprofit orgs: logic model structure, indicator taxonomy, impact reporting design, and grant compliance reporting using NPSP Program Management Module (PMM) or Nonprofit Cloud (NPC) Outcome Management. NOT for configuring PMM programs, cohorts and service deliveries - use admin/npsp-program-management. NOT for setting up grant tracking, funding awards and disbursements - use admin/grant-management-setup.4---56# Program Outcome Tracking Design78This skill activates when a nonprofit BA or program staff member needs to design an outcome measurement framework in Salesforce — mapping logic model components to platform objects, building indicator tracking, and designing grant compliance reports. It does NOT cover CRM Analytics report building, PMM package setup, or fundraising analysis.910---1112## Before Starting1314Gather this context before working on anything in this domain:1516- **NPSP vs Nonprofit Cloud (NPC):** The outcome data model differs significantly between platforms. NPSP with PMM has NO native Outcome or Indicator objects — all outcome tracking requires custom objects. NPC has a dedicated Outcome Management feature with native objects. Confirm which platform the org is on before designing anything.17- **PMM operational objects:** PMM ships 8 operational objects (Program__c, Service__c, ProgramEngagement__c, ProgramCohort__c, ServiceDelivery__c, ServiceSchedule__c, ServiceParticipant__c, ServiceSession__c). Outcome data in PMM lives only as `Quantity__c` and `UnitOfMeasurement__c` on ServiceDelivery__c, and `Stage__c` on ProgramEngagement__c. Structured indicator tracking requires custom fields or custom objects.18- **Grant compliance requirements:** Grant reports typically require aggregated indicators (number served, number completing program, percentage achieving outcomes) mapped to specific services and date ranges. Design reports before designing the data model — reports drive what fields are needed.19- **NPSP is no longer offered in new production orgs** as of December 2025. New nonprofits use Nonprofit Cloud (NPC). Orgs on NPSP are legacy; NPC orgs have different object models.2021---2223## Core Concepts2425### PMM Does Not Ship Outcome or Indicator Objects2627NPSP Program Management Module (pmdm namespace) provides operational service delivery tracking — who received what service when. It does NOT provide dedicated Outcome__c, Indicator__c, or LogicModel__c objects. Nonprofits that expect PMM to "do outcomes" are commonly disappointed.2829What PMM provides for outcome-adjacent tracking:30- `Stage__c` on ProgramEngagement__c (Active, Inactive, Graduated, etc.) — crude completion tracking31- `Quantity__c` and `UnitOfMeasurement__c` on ServiceDelivery__c — units of service delivered32- Custom fields on any PMM object — requires implementor design3334Structured logic model outcome tracking (indicators, targets, actuals, baseline comparisons) requires **custom objects** on NPSP/PMM orgs.3536### NPC Outcome Management (NPC Only)3738Nonprofit Cloud has a distinct Outcome Management feature with native objects:3940| Object | Role |41|---|---|42| Outcome | Represents a program result statement |43| Indicator | A measurable proxy for an Outcome |44| Indicator Result | The actual measured value at a point in time |45| Participant Goal | An individual-level outcome target |4647This feature is NOT available in NPSP/PMM orgs. Designs using Outcome or Indicator objects require NPC licensing.4849### Logic Model Structure in Salesforce5051A standard nonprofit logic model maps inputs → activities → outputs → outcomes → impact. In Salesforce:5253| Logic Model Layer | PMM Object | Notes |54|---|---|---|55| Activities | Service__c | Type of service delivered |56| Outputs | ServiceDelivery__c (Quantity__c) | Units delivered |57| Outcomes (completion) | ProgramEngagement__c (Stage__c) | Graduated/completed status |58| Outcomes (measured) | Custom Outcome__c or NPC Indicator | Requires custom design or NPC |59| Impact | Reports and dashboards | Aggregated across cohorts |6061---6263## Common Patterns6465### Custom Outcome Tracking on NPSP/PMM6667**When to use:** NPSP org with PMM where grant reporting requires measured outcomes beyond service counts.6869**How it works:**701. Create a custom `Outcome__c` object with fields: `Program__c` (lookup to Program__c), `Indicator__c` (text or lookup), `TargetValue__c`, `ActualValue__c`, `MeasurementDate__c`, `ProgramEngagement__c` (lookup).712. Define the indicator taxonomy based on grant requirements (e.g., "Number who gained employment," "Percentage with improved housing stability").723. Staff enter Outcome records per participant per measurement period.734. Build reports joining ProgramEngagement__c → Outcome__c to aggregate indicators by program and grant period.7475**Why not ServiceDelivery Quantity:** ServiceDelivery Quantity tracks units of service (sessions, hours) — not outcomes. Using it for outcome measurement conflates activity outputs with program results, producing grant reports that describe activity, not impact.7677### NPC Outcome Management7879**When to use:** Nonprofit Cloud org with Outcome Management enabled.8081**How it works:**821. Enable Outcome Management in NPC Setup.832. Create Outcome records defining program result statements.843. Create Indicator records linked to each Outcome with measurement type and unit.854. Create Indicator Results at assessment intervals (monthly, quarterly, program end).865. Create Participant Goal records for individual-level targets.876. Build reports on Indicator Result to track aggregate progress vs. targets.8889**Why not custom objects:** NPC Outcome Management provides a structured, supported framework that connects outcomes to program enrollments natively, reducing custom development and avoiding data model fragmentation.9091---9293## Decision Guidance9495| Situation | Recommended Approach | Reason |96|---|---|---|97| NPSP/PMM org — simple output counting | ServiceDelivery__c Quantity__c + reports | Built-in, no custom objects needed |98| NPSP/PMM org — grant requires measured outcomes | Custom Outcome__c object + ProgramEngagement lookup | PMM has no native Outcome object |99| NPC org — outcome measurement | NPC Outcome Management (Outcome, Indicator, Indicator Result) | Native, supported, no custom dev |100| Grant reporting on participants who completed program | ProgramEngagement Stage__c = Graduated | Built-in completion tracking |101| Pre/post measurement (surveys, assessments) | Custom Outcome__c with pre/post measurement date fields | PMM does not have survey instruments |102| CRM Analytics impact dashboards | CRM Analytics with PMM data sources | This skill does NOT cover CRM Analytics — separate skill |103104---105106## Recommended Workflow1071081. **Platform confirmation** — Determine NPSP/PMM or Nonprofit Cloud (NPC). This is the branching decision point for all subsequent design choices.1092. **Grant requirements analysis** — Collect all grant reporting templates and indicator definitions before designing objects. Reports drive data model requirements.1103. **Logic model mapping** — Map each logic model component (outputs, outcomes, impact) to available PMM objects and identify gaps requiring custom objects.1114. **Data model design** — For NPSP/PMM, design custom Outcome__c object with appropriate fields and lookups. For NPC, configure Outcome Management.1125. **Report design** — Design the grant compliance report layout first; validate that the data model supports the required aggregations (by program, by service, by cohort, by grant period).1136. **Staff training design** — Define the data entry workflow for staff: when to create Outcome records, how to measure indicators, and how measurement dates align with grant reporting periods.1147. **Review** — Validate that outcome objects use PMM standard object lookups (not Contact directly), that all grant indicator definitions are reflected in the data model, and that report date ranges match grant periods.115116---117118## Review Checklist119120- [ ] Platform confirmed: NPSP/PMM or Nonprofit Cloud (NPC)121- [ ] Grant indicator definitions collected and mapped to data model fields122- [ ] Custom Outcome__c designed if NPSP/PMM (PMM ships no native Outcome object)123- [ ] Outcome records linked to ProgramEngagement__c (not Contact directly)124- [ ] Report design reviewed against grant compliance template before building125- [ ] NPSP Opportunity-based reports are NOT used for program impact data126- [ ] NPC Outcome Management objects are NOT referenced in NPSP/PMM org designs127128---129130## Salesforce-Specific Gotchas1311321. **PMM ships no Outcome or Indicator objects** — The most common misconception. PMM provides operational service delivery tracking, not outcome measurement. Outcome tracking requires custom objects on NPSP/PMM orgs or the NPC Outcome Management feature.1332. **Using NPSP Opportunity reports for program impact is incorrect** — Opportunities in NPSP represent gifts, not program results. Reports on Opportunity Amount have no relationship to program outcomes. Grant reports using Opportunity data to claim program impact conflate fundraising data with program data.1343. **NPC Outcome Management is not available in NPSP/PMM orgs** — Attempting to create Outcome or Indicator objects in an NPSP/PMM org fails — these are NPC-specific objects. Design for each platform separately.135136---137138## Output Artifacts139140| Artifact | Description |141|---|---|142| Logic model to Salesforce mapping | Logic model components mapped to PMM objects and custom objects |143| Outcome data model design | Custom Outcome__c or NPC Outcome Management object model |144| Grant compliance report design | Report layout showing indicator aggregations aligned to grant template |145146---147148## Related Skills149150- `npsp-program-management` — For PMM configuration, service delivery setup, and operational PMM administration151- `donor-lifecycle-requirements` — For designing the donor engagement side of nonprofit CRM alongside program tracking