# Manage the pipeline and call the forecast

> A process map exported from forks.world (https://forks.world). Author: Brian. Source: https://forks.world/p/cmv2toe6y0005jy06pvpquuy5
> It describes who does what, in what order, and with which technology. Read the plain-language sections first; the JSON at the end is the exact, complete data.

## Summary

- 21 steps across 2 layers
- Persona: Account executive, Sales manager, Buyer
- Technology / systems: CRM

## Pain points

Where this process hurts, worst first:

- **Inspect deals on the weekly forecast call** (Manage the pipeline and call the forecast; painful): Close dates get pushed quarter after quarter, hiding real risk

## How to read this file

- A process is made of **layers**. The main layer is the top level; any step of kind `subprocess` opens a detail layer with its own lanes and steps.
- **Lanes** are either persona (people/roles) or technology (systems). Each step belongs to one lane; `using` lists tools a person uses for that step.
- Step kinds: `start`, `task`, `decision` (its arrows carry the answer as a label), `subprocess`, `end`.

## Manage the pipeline and call the forecast

Lanes:
- Account executive: person / role (id `ae`)
- Sales manager: person / role (id `mgr`)
- Buyer: person / role (id `buyer`)
- CRM: technology / system (id `crm`)

Steps, in the order they run:

1. **Qualified opportunity created** [start; Account executive; id `o1`]
   - then Set amount, close date and stage
2. **Set amount, close date and stage** [task; Account executive; id `o2`], using CRM
   - then Move the deal through the stages
3. **Move the deal through the stages** [subprocess; Account executive; id `o3`], opens the detail layer "Move the deal through the stages"
   - then Update the forecast category each week: commit, best case, pipeline
4. **Update the forecast category each week: commit, best case, pipeline** [task; Account executive; id `o4`], using CRM
   - then Roll up the forecast by rep and team
5. **Roll up the forecast by rep and team** [task; CRM; id `o5`]
   - then Inspect deals on the weekly forecast call
6. **Inspect deals on the weekly forecast call** [task; Sales manager; id `o6`] ⚠ PAIN POINT (painful): Close dates get pushed quarter after quarter, hiding real risk
   - then Deal real for this quarter?
7. **Deal real for this quarter?** [decision; Sales manager; id `o7`]
   - if "Yes" go to Call the number to leadership; if "No" go to Move the close date or mark Closed Lost with a reason
8. **Call the number to leadership** [task; Sales manager; id `o8`]
   - then Signs the contract?
9. **Signs the contract?** [decision; Buyer; id `o10`]
   - if "Yes" go to Mark Closed Won and hand off to onboarding; if "No" go to Move the close date or mark Closed Lost with a reason
10. **Mark Closed Won and hand off to onboarding** [task; Account executive; id `o11`], using CRM
   - then Revenue booked
11. **Revenue booked** [end; CRM; id `o13`]
12. **Move the close date or mark Closed Lost with a reason** [task; Account executive; id `o9`], using CRM
   - then Pipeline cleaned up
13. **Pipeline cleaned up** [end; CRM; id `o12`]

```mermaid
flowchart LR
  subgraph l_ae["Account executive"]
    n_o1(["Qualified opportunity created"])
    n_o2["Set amount, close date and stage"]
    n_o3[["Move the deal through the stages"]]
    n_o4["Update the forecast category each week: commit, best case, pipeline"]
    n_o9["Move the close date or mark Closed Lost with a reason"]
    n_o11["Mark Closed Won and hand off to onboarding"]
  end
  subgraph l_mgr["Sales manager"]
    n_o6["Inspect deals on the weekly forecast call"]
    n_o7{"Deal real for this quarter?"}
    n_o8["Call the number to leadership"]
  end
  subgraph l_buyer["Buyer"]
    n_o10{"Signs the contract?"}
  end
  subgraph l_crm["CRM"]
    n_o5["Roll up the forecast by rep and team"]
    n_o12(["Pipeline cleaned up"])
    n_o13(["Revenue booked"])
  end
  n_o1 --> n_o2
  n_o2 --> n_o3
  n_o3 --> n_o4
  n_o4 --> n_o5
  n_o5 --> n_o6
  n_o6 --> n_o7
  n_o7 -->|"Yes"| n_o8
  n_o7 -->|"No"| n_o9
  n_o8 --> n_o10
  n_o9 --> n_o12
  n_o10 -->|"Yes"| n_o11
  n_o10 -->|"No"| n_o9
  n_o11 --> n_o13
```

### Move the deal through the stages (detail of step "Move the deal through the stages")

Lanes:
- Account executive: person / role (id `t_ae`)
- Buyer: person / role (id `t_buyer`)
- CRM: technology / system (id `t_crm`)

Steps, in the order they run:

1. **Discovery done** [start; Account executive; id `t1`]
   - then Confirm decision makers, budget and criteria
2. **Confirm decision makers, budget and criteria** [task; Account executive; id `t2`], using CRM
   - then Sees a demo of the solution
3. **Sees a demo of the solution** [task; Buyer; id `t3`]
   - then Send the proposal
4. **Send the proposal** [task; Account executive; id `t4`], using CRM
   - then Ready to negotiate?
5. **Ready to negotiate?** [decision; Buyer; id `t5`]
   - if "Yes" go to Negotiate terms; if "No" go to Find the blocker and address it
6. **Negotiate terms** [task; Account executive; id `t6`]
   - then Ready to close
7. **Ready to close** [end; Account executive; id `t8`]
8. **Find the blocker and address it** [task; Account executive; id `t7`]
   - then Sees a demo of the solution

```mermaid
flowchart LR
  subgraph l_t_ae["Account executive"]
    n_t1(["Discovery done"])
    n_t2["Confirm decision makers, budget and criteria"]
    n_t4["Send the proposal"]
    n_t7["Find the blocker and address it"]
    n_t6["Negotiate terms"]
    n_t8(["Ready to close"])
  end
  subgraph l_t_buyer["Buyer"]
    n_t3["Sees a demo of the solution"]
    n_t5{"Ready to negotiate?"}
  end
  n_t1 --> n_t2
  n_t2 --> n_t3
  n_t3 --> n_t4
  n_t4 --> n_t5
  n_t5 -->|"Yes"| n_t6
  n_t5 -->|"No"| n_t7
  n_t7 --> n_t3
  n_t6 --> n_t8
```

## Full data (JSON)

```json
{
  "title": "Manage the pipeline and call the forecast",
  "maps": {
    "m_root": {
      "id": "m_root",
      "lanes": [
        {
          "id": "ae",
          "name": "Account executive",
          "type": "person"
        },
        {
          "id": "mgr",
          "name": "Sales manager",
          "type": "person"
        },
        {
          "id": "buyer",
          "name": "Buyer",
          "type": "person"
        },
        {
          "id": "crm",
          "name": "CRM",
          "type": "system"
        }
      ],
      "steps": [
        {
          "id": "o1",
          "kind": "start",
          "lane": "ae",
          "next": [
            {
              "to": "o2"
            }
          ],
          "uses": [],
          "label": "Qualified opportunity created"
        },
        {
          "id": "o2",
          "kind": "task",
          "lane": "ae",
          "next": [
            {
              "to": "o3"
            }
          ],
          "uses": [
            "crm"
          ],
          "label": "Set amount, close date and stage"
        },
        {
          "id": "o3",
          "kind": "subprocess",
          "lane": "ae",
          "next": [
            {
              "to": "o4"
            }
          ],
          "uses": [],
          "child": "m_stages",
          "label": "Move the deal through the stages"
        },
        {
          "id": "o4",
          "kind": "task",
          "lane": "ae",
          "next": [
            {
              "to": "o5"
            }
          ],
          "uses": [
            "crm"
          ],
          "label": "Update the forecast category each week: commit, best case, pipeline"
        },
        {
          "id": "o5",
          "kind": "task",
          "lane": "crm",
          "next": [
            {
              "to": "o6"
            }
          ],
          "uses": [],
          "label": "Roll up the forecast by rep and team"
        },
        {
          "id": "o6",
          "kind": "task",
          "lane": "mgr",
          "next": [
            {
              "to": "o7"
            }
          ],
          "pain": {
            "note": "Close dates get pushed quarter after quarter, hiding real risk",
            "level": 2
          },
          "uses": [],
          "label": "Inspect deals on the weekly forecast call"
        },
        {
          "id": "o7",
          "kind": "decision",
          "lane": "mgr",
          "next": [
            {
              "to": "o8",
              "label": "Yes"
            },
            {
              "to": "o9",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Deal real for this quarter?"
        },
        {
          "id": "o8",
          "kind": "task",
          "lane": "mgr",
          "next": [
            {
              "to": "o10"
            }
          ],
          "uses": [],
          "label": "Call the number to leadership"
        },
        {
          "id": "o9",
          "kind": "task",
          "lane": "ae",
          "next": [
            {
              "to": "o12"
            }
          ],
          "uses": [
            "crm"
          ],
          "label": "Move the close date or mark Closed Lost with a reason"
        },
        {
          "id": "o10",
          "kind": "decision",
          "lane": "buyer",
          "next": [
            {
              "to": "o11",
              "label": "Yes"
            },
            {
              "to": "o9",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Signs the contract?"
        },
        {
          "id": "o11",
          "kind": "task",
          "lane": "ae",
          "next": [
            {
              "to": "o13"
            }
          ],
          "uses": [
            "crm"
          ],
          "label": "Mark Closed Won and hand off to onboarding"
        },
        {
          "id": "o12",
          "kind": "end",
          "lane": "crm",
          "next": [],
          "uses": [],
          "label": "Pipeline cleaned up"
        },
        {
          "id": "o13",
          "kind": "end",
          "lane": "crm",
          "next": [],
          "uses": [],
          "label": "Revenue booked"
        }
      ],
      "title": "Manage the pipeline and call the forecast",
      "parent": null
    },
    "m_stages": {
      "id": "m_stages",
      "lanes": [
        {
          "id": "t_ae",
          "name": "Account executive",
          "type": "person"
        },
        {
          "id": "t_buyer",
          "name": "Buyer",
          "type": "person"
        },
        {
          "id": "t_crm",
          "name": "CRM",
          "type": "system"
        }
      ],
      "steps": [
        {
          "id": "t1",
          "kind": "start",
          "lane": "t_ae",
          "next": [
            {
              "to": "t2"
            }
          ],
          "uses": [],
          "label": "Discovery done"
        },
        {
          "id": "t2",
          "kind": "task",
          "lane": "t_ae",
          "next": [
            {
              "to": "t3"
            }
          ],
          "uses": [
            "t_crm"
          ],
          "label": "Confirm decision makers, budget and criteria"
        },
        {
          "id": "t3",
          "kind": "task",
          "lane": "t_buyer",
          "next": [
            {
              "to": "t4"
            }
          ],
          "uses": [],
          "label": "Sees a demo of the solution"
        },
        {
          "id": "t4",
          "kind": "task",
          "lane": "t_ae",
          "next": [
            {
              "to": "t5"
            }
          ],
          "uses": [
            "t_crm"
          ],
          "label": "Send the proposal"
        },
        {
          "id": "t5",
          "kind": "decision",
          "lane": "t_buyer",
          "next": [
            {
              "to": "t6",
              "label": "Yes"
            },
            {
              "to": "t7",
              "label": "No"
            }
          ],
          "uses": [],
          "label": "Ready to negotiate?"
        },
        {
          "id": "t7",
          "kind": "task",
          "lane": "t_ae",
          "next": [
            {
              "to": "t3"
            }
          ],
          "uses": [],
          "label": "Find the blocker and address it"
        },
        {
          "id": "t6",
          "kind": "task",
          "lane": "t_ae",
          "next": [
            {
              "to": "t8"
            }
          ],
          "uses": [],
          "label": "Negotiate terms"
        },
        {
          "id": "t8",
          "kind": "end",
          "lane": "t_ae",
          "next": [],
          "uses": [],
          "label": "Ready to close"
        }
      ],
      "title": "Move the deal through the stages",
      "parent": {
        "map": "m_root",
        "step": "o3"
      }
    }
  }
}
```
