Calculating Donor Lifetime Value and Setting Donor Giving Targets in Salesforce’s NPSP

At the recent NPSP Day conference in Philadelphia, I had a good conversation about how to best track donor targets versus actual giving. It’s a challenge many nonprofit organizations face. Nonprofit development departments are increasingly under pressure to make their goals SMART—specific, measurable, achievable, relevant, and time-bound. Fortunately, defining these donor-giving goals using their CRM data works well. In this post, I’ll break down a few ways your nonprofit can set fundraising goals and track this data SMART-ly.

Donor Lifetime Value

One great metric to track fundraising goals is calculating Donor Lifetime Value (LTV), which represents what the average donor gives over the course of their interaction with your organization. You can use this number to forecast how much new donors are likely to give, which you can then compare with how much any given donor has given. You can also track your donor acquisition costs to project the return on investment for those efforts.

LTV is calculated as:

Average Value of Each Donation in a Year x Average Number of Gifts in a Year x Average Number of Years a Donor is Involved with your Organization

For example, if the average donation is $25, the average number of donations per year is 2, and donors are involved with your organization for 3 years on average, the LTV = $25 ×2×3 = $150.

Reporting on LTV in NPSP

To arrive at this number, save a new version of the NPSP report “Closed/Won Opps by Type and Fiscal Year.” Then, you should:

  • Create a number formula on the Account object called “Years Involved”; this formula will be:
YEAR (Account.npo02__LastCloseDate__c) -
YEAR(Account.npo02__FirstCloseDate__c) +1
  • On your report:
  1. Replace the Account Record Type summary field with Account.
  2. Remove the Fiscal Year group column
  3. Filter to just include the donations you care about with Close Date = Last Fiscal Year
  4. Click on the Amount field in the Outline section of the report builder and select Summarize Average in the Edit Column popover
  5. Add the Number of Gifts This Year field to your report
  6. Create a summary-level formula on the report called Average # of Gifts This Year. The formula will be:
Account.npo02__OppsClosedThisYear__c:AVG
  1. Create a summary-level formula on the report called Lifetime Value. The formula will be:
AMOUNT:AVG * Account.npo02__OppsClosedThisYear__c:AVG * Account.Years_Involved__c:AVG

Now, your report will pull the LTV for the donors included!

Tracking Giving Versus LTV

Now that you’ve arrived at LTV, you must track it in the system. Unfortunately, there’s no way to natively keep it up to date, but it’s probably sufficient to check the report at the start of your fiscal year and then set it in the system at that time. If you have one LTV that you want to track for your whole organization, you can do this by going to Setup > Custom Labels and creating a new label, LTV. For Value, then put the number that you generated in your report. (Be sure to just put in a number—no dollar sign!)

Now, on your Contact and Account, you can create a custom field called “Lifetime Value.” This will be a Currency Formula field. The formula will be: VALUE($Label.LTV).

Now, you can track LTV and visually compare the Total Gifts value to the LTV on your Contact. If you want a formula to quickly see the delta between the two, you can create another Currency Formula field on the Contact object called “Amount to LTV.” This formula will be:

IF(npo02__TotalOppAmount__c > VALUE($Label.LTV), 0, VALUE($Label.LTV) - npo02__TotalOppAmount__c)

So, if your organization’s LTV is $150 and you’ve acquired 20 donors in your campaign, the Total LTV will be $3,000. Note that this number represents the sum of average giving, so likely, some donors will give well over $150, whereas others will give less than that amount.

Next, you’ll create a new Currency Formula field on Campaign, named Donor Acquisition Cost. This formula is:

ActualCost / (NumberOfLeads + NumberOfContacts)

So, if your campaign costs $1,000 and results in the acquisition of 20 donors, the Donor Acquisition Cost is $50. Now, you’re able to calculate your Donor Acquisition ROI! You’ll want to create a new Percentage Formula field on Campaign called Donor Acquisition ROI. This formula will be:

(VALUE($Label.LTV) – Donor_Acquisition_Cost__c) / Donor_Acquisition_Cost__c

