Skip to main content
Why major‑gift pipelines stall: operational prospect scoring and moves‑management rules for mid-sized nonprofits

Why major‑gift pipelines stall: operational prospect scoring and moves‑management rules for mid-sized nonprofits

It looks like momentum.

Most stalled major-gift pipelines don't look stalled. Open your CRM and you'll see 180 prospects assigned across three gift officers, a healthy mix of "identification," "cultivation," and "solicitation" stages, and a dashboard your ED can screenshot for the board. It looks like momentum.

The pipeline looks full on paper, but nothing is actually moving

Then you pull the last-contact dates. Half those prospects haven't had a meaningful touch in 90+ days. A third were qualified two years ago and never re-scored. And when you ask a gift officer why a $50k-capacity prospect is still sitting in "cultivation," the honest answer is usually: "I wasn't sure they were ready, so I kept waiting."

That's the real failure mode. Not laziness, not bad relationships. Most mid-sized shops run prospect scoring as a one-time wealth-screen import and manage moves by gut feel after that. The scoring never updates, the queue never forces action, and prospects quietly rot in the middle of the funnel.

This post covers the field-level scoring logic, the enrichment cadence that keeps scores honest, and a moves-management task queue with real thresholds you can drop into your CRM this quarter.

Why scores go stale (and why that's the actual problem)

A nonprofit buys a wealth screening, imports capacity ratings, maybe adds a "major gift prospect" checkbox, and calls it a scoring system. Six months later that data describes a donor who no longer exists — they've since given twice, opened your last four emails, attended a gala, and had a liquidity event none of your fields captured.

Prospect scoring isn't a wealth number. Capacity is only one leg. A donor with $2M in giving capacity who ignores every email and hasn't responded to a call in eight months is not a live prospect — they're a research project. Meanwhile the retiree with modest capacity who opens everything, replies to your ED personally, and just increased their recurring gift is a genuine moves-management priority most systems score too low.

The mistake is treating capacity as the score. Capacity tells you the ceiling. Affinity and engagement tell you whether that ceiling is reachable this year or in five years. If your scoring collapses all three into one number — or worse, only tracks one — your gift officers can't distinguish "ready to ask" from "keep warm" from "stop wasting time." So they hedge, and hedging is what stalls the pipeline.

A three-part score that actually reflects readiness

Score every prospect on three separate axes. Keep them separate. Combining them into a single number too early hides the story your gift officers need.

Capacity (0–40 points). What could this person give at their stretch, based on wealth indicators, real estate, business ownership, prior giving to peer orgs.

Affinity (0–35 points). How connected are they to your mission specifically — board relationships, event attendance history, program involvement, volunteer hours, named-fund interest, family connection to your cause.

Engagement (0–25 points). Recent, observable behavior. Email opens and clicks, gift recency, meeting acceptance, event RSVPs, reply activity. This is the leg that decays fastest and matters most for timing.

Here's a working point breakdown you can adapt:

SignalAxisPoints
Estimated capacity $100k+Capacity40
Estimated capacity $25k–$99kCapacity25
Estimated capacity $5k–$24kCapacity12
Board or staff relationshipAffinity15
Gave to 2+ mission-aligned peer orgsAffinity10
Program participant / family beneficiaryAffinity10
Attended 2+ events in 18 monthsAffinity8
Gift within last 6 monthsEngagement12
Opened 3+ of last 5 emailsEngagement7
Accepted a meeting in last 90 daysEngagement6

Total possible: 100. But the total isn't what triggers action — the combination is. A prospect at 78 points made up of 40 capacity / 30 affinity / 8 engagement is a cultivation problem. Plenty of ceiling and connection, but they've gone quiet. A prospect at 62 points made up of 25 / 12 / 25 is a solicitation opportunity — modest ceiling, fully engaged, ready to be asked now.

That distinction is the whole game, and it disappears the moment you reduce everything to one number.

The enrichment cadence: scores are worthless if they don't refresh

A score calculated once is a snapshot of a moving object. The single biggest reason pipelines stall is that engagement scores — the leg that tells you timing — go stale within weeks and nobody recalculates them.

Set a tiered refresh cadence based on where a prospect sits:

  1. Engagement recalculation — weekly, automated. Opens, clicks, gift recency, meeting activity. These fields change constantly and should never be more than 7 days old for active prospects.
  2. Affinity review — quarterly. Event attendance, new board connections, program involvement. Slower-moving, but a new volunteer stint or a personal note to your ED should bump this within the quarter.
  3. Capacity re-screen — annually, plus event triggers. Full wealth re-screen once a year. But flag event triggers in between: a business sale, a property transaction, an inheritance, a bequest inquiry. These are the moments capacity jumps and most orgs miss them entirely.

The operational trap is doing all three on the same annual cycle because that's when the wealth-screening vendor invoice comes due. Capacity can wait a year. Engagement cannot wait a month. Split the cadences or your "hot" list will always be describing last quarter.

This is where an operational platform earns its keep — not by being clever, but by handling the boring recalculation reliably. Automated enrichment can pull email engagement nightly, recompute the engagement leg weekly, and surface any prospect whose score crossed a threshold, so nobody has to manually re-run reports every Monday. A human recalculating 180 engagement scores by hand simply won't happen consistently, and the scores drift until they're fiction.

Turning scores into a moves-management task queue with real thresholds

Scoring only matters if it forces a next action. Below is a queue logic that converts score states into specific tasks. The thresholds are starting points — tune them to your team's capacity — but the structure is what stops prospects from sitting untouched.

The flow below maps score combinations to queue actions.

Process diagram
  1. Qualify (new or re-scored)

    Total ≥ 55 AND Capacity ≥ 25 → assign to a gift officer, schedule qualification call within 14 days.

  2. Cultivate

    Total ≥ 60, Affinity ≥ 20, but Engagement < 10 → the connection exists, the recent behavior doesn't. Task: two personalized touches over 30 days aimed at re-engaging (not asking).

  3. Solicit-ready

    Capacity ≥ 25 AND Affinity ≥ 20 AND Engagement ≥ 15 → all three legs live. Task: build proposal, set ask meeting within 21 days.

  4. Stewardship hold

    Gave a major gift in last 90 days → suppress from ask queue, route to stewardship track.

  5. Deprioritize

    Engagement < 6 for two consecutive quarters despite outreach → move to a lighter-touch cultivation pool, reassign officer capacity elsewhere.

The deprioritize rule is the one nobody wants to write and everybody needs. Gift officers hold onto high-capacity names emotionally, even when engagement flatlines for a year. A hard rule — two quiet quarters despite real outreach → out of the active queue — frees officer time for prospects who'll actually convert. Protecting a portfolio of unresponsive $100k names feels like ambition. It's usually just avoidance.

Sample CRM queries you can adapt

Solicit-ready queue: WHERE capacityscore >= 25 AND affinityscore >= 20 AND engagementscore >= 15 AND lastmajorgiftdate < TODAY - 90 AND stage IN ('Cultivation','Qualified') ORDER BY (capacityscore + affinityscore + engagement_score) DESC

Stalled-cultivation alert (the pipeline killer): WHERE stage = 'Cultivation' AND affinityscore >= 20 AND lastcontactdate < TODAY - 90 ORDER BY lastcontact_date ASC

Capacity-event watchlist (re-score triggers): WHERE capacityflagchanged = TRUE AND lastcapacityscreen < TODAY - 30

Run the stalled-cultivation query every Monday and you'll immediately see the prospects your dashboard is hiding. In most mid-sized shops, the first time you run it returns an uncomfortable number.

A real scenario: what fixing the cadence actually changes

A regional health nonprofit — roughly $4M annual revenue, three gift officers, about 210 active major-gift prospects — had a pipeline that looked healthy and a major-gift line that had been flat for two years.

When they pulled last-contact dates, close to 40% of "cultivation" prospects hadn't had a substantive touch in over 90 days. Their scoring was a single wealth-capacity number imported 18 months earlier and never refreshed. Officers were spending time on high-capacity, zero-engagement names because those looked most impressive on the portfolio.

They split the scoring into the three legs, set weekly engagement recalculation, and stood up the moves queue with the thresholds above. The deprioritize rule pushed around 30 unresponsive names out of active portfolios. That freed enough officer time to actually work the solicit-ready queue, which the old system had never surfaced clearly.

Over the following two quarters they moved somewhere in the range of 15–18 prospects into active solicitation that had been stuck in cultivation, and closed a handful of asks in the $10k–$40k range that had been "someday" for over a year. Nothing dramatic overnight — but the pipeline started moving, which after two flat years was the entire point.

When this makes sense — and when it doesn't

This makes sense when you have at least 100+ major-gift prospects, more than one gift officer, and a CRM that can actually store custom score fields and run segment queries. Below that scale, a spreadsheet and disciplined weekly review will get you most of the way, and formal scoring adds overhead you don't need.

This is a bad idea when your underlying data is a mess — duplicate constituents, missing engagement tracking, no reliable last-contact logging. Scoring bad data just produces confident wrong answers. Fix your data hygiene first. It's also premature if you don't yet have clean donor segments to build on; getting your operational donor segmentation taxonomy right is the foundation the scoring sits on top of.

Who should not do this: shops where gift officers won't log activity. Every threshold above depends on accurate lastcontactdate and engagement data. If touches happen in inboxes and hallway conversations that never make it into the CRM, your scores will be wrong and the queue will surface the wrong people. Solve the logging behavior before the scoring model.

The habit that keeps the pipeline honest

What actually keeps major-gift pipelines moving isn't a smarter algorithm. It's re-scoring engagement often enough that timing decisions reflect this month's reality, plus a queue that refuses to let prospects sit untouched.

Most stalls trace back to two missing rules: nothing forces re-engagement when a connected prospect goes quiet, and nothing forces deprioritization when an impressive name stays cold. Add those two rules, split your score into capacity, affinity, and engagement, and run the stalled-cultivation query every Monday. That combination surfaces the prospects your dashboard has been quietly burying.

And once the front of the funnel is moving, make sure the back end is too — the same discipline applied to converting and retaining smaller donors, like a structured 90-day onboarding workflow, is what keeps the whole donor base feeding your major-gift pipeline in the first place.

And once the front of the funnel is moving, make sure the back end is too — the same discipline applied to converting and retaining smaller donors, like a structured 90-day onboarding workflow, is what keeps the whole donor base feeding your major-gift pipeline in the first place.

Built for Nonprofits Tailored to philanthropy workflows and fundraising needs
Save Time Streamline donor management, volunteer coordination & campaign tracking
Engage Supporters Automated communications and personalized outreach
Increase Impact Maximize donations and volunteer participation