“What’s our renewal rate?” sounds like a single number. In practice, ask three people at the same museum and you’ll get three answers, because each of them is dividing different things. Before you build anything in Altru, settle the definitions. The query work is the easy part once you know what you’re counting.
Renewal rate and retention rate are not the same metric
They get used interchangeably, but they answer different questions:
- Renewal rate looks at a cohort of memberships that came due in a given window and asks how many renewed. Example: 400 memberships expired in March; 260 of them renewed. Renewal rate is 65%.
- Retention rate looks at your whole active base at one point in time and asks how many were still active a year later. Example: 5,000 active members on January 1; 3,600 of those same members were active the following January 1. Retention is 72%. New joins during the year are left out of the numerator, otherwise a strong acquisition year hides churn.
Renewal rate is the one your membership manager watches month to month. Retention is the one leadership and the board usually mean. Track both, and label them clearly on every report.
Decisions to make before you build the query
Write these down and get agreement, because each one changes the number:
- What counts as “renewed.” Does an upgrade or downgrade count? (Most organizations say yes: the household stayed.) Does a renewal paid by someone else, such as a gift, count for the recipient?
- How long the grace period is. A member who expires in March and pays in May: renewal or rejoin? Pick a window, commonly 60 to 90 days, and wait until it closes before you call a cohort final. A March cohort measured on April 1 will always look worse than it is.
- The unit you count. Memberships, constituents, or households. Counting memberships is the simplest in Altru, but if a family switches from one primary member to another on renewal, a constituent-based count can show a false lapse. Decide which you trust and stick with it.
- What to exclude. Comp memberships, staff, reciprocal or partner programs, and multi-year terms that weren’t actually due in the window usually skew the rate. Either leave them out or report them separately.
Building the renewal rate from Altru queries
The general approach that works for most Altru sites uses two membership queries rather than one clever report:
- The cohort query (denominator). A membership query filtered to memberships whose expiration date falls inside your window, for example March 1 to March 31, restricted to the programs and levels you decided to include. Output the membership ID, constituent, program, level, and expiration date.
- The outcome check (numerator). For the same records, you need to know whether a renewal, upgrade, or downgrade transaction happened before the grace period closed, or whether the current expiration date has moved past the old one. Depending on how your membership fields are exposed in the query designer, you may be able to output the current expiration date and the most recent transaction date and type directly on the cohort query. If not, run a second query of membership transactions in the window and match the two on membership or constituent ID.
- The math. Renewed records divided by cohort records. Do it in a spreadsheet so the formula is visible and someone else can check it.
Field availability varies with how your Altru membership programs are set up, so build the cohort query first and look at which date and transaction fields you can actually output. If the transaction history you need isn’t reachable, Blackbaud support can confirm whether it exists in a different query view or requires a report instead.
Retention uses a snapshot instead of a window
For retention, the denominator is everyone active on your start date (expiration date on or after that day, membership not cancelled). The numerator is the subset of those same IDs still active on the end date. Save the start-date list as a static selection or export it the day you run it, because once renewals post, a live query can’t tell you who was active on a date in the past.
Things that quietly distort the number
- Duplicate constituents. A member who renews online under a slightly different email can create a second record, which shows up as one lapse plus one new join. Clean duplicates before you trust a retention figure.
- Renew vs. rejoin at the desk. If staff process a lapsed member as a new join instead of a renewal, it will drop out of your renewal count. Your grace period definition and desk procedure need to agree.
- Measuring too early. Always wait out the grace period. Report the most recent month as “provisional” if you have to show it.
- Mixed terms. Monthly, annual, and multi-year memberships renew on different rhythms. Blending them into one percentage rarely tells you anything useful.
Make it a monthly habit, not a project
Once the queries exist, the useful version of this is a simple table: one row per expiration month, with cohort size, renewed, rate, and a note on anything unusual (a price change, a lapsed-member campaign). Twelve rows side by side tell you far more than a single annual figure, and they show whether a renewal email series or a pricing change actually moved anything.
Breaking the rate out by level is worth the extra step. Entry-level and family memberships tend to behave very differently from higher-tier levels, and a single blended rate can hide a problem in one of them.
Keeping the spreadsheet current
The weak point in most renewal reporting is the monthly export: someone runs the queries, pastes them into a spreadsheet, and the formulas break when a column moves. Our Data Bridge syncs Altru query results to Google Sheets, so the cohort and transaction queries you built above can feed the sheet directly and the renewal-rate formulas sit on top of synced query data instead of a hand-pasted export.
Quick answers
Does Altru have a built-in retention rate report?
Altru includes standard membership reports, but whether any of them calculates retention the way your organization defines it is worth confirming in your own environment. Most teams end up using queries plus a spreadsheet because they need control over the grace period and exclusions.
Should rejoined members count as renewals?
Not in your renewal rate. Track them separately as “recaptured” members, which is a useful measure of how well your lapsed-member outreach works.



