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

# Win-Back Detection

> Surface accounts that are losing share (fully dormant, product-lapsed, or cherry-picking) and auto-draft a re-engagement sequence per type

Win-Back classifies every account on a recurring schedule against three detection types, surfaces active signals on the account row and drawer, and emails a digest of recoverable revenue to anyone in your org, with a pre-built draft sequence per type, ready to launch.

It replaces the older "active / at-risk / dormant" classifier that ran off each account's median order gap. The activity-status badge on the [Orders tab](/accounts/orders) and the digest are now both driven by the three-type framework below, using configurable thresholds instead of fixed cadence multipliers.

## The Three Types

| Type  | Name           | Who it catches                                                                                     |
| ----- | -------------- | -------------------------------------------------------------------------------------------------- |
| **A** | Fully Dormant  | Account stopped ordering altogether                                                                |
| **B** | Product Lapse  | Account still active, but a specific **(OD, grade)** combo it bought consistently has gone silent  |
| **C** | Cherry-Picking | Account only buys hard-to-source specialty items from you; the standard volume goes to competitors |

Each type produces **its own signal granularity**:

* **A** and **C:** one signal per account
* **B:** one signal per lapsed `(OD, grade)` combo (an account can carry several Type B signals at once)

<Note>
  An account can carry signals of multiple types simultaneously. The badge column in the Accounts table shows a compact badge per type. A `B×3` badge means the account has three lapsed product combos.
</Note>

## Why Three Types

Most win-back tooling stops at "fully dormant", Type A. PTC's sales team identified the deeper threat: competitors rarely displace an account entirely, but they take **share** within it. An account can remain active and still represent a material revenue loss if it stops buying specific sizes, grades, or product families.

| Type  | Risk it surfaces                                                                       |
| ----- | -------------------------------------------------------------------------------------- |
| **A** | Lost the relationship                                                                  |
| **B** | Lost a specific program inside an active relationship                                  |
| **C** | Single-sourcing the specialty work that's hardest to find, competitors handle the rest |

## Configuring Win-Back

Open **Accounts** → **⋮** menu → **Win-Back Settings**. Each type has its own switch and threshold panel.

### Type A: Fully Dormant

| Setting                      | Default | What it means                                                      |
| ---------------------------- | ------- | ------------------------------------------------------------------ |
| **Enabled**                  | On      | Default-on so the digest keeps working without extra configuration |
| **Inactivity gap**           | 90 days | Days since last order before an account counts as fully dormant    |
| **Minimum lifetime revenue** | \$100K  | Filters out small accounts whose absence isn't worth a rep's time  |

### Type B: Product Lapse

| Setting                     | Default | What it means                                                                                                       |
| --------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------- |
| **Enabled**                 | Off     | Opt-in so existing orgs don't get noise from un-tuned thresholds                                                    |
| **Lapse window**            | 90 days | A combo silent for this long is considered lapsed                                                                   |
| **History window**          | 1 year  | How far back to look for the historical buying pattern. Must be greater than the lapse window                       |
| **Minimum combo revenue**   | \$50K   | Combo-level revenue floor within the history window                                                                 |
| **Minimum distinct months** | 3       | The combo must have appeared in at least this many calendar months in the history window, filters one-off purchases |

### Type C: Cherry-Picking

| Setting                    | Default | What it means                                                              |
| -------------------------- | ------- | -------------------------------------------------------------------------- |
| **Enabled**                | Off     | Opt-in                                                                     |
| **Specialty OD threshold** | 6 in    | Lines with OD ≥ this count as specialty/hard-to-source                     |
| **Specialty share**        | 80%     | Share of total spend on specialty items above which the account is flagged |
| **Minimum total spend**    | \$50K   | Account-level spend floor in the window                                    |
| **Window**                 | 1 year  | Trailing window the share is computed over                                 |

<Tip>
  Start with **Type A only**. Once the digest is steady-state, turn on **Type B** to surface losses within active accounts. That's typically where the biggest unaddressed revenue lives.
</Tip>

## Signal Badges on the Accounts Table

Active win-back signals show as a badge row in the **Win-Back** column on the Accounts table. The same badges appear in the **Win-Back Signals** section on the account drawer with full context (which combo lapsed, what specialty share, etc.).

