Skip to content

Demographics ​

Demographics is a read-only report that summarizes your active member roll across the dimensions you typically care about β€” age distribution, gender split, member type breakdown, geographic spread. No template setup, no submissions. The data refreshes whenever you load the page.

Demographics dashboard

What you see ​

The page has four main panels:

1. Age distribution ​

A bar chart of active members grouped into age bands:

  • Under 12 (children)
  • 13–17 (youth)
  • 18–24 (young adults)
  • 25–34
  • 35–44
  • 45–54
  • 55–64
  • 65+
  • Unknown (members with no DOB on file)

The Unknown band is worth tracking β€” if it's a big slice, your data is missing values that your real demographics would otherwise reveal.

2. Gender split ​

A donut chart showing male / female / other / unknown.

3. Member type ​

A breakdown by the member type column on each profile β€” Visitor, Member, Leader, etc. Whatever values your member-types table contains will appear here.

4. Geographic distribution ​

A bar chart by country (or by state/city, depending on your filter scope) showing where your members live. Pairs nicely with the map module if you want spatial views.

Filters ​

The top filter bar narrows every panel at once:

  • Date range β€” by member registration date.
  • Org unit β€” limit to a branch / center / cell.
  • Member type β€” focus on visitors only, or leaders only.
  • Status β€” active, lost, or both.

Filter state lives in the URL β€” share a link to a specific view by copy-pasting.

What's the data source? ​

Demographics reads directly from the members table. There's no separate stored snapshot β€” each panel queries live.

PanelSource field
Agedate_of_birth
Gendergender
Member typemember_type_id joined to member_types
Geographiccountry / state_id / city

This means data quality matters. The more profile fields you keep up to date, the more useful demographics becomes.

Exporting ​

Each panel has an export action β€” CSV with the raw counts. The chart itself can be exported as PNG for slides.

Cross-tab views ​

Beyond the standalone panels, the cross-tab tab lets you slice one dimension by another. Common cross-tabs:

  • Age Γ— gender β€” how does our 25-34 cohort split by gender?
  • Member type Γ— org unit β€” which branch has the most leaders?
  • Status Γ— member type β€” of our lost members, how many were visitors who never returned vs former active members?

The trends tab shows how each demographic has changed over the last 12 months. Useful for spotting drift β€” we're skewing younger / older / more international.

Permissions ​

ActionAdminShepherdMember
View demographicsyesscoped to unitno
Exportyesscopedno

Shepherds see only the members in their assigned units, so a shepherd-level demographics view is necessarily smaller than the org-wide view.

Limitations and known gaps ​

  • We don't yet have race or ethnicity fields β€” by default these vary too much by jurisdiction to ship out of the box. Add a custom field if you need it.
  • Age uses date-of-birth at the time you view, not at the time of registration. Reporting "demographics last year" shows ages as they are today, not as they were a year ago. We're considering an as-of timestamp option.
  • Geographic data is country/state/city only β€” no neighborhood-level breakdown unless you add a custom field.

Common questions ​

Why is "Unknown" age so big? Most likely your bulk import didn't include DOB. Backfill from your old system or ask members to update their profiles.

Can I see demographics for a single Sunday's attendees rather than the full roll? That cross-cut (member demographics Γ— attendance) is on the roadmap. For now, the demographics page is members-based.

Is the data real-time? Yes β€” each load runs fresh queries against the database.

Next steps ​

  • Member profile β€” the source of demographic data.
  • Custom fields β€” extend demographics with church-specific dimensions.
  • Reports overview β€” manual-submission reports, complementary to this auto-generated view.