# Funnel

Each stage of a DM, VSL, free community or webinar funnel in order, with the rate between stages.

The Funnel page lays out one funnel as a chain of stages, from first touch to close, with the rate between each pair. The rates show you where the funnel leaks.

## Who can open it

Funnel needs the **Pro** plan. On Basic you are sent to [My Board](/docs/features/my-board) with an upgrade note.

Owners, admins, ops and members allowed to see team end-of-day reports see the whole workspace. Everyone else sees their own calls and their own end-of-day reports, and a label in the header says whose numbers you are looking at. For reps, application stages still count the whole workspace, because a lead is not anyone's until it is assigned.

## Using the page

Pick a funnel, then a range: **This month**, **This quarter** or **All time**. The range control is the same one the [Agency Dashboard](/docs/features/dashboard) uses.

## The stages

| Funnel | Stages |
|---|---|
| DM | Outbounds and inbounds, Conversations, Calls pitched, Calls booked, Live calls, Closes |
| VSL | Opt-ins, Applications, Qualified applications, Booked calls, Confirmed, Live calls, Closes |
| Free community | Community members, then the same stages as VSL from Applications on |
| Webinar | Registrants, Attendees, Stayed to the pitch, Booked from the webinar, Booked calls, Live calls, Closes |

Where each figure comes from:

- The first four DM stages are **reported**: they are what setters typed into their end-of-day reports. The rest are **counted** from records PYLO holds.
- **Applications** are leads with an application date in the range, set by Typeform applications and by Calendly bookings that create a lead. Imports are not applications.
- **Qualified applications** are applications not marked low budget.
- **Confirmed** counts leads a setter confirmed on the post-call page.
- **Live calls**, **Closes** and **Show rate** use the same definitions as the dashboard: a live call has a real outcome other than no-show, cancelled or rescheduled, and show rate is live calls over live calls plus no-shows.
- Opt-ins and community members are not recorded anywhere in PYLO, so those stages show why they are empty.

Leads land in a funnel by their lead source. Nothing sets free community automatically, so a lead only joins that chain when someone labels it on the lead record.

Below the chain, a **Nurture** card shows how many leads on this funnel opened your emails, when you have an email tool connected.

## Common questions

**Why is there no rate between two stages?** PYLO refuses to divide unlike things. Booked calls count calls while confirmed counts leads, so a lead who books twice is one on one side and two on the other. Rates above 100% are withheld too.

**Why does the DM close rate sit beside the chain?** DM closes can include deals closed over DM with no call. When they do, the Closes stage says how many, and the close rate on live calls alone is shown separately.

**What are the knowledge base figures?** Reference figures shown beside some rates. They are not targets, and nothing is scored against them.

## What the figures mean

Each explanation below is generated from PYLO's metric registry, the same source Ask PYLO and Claude quote from, so the docs and their answers always agree.

### Funnel

**Period, unless a figure says otherwise:** Bucketed on the call's scheduled time, converted to Europe/London before the date is taken. Both ends of the period are included.

#### Calls booked

Calls scheduled into this period, whatever became of them.

- **Leaves out:** Voided calls (test, duplicate, spam or other) are left out of every count.

#### Live calls

Calls that took place. A no-show, a cancellation and a reschedule are the closed set that did not, and a close written with no call behind it is excluded by was_a_call.

- **Leaves out:** No-shows, cancellations and reschedules: they did not take place. A close written with no call behind it (was_a_call false), such as a close made over DM. Voided calls (test, duplicate, spam or other) are left out of every count.

#### Closes on live calls

Live calls that closed or took a deposit. Live-scoped on purpose, so it sits inside the live-call count it is quoted against.

- **Leaves out:** Closes made over DM or recorded as a payment only: they were never live calls. Voided calls (test, duplicate, spam or other) are left out of every count.

#### Closes made over DM

Calls rows of type dm_close, written with was_a_call false, whose outcome closed or took a deposit, scheduled in the period and on a lead carrying one of the DM chain's lead sources.

#### Closes

Closes on the DM chain: closes made on a live call plus closes made over DM. The founder's decision of 19 September 2026 is that a DM close is a DM setting outcome and belongs in this chain's Closes.

#### Close rate

Closes as a share of live calls. A cancelled or rescheduled call is in neither side.

- **Counts:** Closes on live calls, out of Live calls.
- **Leaves out:** Cancelled, rescheduled and no-show calls are in neither side. Closes made over DM or recorded as a payment only are in neither side. Voided calls (test, duplicate, spam or other) are left out of every count.

#### Registrants

Registrations for this webinar whose registered_at falls in the period. One person registering for two webinars is two.

#### Attendees

Registrations that joined the live room. Null, never zero, for an event whose attendance has not been imported: PYLO cannot tell nobody came from nobody having told it.

#### Stayed to the pitch

Attendees whose time in the live room reached the event's pitch offset. Null for an event with no pitch offset set, because there is no moment to have stayed to.

#### Booked from the webinar

Registrations with a call linked to them by calls.webinar_registration_id. An explicit key, so it counts a person who applied elsewhere and later booked off this webinar, which the lead-source figures on the same chain do not.

#### Webinar show rate

Attendees as a share of registrants for the event. A REGISTRATION rate: it shares neither side with rate.show, which divides live calls by live calls plus no-shows.

- **Counts:** Attendees, out of Registrants.

### The rates to diagnose on

**Period, unless a figure says otherwise:** Bucketed on the call's scheduled time, converted to Europe/London before the date is taken. Both ends of the period are included.

#### Show rate

Live calls as a share of live calls plus no-shows. A cancelled or rescheduled call is in neither side.

- **Counts:** Live calls, out of Live calls plus no-shows.
- **Leaves out:** Cancelled calls are in neither side. Rescheduled calls are in neither side. A close written with no call behind it (was_a_call false) is not a live call. Voided calls (test, duplicate, spam or other) are left out of every count.

#### Close rate

Closes as a share of live calls. A cancelled or rescheduled call is in neither side.

- **Counts:** Closes on live calls, out of Live calls.
- **Leaves out:** Cancelled, rescheduled and no-show calls are in neither side. Closes made over DM or recorded as a payment only are in neither side. Voided calls (test, duplicate, spam or other) are left out of every count.

### Nurture

#### Leads with email open figures

Live leads a connected email tool knows by their email address and reports opens for, as a count, a rate or a last open. A lead on two tools counts once.

#### Leads who opened

Of those, leads who have opened anything the tool sent, by the tool's own count, rate or last open.

#### Leads engaging with email

Leads who opened anything, over leads a connected email tool knows.

- **Counts:** Leads who opened, out of Leads with email open figures.
