Donor/Revenue Stream Forecasting
This use case explains how to forecast donations, membership income and other revenue streams for not-for-profit and education organisations in Model Reef.
You will:
Segment income streams by donor type, product or channel.
Model donor counts, retention, upgrade and acquisition.
Forecast memberships, events and earned revenue.
Connect income streams to programs and group level reporting.
Model Reef is not a donor CRM. It sits above CRM and fundraising tools, using aggregated metrics and imported data to drive financial forecasts.
When to use this pattern
Use this pattern when:
You rely on a mix of grants, donations, memberships, events and earned income.
You want to understand how donor behaviour drives revenue.
You need to test campaigns, pricing and retention strategies.
You want fundraising and earned income assumptions integrated with program costs and cash planning.
It is often used alongside:
Grant Funding Models
Program Cost Modelling
Multi Program Consolidated Reporting
Architecture overview
Donor and revenue stream forecasting uses:
Income stream segmentation
Individual donors, major donors, corporates, trusts and foundations.
Memberships, events, courses or products.
Channels such as digital, mail, face to face or corporate partnerships.
Donor and customer drivers
Donor or member counts by segment.
Retention, upgrade and acquisition rates.
Average gift or spend per donor, member or transaction.
Revenue variables
Revenue per segment and channel.
One off versus recurring streams.
Timing of receipts.
Financial outputs
Income by source and program.
Channel performance metrics.
Cashflow and volatility patterns.
Step 1: Define revenue segments and channels
Create a list of income streams that matter for planning, such as:
Individual regular giving.
Individual one off donations.
Major donors.
Corporate giving and sponsorship.
Trusts and foundations.
Memberships or subscriptions.
Events and campaigns.
Course fees or tuition.
Merchandise or other earned income.
For each stream, decide whether it will live in:
A program branch, where it is directly linked to a program, or
A central fundraising or revenue branch, where it supports multiple programs.
Step 2: Create donor and customer drivers
In the Data Library, create time series drivers such as:
Number of Regular Givers.Average Monthly Gift - Regular Givers.Number of One Off Donors per Campaign.Average One Off Gift.Number of MembersandAverage Membership Fee.Event AttendeesandAverage Ticket Price.
Where relevant, also define behavioural drivers:
Retention Rate - Regular Givers.Upgrade Rate - Regular Givers.Acquisition Rateor new donor counts.Churn Rate - Members.
You can implement these as direct level drivers (counts and amounts per period) or as transition drivers that change the counts over time.
Step 3: Build revenue variables per stream
For each segment, create Revenue type variables, for example:
Revenue - Regular Giving.
Revenue - One Off Giving.
Revenue - Major Donors.
Revenue - Membership Fees.
Revenue - Events.
Revenue - Course Fees.
Define formulas such as:
Revenue - Regular Giving = Number of Regular Givers × Average Monthly Gift × 12 for annual models, or times the number of periods in each period.
Revenue - Membership Fees = Number of Members × Average Membership Fee per Period.
For events and campaigns, you can model:
Number of events.
Average attendees per event.
Average revenue per attendee.
These variables will flow into P&L and cash once timing is configured.
Step 4: Apply timing and payment methods
For each revenue variable, define timing rules that reflect how cash arrives, for example:
Regular giving debits at the start or end of each month.
Online donations cleared within a few days.
Direct debit batches with a small delay.
Event ticket sales occurring ahead of the event date.
Course fees collected up front or per term.
Set delays or schedules so that:
Revenue is recognised when earned in P&L.
Receivables or deferred income appear on the Balance Sheet where appropriate.
Cashflow and Cash Waterfall reflect actual inflows.
This allows you to see the impact of revenue seasonality and the lag between campaign activity and cash received.
Step 5: Map revenue streams to programs and purposes
To understand how revenue supports program activity:
Use branches to link revenue streams directly to programs where restricted.
Represent unrestricted or general funds in a central branch and allocate them conceptually to programs in reporting views.
Tag revenue variables with program or purpose where a single stream supports multiple areas.
Custom reports and dashboards can then show:
Income by source per program.
Share of restricted versus unrestricted funding.
Dependence on particular donor types or channels.
This supports risk assessment and communication with funders and boards.
Step 6: Use scenarios for campaigns and behaviour changes
Clone the base model into scenario models to explore situations such as:
Increased investment in acquisition campaigns.
Changes in retention or upgrade rates.
Loss of a major donor or partner.
Introduction of new revenue products, memberships or events.
Macro shocks that reduce giving or course enrolments.
In each scenario, adjust:
Donor and member counts.
Behavioural drivers (retention, upgrade, churn).
Average gift or spend per donor, member or customer.
Campaign volumes and cost where linked to program or fundraising costs.
Compare scenarios using:
Total income by stream and in aggregate.
Volatility and concentration of income.
Cash runway and reserves.
Ability to fund program portfolios over time.
Check your work
Donor, member and customer counts reflect recent history when the model is calibrated.
Average gift and behavioural assumptions are realistic, based on internal data or benchmarks.
Revenue timing assumptions match actual payment patterns.
The model is segmented enough to be useful but not so granular that it is hard to maintain.
Troubleshooting
Related guides
Last updated