Skip to content

Group reporting ​

The Groups module surfaces three categories of reports: roster reports (who's currently in each group), member-count reports (how groups are sized and how that's trending), and attendance reports (engagement per group over time). All three are reads against the same groups / group_members / attendances tables; the difference is the lens.

This article covers what each surface answers, how to export, and where the data shows up across the rest of GCM.

The Groups list as a report ​

The simplest report is the Groups list itself. Each card shows:

  • The group's name and description.
  • The current member count as a big tabular number (re-computed live every page load).
  • The group's org unit chip, if assigned.

The page header sums it up: "N groups with M total members" across whatever filter you've applied. Combine that with the search box and the hierarchy cascading filter at the top and you've got a quick read on how groups are distributed across your campuses or branches.

Groups list as a report

For a single campus pastor: pick your campus in the hierarchy filter and the numbers narrow to your scope.

Roster export from the group detail page ​

The full roster for a single group exports from the View all button on the group detail page. That button doesn't dump a CSV directly β€” it deep-links to the Members page with the group's filter already applied. From the Members page you can:

  1. Choose which member fields to include in the export β€” phone, email, custom fields, the works.
  2. Click Export in the top-right.
  3. Download a CSV with one row per group member.

This indirection is intentional. It means the export honors the same permissions, the same column config, and the same locale/formatting as every other member export β€” there's no separate code path for group rosters. If you can export from Members, you can export a group's roster.

TIP

The deep-link URL is /members?group=<group_id>&label=<group name>. You can bookmark it or paste it into a Slack channel β€” anyone with members.view and groups.view can follow the link and land on the same filtered view.

For bulk roster pulls across multiple groups, run the export from Members with a Group is one of (...) filter rather than visiting each group page individually.

Member counts per group ​

The card count on the Groups list is the live read, but you can also build dashboard widgets and recurring reports off the same number.

Dashboard widget ​

The dashboard supports a chart source called Group Members that aggregates the group_members table:

  • Measure: count
  • Group by: group_id (rendered as the group's name)
  • Filter: date range β€” or no date filter, for "current roster size per group"

The result is a bar chart of members per group, sortable largest-to-smallest. Add it to your home dashboard from Dashboards and you've got a constantly-updating leaderboard of group health.

For per-org-unit comparisons (which campuses have larger home groups?), add a second group-by on org_unit_id β€” the chart stacks groups by campus.

Per-period growth ​

To see how each group is growing, change the date column on the same source. The group_members table carries a created_at so a per-month bar chart of new memberships shows you which groups are growing fastest. Pair this with the lost-member workflow β€” if a group's adds are outpaced by its losses, the chart catches it before the leader does.

Group attendance flows through the same Attendance module as Sunday service β€” see Group attendance for the underlying model. The reporting hooks:

On the group detail page ​

The attendance chart on the group's detail page shows one bar per meeting occurrence within the chosen date range. This is the leader's at-a-glance view β€” "is my group's attendance climbing, flat, or dropping?"

In the Attendance Reports module ​

For deeper analysis, go to Attendance β†’ Reports and filter by the group's meeting. The Reports module supports:

  • Grouping by week, month, or quarter.
  • Comparing the trend to the overall service-attendance trend (is your group tracking with the org or diverging?).
  • Exporting the raw attendance rows to CSV β€” useful for pastoral debriefs and quarterly elder reviews.

Across groups ​

To compare multiple groups against each other, build a custom chart on the Attendance source with a group_id group-by (via the meeting β†’ group join). The dashboard then shows attendance count per group as separate bars or as a stacked area chart. Useful for leadership team meetings β€” "Westside is steady, Eastside is dropping, Downtown is climbing."

Submitting a periodic group report ​

Some churches require group leaders to submit a weekly group report β€” how many came? what was the topic? any pastoral concerns?. GCM ships this as a generic Reports capability rather than a group-specific form:

  1. Create a report template called Weekly Group Report. Include fields for date, topic, attendance count, prayer requests, follow-ups.
  2. Configure who has to submit it β€” typically every member with the Group leadership role custom field set.
  3. Set the cadence β€” weekly, due by Wednesday for Tuesday groups, etc.
  4. Group leaders submit the report from their phone after each meeting.

Submitted reports roll up to a single dashboard for the pastoral team β€” see Reports overview for the full surface. Combine the count submitted with the attendance chart from the previous section to get a complete picture: did the meeting happen, who came, and what did the leader notice?

Permissions ​

ActionRequired permission
See group cards and countsgroups.view
Open group detail and attendance chartgroups.view
Export the roster (via Members deep-link)groups.view + members.export
Build dashboard widgets on groupsreports.view (dashboards)
Submit / read periodic group reportsreports.submit / reports.view

Unit-scoped pastors only see groups inside their scope on the Groups list, and the dashboard widgets respect the same scoping β€” a regional pastor's members per group widget only shows their region's groups, with the org-wide totals filtered out.

A note on what's not yet built ​

A few group-specific report surfaces are on the roadmap but not shipped today:

  • A built-in group-leader scorecard page that surfaces roster size, attendance rate, and recent submitted reports per leader.
  • Group lifecycle analytics β€” average age of groups, churn rate, growth curve.
  • Multiplication tracking β€” when one group splits into two, GCM doesn't yet carry that lineage automatically.

If any of these are blocking your team's reporting, open a feature request with the concrete use case β€” that's how priorities get set.

Next steps ​