> ## Documentation Index
> Fetch the complete documentation index at: https://developers.scoutworks.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Data definitions

> Exactly what each figure the API returns counts, so a spreadsheet, a script or an AI assistant reads it the right way.

Every figure the API returns is defined here, and only here. The same words appear in the [API reference](https://developers.scoutworks.app/api-reference/introduction.md), in the AI connector’s tool descriptions, and behind the **How is this calculated?** button in Scoutworks.

If a definition changes, the [changelog](https://developers.scoutworks.app/changelog.md) says so, even when the shape of the response does not.

## Node metrics

The `metric` values of [`GET /nodes/metrics`](https://developers.scoutworks.app/guides/districts). Each row is one figure for one group or node, one section and one night.

### `member_count`

**Members.** Active memberships of young people. A young person in two groups counts once in each.

* Counts each active membership whose young person is not archived.
* A young person in two groups counts once in each group, so a total above those groups counts them twice.
* To count each young person once, read `young_people_count`.

**Sections:** One row per section, by the section’s age group, whichever group it belongs to. A membership with no section is `unassigned`. The section rows sum to `all` exactly.

**How fresh:** Built each night. A group that stops sharing, or moves to another district, leaves the totals above it at the next build, within 24 hours.

### `waiting_count`

**Waiting list.** Open waiting list entries.

* An entry counts while it is received, contacted or offered. Entries that have joined, withdrawn or been removed do not.
* A child on two groups’ waiting lists counts once on each.

**Sections:** One row per section the entries are waiting for, by its age group. An entry with no section chosen is `unassigned`. The section rows sum to `all` exactly.

**How fresh:** Built each night. A group that stops sharing, or moves to another district, leaves the totals above it at the next build, within 24 hours.

### `net_growth_12m`

**Net growth (12 months).** Memberships that started minus memberships that ended, over the 12 calendar months (UTC) up to and including the month the figure was built.

* A membership started when its join date falls in the window, whether or not it has ended since.
* A membership ended when it was archived in the window. An archive from before archive dates were recorded is dated by the last change to the young person’s record.
* So a young person who joined and left inside the window counts as one that started and one that ended: no change.
* A negative value means more memberships ended than started.

**Sections:** `all` only. The section a young person joined is not kept, so a split by section would mislead.

**How fresh:** Built each night. A group that stops sharing, or moves to another district, leaves the totals above it at the next build, within 24 hours.

### `young_people_count`

**Young people.** Young people with an active membership, each counted once, however many groups they belong to.

* Counts each young person, not archived, with at least one active membership in the group or node or in any group below it that shares data with it.
* A young person in two groups counts once, so a total above those groups can be lower than the sum of their own `young_people_count`. Never add `value` or `ownValue` across rows to get a total: read the node’s own row.
* Counted directly each night, not added up from the rows below, so it is never stale.

**Sections:** One row per age group, plus `unassigned`. A young person counts once in each age group they are in, so a child who is a Cub in one group and a Scout in another counts in both rows but once in `all`. The section rows can add up to more than `all`.

**How fresh:** Built each night. A group that stops sharing, or moves to another district, leaves the totals above it at the next build, within 24 hours.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.