+1 (726) 224-7339

Building a Territory and Quota Planning Model in Anaplan

Sales planning is where Anaplan earns its reputation, and territory and quota planning (TQP) is where most sales-planning projects either land or stall. The modeling is deceptively hard: territories are a hierarchy that changes every year, accounts move between territories mid-period, quota has to be allocated top-down but justified bottom-up, and the whole thing has to be rebuilt in six weeks because the fiscal year starts whether you are ready or not.

This tutorial walks through a TQP build in Anaplan end to end: the list architecture, the account-to-territory assignment pattern, top-down quota allocation with a bottom-up sanity check, mid-year territory changes, and the coverage and fairness checks that stop a plan from being rejected in the field.

What the model has to answer

Before building anything, pin down the four questions the model exists to answer:

  1. Coverage — is every account assigned to exactly one territory, and does every territory have an owner?
  2. Capacity — how many reps do we have, ramped, and how much can they carry?
  3. Allocation — how does the corporate number break down to region, territory, and rep?
  4. Fairness — is each rep's quota defensible relative to the opportunity in their patch?

If your build cannot answer all four with a number on a page, it is a spreadsheet with extra steps.

List architecture

TQP lives or dies on lists. The set that works for most B2B sales organizations:

Territory Hierarchy (composite)
  L1 Global
  L2 Region
  L3 Area
  L4 Territory
Account (flat, production list)
Rep (flat, production list)
Product Family (flat)
Time: FY with months, plus a Quota Period range

Two decisions matter more than the rest.

Keep Account flat, not nested under Territory. The instinct is to make Account a child of Territory so the hierarchy rolls up automatically. Resist it. Accounts move between territories, and moving a list item between parents in a composite hierarchy is a structural change — which under ALM means it cannot be done in a deployed production model. Keep Account flat and store its territory as a property in a system module, so reassignment is a data change a sales-ops user can make any Tuesday.

Mark Account, Rep, and the Territory list as production lists. They grow during normal operation. Everything else is builder-owned structure.

System modules: the assignment layer

Following DISCO, the assignment logic belongs in system modules dimensioned by a single list.

SYS01 Account Properties        [Account]
  Territory              : list-formatted (Territory), input
  Territory Prior        : list-formatted (Territory), input
  Segment                : list-formatted (Segment)
  Named Account?         : Boolean
  Annual Revenue         : number

SYS02 Territory Properties      [Territory]
  Owning Rep             : list-formatted (Rep), input
  Area                   : list-formatted (Area)
  Active?                : Boolean

SYS03 Rep Properties            [Rep]
  Start Date             : date
  Ramp Months            : number
  Full Quota Capacity    : number
  Manager                : list-formatted (Rep)

Rules-based assignment sits on top of this. Rather than letting sales ops type a territory for 40,000 accounts, drive assignment from criteria — geography, segment, industry, named-account flag — and let the model propose the territory:

-- SYS01 Account Properties
Territory Proposed =
  IF Named Account? THEN Named Account Territory
  ELSE IF Segment = Segment.Enterprise THEN Enterprise Rule.Territory[LOOKUP: Country]
  ELSE Geo Rule.Territory[LOOKUP: Country, LOOKUP: Segment]

Territory = IF ISNOTBLANK(Territory Override) THEN Territory Override ELSE Territory Proposed

The override line item is not optional. Every rules engine in sales planning needs a human escape hatch, and making the override explicit means you can report on how many accounts bypassed the rules — a number that tells you whether your rules are any good.

Rolling accounts up to territory

With Account flat and territory stored as a property, aggregation is a SUM:

-- CAL01 Territory Opportunity [Territory x Product Family x Time]
Pipeline = DAT01 Account Pipeline.Amount[SUM: SYS01 Account Properties.Territory]
Prior Year Revenue = DAT02 Account Actuals.Revenue[SUM: SYS01 Account Properties.Territory]
Market Potential = DAT03 Account Potential.TAM[SUM: SYS01 Account Properties.Territory]

This is the pattern that makes mid-year reassignment cheap: change one list-formatted property, and every rollup, quota view, and attainment report follows automatically on the next calculation.

Top-down allocation

Corporate sets a number. The model breaks it down. Use a basis-weighted allocation rather than a flat split, and expose the basis as a choice so the sales VP can argue about it in the meeting instead of in email.

-- INP01 Quota Targets [Area x Time]
Area Target : number, input

-- CAL02 Quota Allocation [Territory x Time]
Basis =
  Weight Prior Revenue * CAL01.Prior Year Revenue
  + Weight Pipeline    * CAL01.Pipeline
  + Weight Potential   * CAL01.Market Potential

Basis Share = IF Basis Total = 0 THEN 0 ELSE Basis / Basis Total
Basis Total = Basis[SUM: SYS02 Territory Properties.Area, SELECT: ...]  -- area-level total