In our example, if the LTV is $150, and it costs $50 to acquire the donor, the campaign returned a net of $100 per donor. Divide that $100 by the $50 acquisition cost results in 2, meaning the ROI is 200%. That indicates that this type of Campaign is a great deal for your organization!

Defining Different LTVs for Different Donor Types

The gentleman I spoke to at NPSP Day needed to segment his Contacts, as his organization had different donor targets based on a variety of Contact attributes. Segmentation of donors is valuable for both you and your donors: it allows you to tailor your communication based on donors’ giving levels and interests.

As you start to segment your donors, you’ll find that different segments will have different LTVs, so you can more accurately understand how much a specific donor is “worth” based on their attributes. After all, a millionaire deeply invested in your organization’s mission will quickly surpass your overall LTV but might still be willing to give more. In contrast, someone who gave $5 when solicited at a farmer’s market will never come close to hitting the overall LTV.

Defining Segments

To segment your donor base, you’ll first want to figure out how you want to break them apart. A few common ways to segment are giving levels (you can use the Average Gift field to do this), the channel through which a donor supports your organization (you can use Lead Source to do this; some organizations may need to account for more complexity, as donors may support through multiple channels), or demographics (the field or fields you’ll use will depend on the things that are most important to your organization: location data, such as state, postal/zip code, gender identity, age, or custom fields you have created to track other demographic data).

Determining Your Segments’ LTVs

Once you’ve defined your segments, you can go to your LTV report that I described earlier, save a new version of it for each segment, and apply filters so that only the donors that meet the criteria of your segment are included. Each report will give you that segment’s LTV!

For example, let’s say that I segmented my donors by their Average Gift amount. I found that they fall into three segments, and my reports indicated the LTV for each:

  • Segment 1: Average Gift < $200, which has an LTV of $100
  • Segment 2: Average Gift between $200-$1,000, which has an LTV of $500,
  • Segment 3: Average Gift >$1,000, which has an LTV of $1,500.

I then create Custom Labels for each LTV:

  • LowLTV, with a value of 100
  • MidLTV, with a value of 500
  • HighLTV, with a value of 1500

Now you can create a Text Formula field called “Segment” on the Contact object to determine the Contact’s segment and update LTV to populate on that Contact for the segment!

Now you can create a Text Formula field called “Segment” on the Contact object to determine the Contact’s segment and update LTV to populate on that Contact for the segment!

In this example, my Segment formula will be:

IF(npo02__AverageAmount__c < 200, '<$200', IF(AND(npo02__AverageAmount__c > 199, npo02__AverageAmount__c < 1000), '$200-$1,000', '>$1000'))

Lastly, I can update my Lifetime Value formula field on the Contact object:

IF(Segment__c = '<$200', VALUE($Label.LowLTV), IF(Segment__c = '$200-$1,000', VALUE($Label.MidLTV), VALUE($Label.HighLTV)) 

Now, each Contact will show their LTV based on their giving segment, and as they increase their giving, they will dynamically move to a new segment with a new LTV!

Maintaining LTV

Tracking LTV is not a one-and-done proposition. Rather, you’ll want to run your overall LTV reports and LTV reports for each segment annually and update your custom labels to reflect the most up-to-date information. This way, as giving patterns change, you’ll be able to track, monitor, and respond to those changes, allowing you to better track giving trends and make the most of all your hard work tracking data!

Partner with Our Nonprofit Experts to Maximize Your Donor Relationships

Implementing effective donor tracking and LTV calculations in Salesforce’s Nonprofit Success Pack can seem complex, but it’s crucial for making data-driven decisions about your fundraising strategy.

As a Salesforce Consulting Partner with 15 years of experience serving nonprofits, we’ve helped hundreds of organizations implement sophisticated donor management solutions that drive increased giving and stronger donor relationships. We leverage our deep understanding of both NPSP’s capabilities and nonprofit operations to create SMART solutions that align with your mission while maximizing the return on your Salesforce investment.

If you’d like to optimize your existing Salesforce NPSP implementation or build a donor tracking strategy from the ground up, our team can help you leverage these powerful tools effectively. Contact us today to discuss how we can help your organization better understand and grow your donor relationships.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top