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

# Membership Counts

> Know exactly what every membership number in FlexWash counts, so your reports reconcile and your team trusts the data.

FlexWash shows membership numbers on the **Dashboard**, in **Membership Analytics**, and in the **Member Behavior Report**. Each one answers a different question, so the totals do not always match. This page explains what each number counts and why two numbers for the same period can differ.

## How FlexWash Counts a Membership

Every membership count in FlexWash is a count of **vehicle memberships**. A customer with three vehicles on a plan counts as three memberships.

A vehicle membership counts as active when its status is one of these:

| Status | Counted as active |
| - | - |
| Active | Yes |
| Payment Failed | Yes |
| Prepaid Active | Yes |
| Frozen | No |
| Invalid Card | No |
| Cancelled | No |
| Prepaid Expired | No |

House account memberships are not counted.

> [!NOTE]
>
> Payment Failed memberships are included because FlexWash is still retrying the charge. A membership leaves the count when it moves to Invalid Card, Cancelled, Frozen, or Prepaid Expired.

### Snapshot Time

Active counts are a snapshot of each membership's status at midnight, site time:

* The start count is taken at the start of the first day of the date range.
* The end count is taken at the end of the last day, so it includes every change made on that day.

### Sales and Churn

Sales and churn are counted from events in the date range:

* **New:** the first paid membership charge for a vehicle membership.
* **Re-Up:** a paid membership charge for a vehicle membership whose last status was Cancelled or Invalid Card.
* **Prepaid:** each prepaid membership sold.
* **Churn:** an Active membership that moves to Cancelled (voluntary), Invalid Card (involuntary), or Frozen, plus every move to Prepaid Expired.

Sales come from paid charges, so a status change without a charge is never a sale. Unfreezing a membership, or setting it to Active by hand, is not a sale or a Re-Up.

### Site

In a multi-site organization, each number counts toward a site as follows:

| Number | Counts toward |
| - | - |
| Active counts | The site the vehicle membership belongs to. |
| Sales (New, Re-Ups, Prepaid) | The site where the charge or sale was made. |
| Churn | The customer's home site. |

Active counts always use the site the membership belongs to today. If a membership moves to another site, it also moves out of past active counts at the old site.

## Dashboard

The **Aggregate** view shows three membership cards:

![Dashboard Aggregate view with the Memberships, Membership Sales, and Membership Churn cards](https://mintcdn.com/flexwash/tSvvLuqUZ9792Ito/reports/membership-counts/dashboard-membership-cards.png?fit=max\&auto=format\&n=tSvvLuqUZ9792Ito\&q=85\&s=50613f9a1b1a2040b3c76edfdc56aaab)

| Card | What it counts |
| - | - |
| **Memberships** | Active vehicle memberships at the end of the date range. |
| **Membership Sales** | **New**, **Re-Ups**, and **Prepaid Active** sales in the date range. |
| **Membership Churn** | **Inv. Churn**, **Vol. Churn**, and **Prepaid Exp.** in the date range. Freezes are not included. |

The **KPI by Site** and **Comparison** views show these numbers for each site:

| Number | What it counts |
| - | - |
| **Active Members** (KPI by Site) or **Active Count** (Comparison) | Active vehicle memberships at the end of the date range. |
| **Sales #** (Comparison) | The same sales as **Membership Sales**. |
| **Churn #** (Comparison) | The same churn as **Membership Churn**, plus freezes. |
| **Net Members** | Sales minus churn, including freezes. |

## Membership Analytics

Open **Reports > Memberships > Analytics**, or click any membership card on the Dashboard.

![Membership Analytics with the Initial Memberships, Memberships Sold, Churns, and Resulting Memberships cards](https://mintcdn.com/flexwash/tSvvLuqUZ9792Ito/reports/membership-counts/membership-analytics-cards.png?fit=max\&auto=format\&n=tSvvLuqUZ9792Ito\&q=85\&s=393b2c51edf59d877b72c509217481dd)

| Card | What it counts |
| - | - |
| **Initial Memberships** | Active vehicle memberships at the start of the date range. |
| **Memberships Sold** | **New Sign-up Online**, **New Sign-up Onsite**, **New Sign-up Manual**, **Re-up (Inv. Churn)**, **Re-up (Vol. Churn)**, and **Prepaids**. The total matches the Dashboard **Membership Sales** card. |
| **Churns** | **Involuntary**, **Voluntary**, **Frozens**, and **Prepaid Expired**. |
| **Resulting Memberships** | Active vehicle memberships at the end of the date range. Matches the Dashboard **Memberships** card. |

**Churns** also shows **Churn Transfers**: Invalid Card memberships that are then cancelled. They are not added to the total. When an Invalid Card membership is cancelled, its move to Invalid Card also stops counting as **Involuntary** churn, so the number for an earlier date range can drop.

## Member Behavior Report

The **Member Behavior Report** (**Reports > Member Behavior Report**) answers a different question: which customers are or were members, and how they wash. Its rows do not reconcile with the Dashboard because:

* **One row per customer.** A customer with several vehicle memberships appears once. The report does not show a per-vehicle **Valid Until** date.
* **Current and lapsed members.** It includes customers with a membership that is Active, Prepaid Active, Payment Failed, Invalid Card, Cancelled, Frozen, or Prepaid Expired.
* **No date range.** It always shows members as of now.
* **Customer home site.** It filters by the customer's home site, not the site each membership belongs to.
* **Different exclusions.** Fleet customers are excluded. House account memberships are included.

**Latest Status** shows the most recent status change on any of the customer's vehicles, so filtering on it does not give an active member count. Use the Dashboard or Membership Analytics for that.

## Why Net Members Can Differ

There are two ways to measure membership growth for a date range:

* **Snapshot difference:** **Resulting Memberships** minus **Initial Memberships** in Membership Analytics.
* **Net Members:** sales minus churn, in the Dashboard **KPI by Site** and **Comparison** views.

Most events change both numbers the same way. These do not:

| Event in the date range | Snapshot difference | Net Members |
| - | - | - |
| A member freezes, then unfreezes | 0 | -1 (the freeze is churn, the unfreeze is not a sale) |
| A member frozen before the range unfreezes | +1 | 0 |
| An Invalid Card membership is cancelled | -1 if it was Active at the start, else 0 | 0 (counted as a Churn Transfer) |
| A membership is set to Active by hand | +1 | 0 (no charge, so no sale). See [Manual Status Changes](https://docs.flexwash.com/memberships/manual-status-change.md). |
| Members are imported | +1 each | 0 |

In a multi-site organization, a single site can also differ because active counts, sales, and churn can count toward different sites. See [Site](#site). Totals across all sites are not affected.

### Why the Churn Numbers Differ

The Dashboard **Membership Churn** card leaves out freezes. The **Churns** card in Membership Analytics and the **Churn #** column include them. For the same date range and sites, the difference equals **Frozens**.


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