Capacity Factor = CAL03 Rep Capacity.Ramped Capacity Share
Allocated Quota = Area Target * Basis Share * Capacity Factor
Allocated Quota Adjusted = IF ISNOTBLANK(Manual Override) THEN Manual Override ELSE Allocated Quota

Two things to build in from the start:

Ramp. A rep who starts in month four cannot carry a full-year number. Compute a ramped capacity in a rep module using start date and ramp months, and let it scale the allocation:

-- CAL03 Rep Capacity [Rep x Time]
Months Employed  = MAX(0, ROUND((Period Start - SYS03.Start Date)/30, 0))
Ramp %           = IF SYS03.Ramp Months = 0 THEN 1
                   ELSE MIN(1, Months Employed / SYS03.Ramp Months)
Ramped Capacity  = SYS03.Full Quota Capacity * Ramp % / 12

Reconciliation. Manual overrides break the sum. Always show the gap:

-- OUT01 Allocation Reconciliation [Area x Time]
Sum of Territory Quotas = CAL02.Allocated Quota Adjusted[SUM: SYS02.Area]
Area Target             = INP01.Area Target
Variance                = Sum of Territory Quotas - Area Target
Variance %              = IF Area Target = 0 THEN 0 ELSE Variance / Area Target
Over/Under Assigned?    = ABS(Variance %) > Tolerance %

Most organizations deliberately over-assign quota by 5 to 15 percent. Make that a stated input called Over-Assignment Buffer, not an accident hidden in overrides.

The bottom-up check

Top-down allocation is fast and defensible. Bottom-up is credible with the field. Build both and compare.

Ask territory owners for an account-level bottom-up build — expected renewals, expansion, new logo — in an input module dimensioned by Account and Time, then compare:

-- OUT02 Top-Down vs Bottom-Up [Territory x Time]
Top Down    = CAL02.Allocated Quota Adjusted
Bottom Up   = INP02 Account Plan.Committed[SUM: SYS01.Territory]
Gap         = Top Down - Bottom Up
Gap %       = IF Bottom Up = 0 THEN 0 ELSE Gap / Bottom Up
Flag        = Gap % > 0.2

The conversation that gap starts is the actual value of the model. Route it through Anaplan Workflow so each area's plan gets a real submit-and-approve step rather than an emailed spreadsheet.

Mid-year territory changes

Reassignments happen constantly, and the ugly part is quota and attainment credit. Two workable patterns:

Effective-dated assignment. Store territory by Account and Time in a small module and carry it forward:

-- SYS04 Account Territory by Period [Account x Time]
Change This Period? : Boolean, input
New Territory       : list-formatted (Territory), input
Territory           = IF Change This Period? THEN New Territory
                      ELSE IF ISFIRSTPERIOD(Time) THEN SYS01.Territory
                      ELSE PREVIOUS(Territory)

Aggregate with SUM: SYS04.Territory and history stays attached to whoever owned the account at the time. Costs you an Account x Time module — size it deliberately, and set summaries to None where you do not need them.

Snapshot at period close. Cheaper: freeze the assignment map at each month-end into a static module and report attainment against the snapshot. Less precise, far smaller, and adequate for most monthly quota cycles.

Pick one before the first reassignment request, not after.

Coverage and fairness checks

The reports that get the plan approved:

  • Unassigned accounts — count and revenue of accounts whose Territory is blank. Target: zero before publication.
  • Ownerless territories — active territories with no Owning Rep.
  • Duplicate coverage — with the property pattern this is structurally impossible, which is one more reason to use it.
  • Quota per rep distribution — min, max, median, and the ratio of highest to lowest. If your top rep carries three times the bottom rep's number on similar potential, expect an escalation.
  • Quota to opportunity ratioAllocated Quota / Market Potential by territory. Outliers here are the ones the field will challenge, and having the number ready ends the argument in your favor.

Put all five on one New UX page with a traffic-light card each. That page, not the model, is what leadership signs off.

Build sequence

A six-week sequence that fits a fiscal-year deadline:

  1. Week 1 — lists, system modules, account and rep loads, assignment rules.
  2. Week 2 — opportunity aggregation, coverage reports. Get sales ops validating assignments already.
  3. Week 3 — capacity and ramp, top-down allocation, reconciliation.
  4. Week 4 — bottom-up input, comparison, workflow approvals.
  5. Week 5 — UX pages, fairness reporting, performance pass.
  6. Week 6 — parallel run against last year's published plan, then cutover.

Validate in week 2, not week 6. Territory data is always worse than anyone admits, and finding that out early is the difference between a launch and a slip.

Where we help

We build territory, quota, and incentive models on Anaplan for sales organizations that have outgrown spreadsheets — see our Anaplan sales forecasting consulting and model design and build work. If you are staring at a fiscal-year deadline with a territory map that does not reconcile, get in touch and we will tell you honestly whether it is a six-week build or a six-month one.