Tooltips on each badge surface the top items so you don't have to open the drawer to scan.

## Win-Back Enrollment Column

The **Status** column on the Accounts table has been renamed to **Win-Back Enrollment** with three values:

| Value    | Behavior                                                                                                                                     |
| -------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| **Auto** | Inclusion in the digest is driven by detection, pinned into the digest when any signal is active, pinned out when there's nothing to surface |
| **Yes**  | Force-include the account in every digest, regardless of detection. Use for VIP accounts you want re-engaged every cycle                     |
| **No**   | Force-exclude. Use for accounts you've decided not to chase                                                                                  |

Click the cell to switch between the three. **Auto** rows show the currently-resolved state (Yes / No) on the popover button so you can scan the table without checking the drawer.

## Win-Back Digest Email

Configure a recurring digest under **Accounts** → **⋮** menu → **Email notification**.

| Field          | Description                                                                                                                         |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| **Recipients** | Members of your org who should receive the digest                                                                                   |
| **Frequency**  | **Daily**, **3 days**, **weekly**, or **bi-weekly**. Sub-daily cadences (5 min / 10 min / 30 min / hourly) remain for dev iteration |

### What's in the Email

Each digest is **grouped by signal type**, with a section per type that has active signals. Within each section, accounts are sorted by lifetime revenue, top 25 per type. Every row links back to the account drawer.

| Section    | Headline metric per row              |
| ---------- | ------------------------------------ |
| **Type A** | Days inactive · lifetime revenue     |
| **Type B** | Lapsed OD/grade · lapsed revenue     |
| **Type C** | Specialty share % · estimated upside |

If no accounts are inactive across any enabled type, you receive a short heartbeat email, so you always know the monitor is running.

## Auto-Generated Re-Engagement Sequences

Every digest creates **one fresh draft sequence per active type**, pre-loaded with the right outreach angle for that signal:

| Type  | Outreach angle                                                                                                                                        |
| ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| **A** | Reactivation referencing specific grades / sizes previously purchased. Lead with availability and lead-time certainty; ask what changed               |
| **B** | Reference the lapsed `(OD, grade)` by name. Frame around supply continuity; ask if requirements changed or a competitor stepped in                    |
| **C** | Consolidation pitch: position yourself as single-source for specialty *and* standard. Use the existing specialty history as proof of the relationship |

Each draft is pre-enrolled with the primary contacts of accounts that have any signal **and** aren't pinned to **No** under Win-Back Enrollment. Contacts without an email address are skipped. Accounts already enrolled in another active sequence are skipped on the next run, so a rep doesn't end up with one contact in two re-engagement flows at once.

<Warning>
  Each digest creates a **fresh** draft. The contact list reflects who has active signals *right now*, not who had them last week. If you'd rather keep a single rolling re-engagement campaign, archive the auto-generated drafts and enroll into your own sequence on a longer cadence.
</Warning>

## Lifecycle of a Signal

Win-Back signals are first-class records, not just badges:

| Field          | Set when                                                                                     |
| -------------- | -------------------------------------------------------------------------------------------- |
| `detected_at`  | The first time detection produced this signal                                                |
| `last_seen_at` | Bumped on every run that re-detects                                                          |
| `recovered_at` | Set when detection no longer fires on it (account came back), the row is preserved for audit |

A previously-recovered signal that re-emerges is **reopened** automatically, so you can see the full arc of an account drifting in and out of any state.

## Permissions and Org Boundaries

* **Owners and Admins** can change win-back thresholds. Members can read signals and run the digest configuration UI but can't edit detection parameters.
* Win-Back is **per-organization**: only members of your org can be selected as digest recipients.
* Signals only surface on accounts that have imported order history.

## Next Steps

<CardGroup cols={2}>
  <Card title="Orders" icon="package" href="/accounts/orders">
    Import order history that powers detection
  </Card>

  <Card title="Sequences" icon="send" href="/sequences/overview">
    Edit and launch auto-generated re-engagement drafts
  </Card>

  <Card title="Accounts Overview" icon="building-2" href="/accounts/overview">
    Win-Back Enrollment column behavior and accounts table
  </Card>

  <Card title="Contacts" icon="users" href="/accounts/contacts">
    Manage primary contacts that get auto-enrolled into digests
  </Card>
</CardGroup>
