Determine who's likely to donate soon
Important
Fundraising and Engagement is being retired. Support for Fundraising and Engagement will end at 11:59 PM Pacific Time on December 31, 2026. For more information, go to What’s new in Fundraising and Engagement.
The likelihood to donate AI model helps you understand which of your contacts are likely to donate soon. This forecast helps nonprofit marketers and fundraisers create new segments of donors to tailor their outreach based on this likelihood, sometimes referred to as propensity.
Train the model and generate categories
Before using the AI model, you need to train it.
Note
By default, only system administrators have access to the model training flows. They can share access with other users.
In the Power Apps portal, go to Solutions.
Select All, and then search for the Likelihood to donate flows solution.
Ensure that all four flows within the solution are turned on. Select the ellipses next to each flow, and then select Turn on.
Open the Likelihood to donate Train & Score model flow. The flow runs with the default configuration. To change the parameters before you run the model, go to Adjust model parameters later in this article.
Run the flow. On the top menu, select Run.
To check the status of your training and scoring flow, select Run History or Details.
Note
Depending on your volume of data, it can take up to 72 hours for the model to be ready to run.
To make future model training and scoring easier, add yourself and any other team members who should have access to the Owners list in the flow details.
After you add owners, they can see the flow in the Shared with me Flows section in Power Apps:
View likelihood categories
To view likelihood categories after model training and scoring completes, open Fundraising and Engagement. Select Development, select Prospecting, and then select Giving model.
Note
If the model training isn't complete, or if the categories aren't yet synced, contacts remain in a Not analyzed category.
Interact with likelihood categories
After you generate likelihood categories, you can sort and filter them to create new segments. To see more data, you can add columns to the view.
If you use Dynamics 365 Customer Insights, you can create dynamic segments by filtering the contacts you want to assign and select Add to Dynamics 365 Customer Insights segment. To learn more about dynamic segments, go to Customer Insights documentation.
Note
Not all filters available in Fundraising and Engagement will transfer to Customer Insights.
You can export categories for use in third-party marketing tools.
Understand the likelihood categories
To determine why a certain contact is assigned to a given category, on the Likelihood to donate page, select a category to open the Likelihood to donate insights panel. This panel contains the most significant positive and negative attributes that contribute to the classification.
The model uses a range of data to assign a likelihood to donate category to your Fundraising and Engagement contacts.
Note
The AI model only scores active contacts.
The data that the model considers includes:
Group | Attribute | Requirement | Data type |
---|---|---|---|
Demographics | Gender | Optional | String |
Demographics | Birth date (Age) | Optional | Date |
Demographics | Household relationship | Optional | String |
Contact preferences | Preferred method of contact | Optional | String |
Contact preferences | Don't phone | Optional | Boolean |
Contact preferences | Don't email | Optional | Boolean |
Contact preferences | Don't postal mail | Optional | Boolean |
Donation frequency | Total number of transactions | Mandatory | Integer |
Donation frequency | Donation frequency | Mandatory | Float |
Donation frequency | Number of donations in the last three months | Mandatory | Integer |
Donation frequency | Number of donations in the last six months | Mandatory | Integer |
Donation frequency | Number of donations in the last nine months | Mandatory | Integer |
Donation frequency | Number of donations in the last 12 months | Mandatory | Integer |
Donation amount | Total donated amount | Mandatory | Float |
Donation amount | Average donation amount | Mandatory | Float |
Donation amount | Average donation amount in the last three months | Mandatory | Float |
Donation amount | Average donation amount in the last six months | Mandatory | Float |
Donation amount | Average donation amount in the last nine months | Mandatory | Float |
Donation amount | Average donation amount in the last 12 months | Mandatory | Float |
Donation amount | Max single transaction amount | Mandatory | Float |
Donation amount | Min single transaction amount | Mandatory | Float |
Donation tenure | Months since first donation | Mandatory | Integer |
Donation tenure | Months since last donation | Mandatory | Integer |
Event attendance frequency | Event attendance frequency | Optional | Float |
Event attendance frequency | Number of event attendances in the last three months | Optional | Integer |
Event attendance frequency | Number of event attendances in the last six months | Optional | Integer |
Event attendance frequency | Number of event attendances in the last nine months | Optional | Integer |
Event attendance frequency | Number of event attendances in the last 12 months | Optional | Integer |
Event attendance tenure | Months since first event attendance | Optional | Integer |
Event attendance tenure | Months since last event attendance | Optional | Integer |
Donation History Trend | Increase in amount over two years | Optional | Integer |
Donation History Trend | Increase in frequency over two years | Optional | Integer |
Payment Method | Number of payment types | Optional | Integer |
Relationship Duration | Months in database | Optional | Integer |
Based on the input variables, the model assigns one of several likelihood categories to your contact, ranging from Not likely to Most likely.
Contacts who don't yet have a score assigned by the model are categorized as Not analyzed. It's possible that these contacts were created after the initial training and scoring run, or they were excluded in the parameters. In rare cases, contacts are Not analyzed when there isn't enough data to assign a score or category.
Adjust model parameters
The model has several default values that you can customize for your goals. You can try different gift size thresholds, different prediction windows, and different cut lines for likelihood categorization.
To adjust the parameters from the default values:
In the Power Apps portal, go to Solutions.
Open the Likelihood to donate Configuration Data solution.
Select the parameters and adjust them based on the guidance in the following table.
User input parameter Accepted value Default value Description Include contacts without donation true/false false Specifies whether contacts without donation history are included in model training and scoring. Gift threshold Integer representing currency (for example, 100) 1 The model predicts the likelihood to donate above this gift amount. Prediction window Integer representing months (for example, 3) 3 The model predicts the likelihood to donate within this upcoming period. Categorization method [Static, Equal size, Percentile, Precision] Static Specifies the method used for setting the threshold values for score categories. Threshold cutoffs List of three values in the range [0, 1] [0.1, 0.6, 0.9] The list of three values that specify the thresholds for categorizing the scores.
Categorization methods
Four categorization methods are currently supported to create the likelihood categories:
Not likely
Fairly likely
Highly likely
Most likely
Static: This method uses fixed threshold values. You can customize the static values through the threshold cutoffs parameter. It's a good starting point if you don't have specific requirements or knowledge about the score distribution or the model's performance.
Equal: This method equally divides the score range from 0 to 1 into four categories.
Category Prediction score Not likely [0, 0.25] Fairly likely [0.25, 0.5] Highly likely [0.5, 0.75] Most likely [0.75, 1.0] This method ensures an equal width of score range for each category. However, it might result in unbalanced numbers of individuals in each category if the scores aren't evenly distributed. It's suitable if you believe the scores are evenly distributed.
Percentile: This method sets the thresholds at specific percentiles of the score distribution. It ensures a certain percentage of individuals fall into each category. You can customize the percentile values through the cuts parameter. For this method, think about how you want to distribute the individuals into different categories. For example, if you want the Most likely category to include the top 10% of individuals, set the third value in cuts to 90. Similarly, if you want the Highly likely category to include the next 20% of individuals, set the second value in cuts to 70.
Precision: This method sets the thresholds based on specific levels of precision from the model's performance. You can customize the precision values through the cuts parameter. For this method, think about the trade-off between precision and the size of each category. A higher precision means a more confident prediction, but it usually comes with a smaller category size. For example, if you want the Most likely category to have at least 90% precision, set the third value in cuts to 0.9.
It's crucial to choose the right threshold values, because it directly influences the categorization of individuals.
Assess model quality
Many factors influence model quality. These include data volume, data quality (such as completeness and integrity), and class imbalance (for example, a skewed distribution of contacts with and without donation history). Parameters also affect the model performance. For example, a lower gift threshold and a longer prediction window yield better performance than a higher gift threshold and a shorter prediction window.
Troubleshoot the AI model
This section includes troubleshooting information for using the Likelihood to donate AI model.
Why are all the likelihood categories "Not analyzed" after the model ran successfully?
Access to the likelihood to categories for each contact is restricted to the following security roles:
- Azure App User
- Finance Administrator
- Fundraiser Administrator
- Fundraiser
- Gift Processing Admin
- Gift Processing
- System Administrator
Users who don't have one of these roles assigned see the same category for all contacts.
Why is the training and scoring flow failing when I attempt to train the model?
An error can occur when the model isn't yet ready to run on your data. Ensure that you allowed 72 hours for the training, and then contact support if the issue persists.