A donor segment migration report shows how supporters move from one behavioral group to another between two comparable dates. Instead of telling you only how many donors are “loyal,” “new,” “at risk,” or “dormant” today, it reveals the transitions underneath those totals: who strengthened, who weakened, who entered, who left, and who stayed in place.
That movement matters because two segment snapshots can look stable while thousands of donors trade places. A useful report therefore preserves each donor’s prior segment, current segment, transition reason, and next action. It also separates genuine donor behavior from movement caused by changed rules, rolling windows, duplicate cleanup, or incomplete data.
What is a donor segment migration report?
A donor segment migration report compares the same eligible donor population at two points in time and assigns each donor to one mutually exclusive transition. The segments can come from recency, frequency, and monetary value (RFM); lifecycle stages; giving bands; recurring status; or another documented framework.
RFM is a common starting point. It describes donors using how recently they gave, how often they gave, and how much they gave within a defined window. A current nonprofit-specific overview from Dataro explains the basic RFM fields and its central limitation: it describes past behavior rather than predicting the future.
A migration report adds the missing time dimension. It answers:
- Which donors moved into stronger or weaker relationship states?
- Which transitions are large enough to require action?
- Did movement result from donor behavior or from a reporting-rule change?
- Which campaigns, channels, designations, or stewardship workflows are associated with the movement?
Why current segment counts can hide the real story
Imagine a dashboard showing 2,000 loyal donors at both the beginning and end of the quarter. It is tempting to call the segment flat.
But the stable total could hide 400 existing loyal donors who slipped into an at-risk group and 400 previously occasional donors who became loyal. The ending count is unchanged, yet the operational story is not. One team needs a retention response; another may have created a repeatable stewardship win.
This is the difference between stock and flow:
- Segment stock is the number of donors in each group on one date.
- Segment flow is the number of donors who moved between groups during the comparison period.
Report both. The snapshot tells you the current shape of the file. The migration view tells you how it got there.
Start with a stable two-snapshot contract
Migration analysis works only when the two snapshots are comparable. Before calculating movement, write a short contract that fixes the following rules.
| Rule | What to define | Why it matters |
|---|---|---|
| Donor grain | One row per person, household, or organization | A grain change can create false entries, exits, and movement. |
| Eligibility | Which donors qualify for both snapshots | Acquisition, deceased records, suppressions, and exclusions must be handled consistently. |
| Snapshot dates | The exact prior and current as-of dates | Every transition needs the same elapsed interval. |
| Measurement window | Calendar, fiscal, fixed trailing period, or lifetime | A rolling window can move a donor even when no new action occurred. |
| Segment rules | Thresholds, precedence, tie handling, and version | Rule changes can look like donor behavior unless they are isolated. |
| Gift treatment | Refunds, reversals, soft credits, pledges, matching gifts, and anonymous gifts | Different inclusion rules alter recency, frequency, and value. |
Use a stable donor identifier across both snapshots. If person-to-household grouping is involved, preserve person-level history and permissions as described in the ReportWerks donor householding report.
Give every donor one migration state
A practical migration report needs a small set of mutually exclusive states. The exact segment names can vary, but every eligible donor should reconcile to one of these movement types:
- Entered: not eligible in the prior snapshot and eligible now, usually because of a first qualifying gift.
- Strengthened: moved to a more active, frequent, or valuable segment.
- Stable: remained in the same segment under the same rule version.
- Weakened: moved to a less active, less frequent, or lower-value segment.
- Exited: left the eligible population because of a documented business rule, not merely because the donor became less recent.
- Unclassified: cannot be placed because identity, gift history, or required fields are incomplete or conflicting.
Do not treat “exited” as a synonym for lapsed. A lapsed donor normally remains part of the analyzable file and moves into an at-risk or dormant segment. Exit should be reserved for explicit eligibility changes such as a corrected duplicate, a deceased record under your policy, or removal of a non-donor record.
Build a migration matrix that reconciles
The core visual is a matrix with prior segments as rows and current segments as columns. Each donor appears once. Row totals must equal the prior eligible population after documented exits; column totals must equal the current eligible population after documented entries.
Consider this illustrative quarter-to-quarter example for 10,000 donor records:
| Movement state | Donors | Share of tracked prior donors | Example next action |
|---|---|---|---|
| Strengthened | 1,150 | 12.0% | Identify the journeys and stewardship touches common to positive movement. |
| Stable | 6,900 | 71.9% | Maintain appropriate stewardship and watch for concentration within the segment. |
| Weakened | 1,350 | 14.1% | Prioritize high-value or previously frequent donors for review. |
| Exited | 200 | 2.1% | Audit the exit reasons and confirm policy treatment. |
| Entered | 400 | Not in prior denominator | Route new donors into the welcome and second-action workflow. |
Here, 9,600 donors were eligible in the prior snapshot. They reconcile as:
1,150 strengthened + 6,900 stable + 1,350 weakened + 200 exited = 9,600 prior donors
After adding 400 entrants, the current eligible population is 9,800. The example values are illustrative, not a benchmark.
Calculate four movement rates
Counts show workload. Rates make periods and populations comparable. Use the tracked prior population as the denominator for the first three measures.
- Strengthening rate = strengthened donors / tracked prior donors
- Weakening rate = weakened donors / tracked prior donors
- Stability rate = stable donors / tracked prior donors
- Entry rate = entered donors / current eligible donors
For the illustrative example:
- Strengthening rate:
1,150 / 9,600 = 12.0% - Weakening rate:
1,350 / 9,600 = 14.1% - Stability rate:
6,900 / 9,600 = 71.9% - Entry rate:
400 / 9,800 = 4.1%
Do not collapse strengthening and weakening into one net movement number. A net decline of 200 donors hides 2,500 donors who changed states and may need different treatment.
Separate donor behavior from scoring drift
Not every transition reflects a changed relationship. A donor can move because the measurement system moved around them.
Rolling-window movement
If frequency counts gifts in the trailing 24 months, an old gift can age out between snapshots. The donor’s frequency score may fall even without a new negative behavior. Flag transitions caused only by window aging.
Relative-score movement
Quintile scoring ranks donors against the rest of the current file. A donor’s monetary score can change even when their own giving does not, because other donors entered or gave more. If you use relative bands, store the thresholds applied at each snapshot.
Rule-version movement
A revised recency cutoff, new gift-type exclusion, or corrected duplicate can reclassify donors. Recalculate both snapshots with the same rule version when possible. Otherwise, report a separate “rule change” transition so it does not masquerade as fundraising performance.
Data-repair movement
Merged identities, imported historical gifts, and corrected dates may produce legitimate reclassification without representing a new donor action. Keep a data-repair reason alongside the transition.
This control extends the principles in the ReportWerks join-key audit: identity, grain, and rule consistency must be trustworthy before movement can support a decision.
Diagnose movement without turning association into cause
Once the matrix reconciles, break transitions down by useful dimensions:
- acquisition source or first-gift campaign
- most recent appeal or channel
- designation or program interest
- assigned fundraiser or portfolio
- stewardship completion status
- gift type, recurring status, or giving band
These cuts help teams find patterns, but they do not prove that a campaign or touchpoint caused the transition. Use them to form a testable question: “Did donors who completed the welcome sequence strengthen more often than comparable donors who did not?” Then use an appropriate test or experiment before making a causal claim.
Turn each transition into an owned decision
| Transition | Decision | Useful owner |
|---|---|---|
| New to repeat giver | Protect the developing habit with relevant stewardship before the next ask. | Annual giving or stewardship |
| Repeat to high-value | Review recognition, relationship ownership, and ask strategy. | Major gifts or development |
| Recent loyal to at risk | Prioritize by prior frequency, value, and recent engagement. | Retention or donor relations |
| At risk to reactivated | Measure whether the return becomes durable rather than counting one comeback gift as success. | Reactivation or analytics |
| Any segment to unclassified | Repair identity, date, gift-type, or eligibility fields before outreach. | Database or operations |
For groups that entered through a first gift, pair the migration view with the donor cohort retention report. Cohorts compare donors at the same relationship age; migration shows the state changes occurring inside those cohorts.
Five checks before releasing the report
- Reconcile identities. Every tracked donor appears once in each eligible snapshot.
- Reconcile movement. Prior population plus entries minus exits equals current population, with unclassified records shown separately.
- Hold rules constant. Both snapshots use the same grain, gift treatment, thresholds, windows, and rule version, or differences are isolated.
- Show count and value. A small number of high-value transitions may matter more than a large number of low-value transitions.
- Assign action ownership. Every priority transition has a named team, review cadence, and next step.
Use a decision-ready release status
- Ready: snapshots reconcile; rules are comparable; unclassified records are within an approved tolerance; every priority transition has an owner.
- Qualified: movement is directionally useful, but a visible rule change, rolling-window effect, or incomplete field limits interpretation.
- Blocked: identities do not reconcile, segment rules changed without a bridge, or data corrections could reverse the priority list.
ReportWerks brings marketing, fundraising, and performance data into a connected reporting view. For segment migration, the value is not another colorful donor score. It is a repeatable view of who changed, why the change appears in the data, and what the team should do next.
Next step: choose two comparable month-end or quarter-end dates. Recreate both donor snapshots with one rule version, assign every donor to one transition, and reconcile the movement before you interpret it. The first useful question is not “How many donors are loyal?” It is “Who became more or less connected, and what will we do about it?”




