Altru Membership Status Over Time: Point-in-Time Counts
← Back to Blog

How to See Altru Membership Status Snapshots Over Time

October 31, 2026

“How many active members did we have on June 30 last year?” sounds like a simple board-report question. In Altru it often isn’t. Membership status is a live value: it reflects where each membership stands today, not where it stood on a date in the past. Run the same query in six months and you get a different answer, and last quarter’s number is gone unless someone saved it.

There are two ways to get point-in-time membership numbers. You can reconstruct a past date from the membership dates Altru keeps, or you can capture snapshots going forward so you never have to reconstruct again. Most organizations end up doing both.

Why the status field can’t answer historical questions

A membership’s status (active, lapsed, cancelled and so on) is recalculated as dates pass and transactions are added. When a lapsed member rejoins, their record shows active. When someone’s expiration date is corrected by hand, the old date is replaced. Smart fields behave the same way: they’re useful for current counts, but they recalculate, so they describe the present.

That means a query filtered on “status = active” only tells you about today. To answer “as of” questions, you need to work from dates instead of status.

Option 1: Reconstruct a past date from membership dates

Altru keeps membership transaction history (joins, renewals, upgrades, rejoins) along with term dates. In principle, a member was active on a given date if one of their terms started on or before that date and expired on or after it. You can build a membership query around that logic:

  1. Pick your “as of” date, for example the last day of your fiscal year.
  2. Query membership transactions where the term start is on or before that date and the expiration is on or after it.
  3. Output the membership ID, constituent, membership program, level, and the term dates so you can spot-check results.
  4. Count distinct memberships (not transactions), so a member who renewed early doesn’t appear twice.
  5. Group by level or program if the board wants the breakdown.

Before you trust the number, test it. Pick a handful of members whose history you know, including someone who lapsed and rejoined, someone who upgraded mid-term, and someone who cancelled, and confirm the query treats each one the way your team would. Exactly which date fields are available at the transaction level depends on your query views, so if a field you need isn’t there, check with Blackbaud support or try it in a sandbox before building a report around it.

Where reconstruction goes wrong

  • Edited dates. If staff changed an expiration date to fix a renewal, your reconstruction uses the corrected date, not what the record said at the time.
  • Cancellations. A membership cancelled mid-term may still show a future expiration. Decide whether cancelled members count as active before the cancellation date, and filter accordingly.
  • Grace periods. If your policy treats members as active for 30 days after expiration, your query has to apply the same rule, or your counts won’t match what desk staff experienced.
  • Members versus memberships. A household membership may cover several people. Be clear whether you’re reporting memberships, cardholders, or households, and use the same unit every time.

Reconstruction is good for filling in history you never captured. It’s not great as your only method, because the answer can quietly shift whenever someone edits an old record.

Option 2: Capture snapshots going forward

The more reliable approach is to freeze the numbers on a schedule. Once a snapshot is saved outside Altru, later edits can’t change it.

A simple version:

  1. Build one membership query with the fields you’ll want to trend: program, level, status, expiration date, join date, and constituent ID.
  2. On the same day each month (the first is easiest to remember), export the results.
  3. Save each export with the date in the file name, or paste summary counts into a running spreadsheet with one row per month.
  4. Assign an owner and a backup. Snapshots only work if nobody skips a month.

Keep the full row-level export, not just totals. Totals answer “how many,” but the detail lets you answer the follow-ups: how many of last June’s members renewed, which levels lost the most people, and how many lapsed members came back within a year.

Decide your definitions once

Write down what “active,” “lapsed,” and “new” mean for reporting, including your grace period, and keep the query matching that definition. If the definition changes, note the month it changed in the spreadsheet so nobody compares unlike numbers later.

Which approach to use

  • You need last year’s number for a report due this week: reconstruct it, spot-check it, and footnote how it was calculated.
  • You want trend lines for retention, level mix, or growth: start monthly snapshots now. In a year you’ll have clean data that no record edit can change.
  • You need both: reconstruct the past twelve months once, then switch to snapshots and stop reconstructing.

Making snapshots less manual

The weak point in Option 2 is the monthly export, which depends on someone remembering to do it. Data Bridge syncs Altru query results to Google Sheets, so your membership query stays current in a sheet without manual exports. From there, a history tab that copies the current counts each month (a short Sheets formula or script your team controls) gives you a running record that Altru edits can’t rewrite.

Quick answers

Does Altru store a history of membership status?
It stores membership transactions and term dates, which you can use to work out past status. It doesn’t keep a ready-made report of what the status field said on each past date, so test any reconstruction against members whose history you know.

How often should we take snapshots?
Monthly works for most boards and retention reports. If you watch renewals closely around a campaign, add a weekly snapshot for that period.

Continue reading

How to Track Instructor Activity for Scheduled Programs in Altru

How to Track Instructor Activity for Scheduled Programs in Altru

“How many classes did Maria teach last spring, and which ones?” It sounds like a question Altru should answer in ten seconds. In practice, many education departments end up digging through calendars, email threads, and a payroll spreadsheet to piece it together, because the instructor was never recorded anywhere a query could find. Altru is

How to Turn a Group Sales Overpayment Into a Donation in Altru

How to Turn a Group Sales Overpayment Into a Donation in Altru

A school books a field trip for 60 students, sends a check for the full quote, and then 48 kids show up. The teacher says, “Keep the difference, it’s a gift.” Now you have a group sales order that is overpaid, money that is really a donation, and a deposit that has to balance. The

Can a Spouse Be a Fundraiser in Altru? Solicitor Credit for Couples

Can a Spouse Be a Fundraiser in Altru? Solicitor Credit for Couples

It happens more often than you’d expect. A board member and her husband both care about your capital campaign. She asks a friend for a gift, but it was really his introduction and his follow-up phone call that closed it. Development wants him credited as the fundraiser on that gift. Then someone at the desk

Social Good platform

See it in action

Get started with Social Good

Book a demo to see Social Good Software in action for Altru.

Book a Demo
Social Good platform

See Social Good in action

Tell us a bit about your organization and we’ll take you straight to short demo walkthroughs of the software.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.