Why Territory Assignment Matters
Poorly assigned sales territories cost companies money in two ways: wasted drive time and unbalanced workloads. When reps spend hours driving between accounts instead of selling, revenue suffers. When one rep has 40 accounts within 20 minutes while another has 15 accounts spread across two hours, turnover follows.
The solution is data-driven territory assignment based on actual drive times, not gut feel or zip codes. Google Sheets combined with the Route Matrix add-on makes this straightforward.
What You’ll Build
By the end of this tutorial, you’ll have a matrix showing the drive time from each sales rep’s home base to every customer account. You’ll use this to assign accounts to reps while balancing total drive time across the team.
Step 1: Prepare Your Data
Create a new Google Sheet. Route Matrix reads both lists from the same tab, so put them side by side on one tab.
In columns A to C, list your customer accounts:
| A | B | C | |
|---|---|---|---|
| 1 | Account Name | Address | Annual Value |
| 2 | Acme Corp | 123 Congress Ave, Austin, TX | $50,000 |
| 3 | TechStart Inc | 456 Main St, Round Rock, TX | $35,000 |
| 4 | Hill Country Supply | 789 Ranch Rd, Dripping Springs, TX | $28,000 |
Leave column D empty. In columns E and F, list your sales team with their home base addresses:
| E | F | |
|---|---|---|
| 1 | Rep Name | Home Base |
| 2 | Sarah Chen | Austin, TX |
| 3 | Marcus Johnson | Round Rock, TX |
| 4 | Lisa Martinez | San Marcos, TX |
The Annual Value column is optional but useful for balancing territories by revenue potential, not just account count.
Step 2: Generate the Drive Time Matrix
Install Route Matrix from the Google Workspace Marketplace if you haven’t already. New to the add-on? Our distance matrix tutorial covers the basics.
Configure the add-on:
- Set Sheet with Address Data to the tab with your two lists
- Set Range of Starting Address(es) to your account addresses (B2:B4)
- Set Range of Ending Address(es) to your rep home bases (F2:F4)
- Choose Time as the Output
- Select Driving as the Route Type
Accounts go in as the starting addresses so that each account gets its own row. That is what lets Route Matrix list the closest reps for each account in Step 3.
To show names instead of addresses, tick Use custom labels for locations and enter A2:A4 as the origin labels and E2:E4 as the destination labels. Each full address is kept in a note on its name.
Click RUN. Route Matrix adds a Route Matrix tab with one row per account and one column per rep, showing the drive time between each pair:
| Sarah Chen | Marcus Johnson | Lisa Martinez | |
|---|---|---|---|
| Acme Corp | 4 | 24 | 37 |
| TechStart Inc | 28 | 1 | 55 |
| Hill Country Supply | 32 | 44 | 41 |
Step 3: Identify Optimal Assignments
The matrix immediately reveals the closest rep for each account. In the example above:
- Acme Corp → Sarah Chen (4 min)
- TechStart Inc → Marcus Johnson (1 min)
- Hill Country Supply → Sarah Chen (32 min), with Lisa Martinez next at 41 min
Going purely by the closest rep gives Sarah two accounts and Lisa none. Handing Hill Country Supply to Lisa adds only 9 minutes of drive time, which is the kind of trade Step 4 is about.
With more than a handful of accounts, let Route Matrix do the sorting. Set these options before you click RUN:
- Click the Formatting drop down
- Choose “Formatted”
- Click on the Totals drop down
- Choose Column sums
- Tick Show quickest routes


Show quickest routes adds a block to the right of the grid with one column per account, ranking up to five reps from closest (1) down, so each account’s closest rep is in the first row. To turn that block into a single column, see how to find the nearest location for each address.
The column totals add up each rep’s drive time to every account and are colored green for the lowest and red for the highest. In the output above, Sarah has the lowest total (1:04) and Lisa the highest (2:14), so Lisa is the farthest from these accounts.
Make a copy of this spreadsheet to see the output generated from the add-on.
Step 4: Balance the Workload
Assigning every account to the closest rep often creates imbalanced territories. One rep might end up with 25 accounts while another gets 8.
Add a summary section below your matrix to track assignments:
| A | B | C | |
|---|---|---|---|
| 1 | Rep | Account Count | Total Drive Time |
| 2 | Sarah Chen | 12 | 185 min |
| 3 | Marcus Johnson | 8 | 142 min |
| 4 | Lisa Martinez | 10 | 168 min |
If the workload is uneven, reassign accounts from overloaded reps to the next-closest rep. The matrix makes it easy to see the cost of each reassignment in added drive time.
For example, if Sarah has too many accounts, look at her assignments and find accounts where Marcus or Lisa are nearly as close. Shifting an account that’s 15 minutes from Sarah but 18 minutes from Marcus only adds 3 minutes of drive time while balancing the load.
With dozens of accounts, trading them by hand gets slow. This is a classic assignment problem: give every account to exactly one rep, cap how many accounts each rep takes, and keep total drive time as low as possible. SolveSheet, our optimization add-on for Google Sheets, can solve it straight from the Route Matrix grid.
Step 5: Factor in Account Value (Optional)
For more sophisticated territory balancing, weight assignments by account value instead of just count.
Add a column to track total revenue potential per rep:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Rep | Accounts | Drive Time | Territory Value |
| 2 | Sarah Chen | 12 | 185 min | $425,000 |
| 3 | Marcus Johnson | 8 | 142 min | $380,000 |
| 4 | Lisa Martinez | 10 | 168 min | $410,000 |
The goal becomes balancing territory value while keeping drive times reasonable. A rep with fewer but higher-value accounts may have an equivalent workload to a rep with more smaller accounts.
Tips for Larger Teams
When working with more than 10 reps or 50 accounts:
- Runs over 9 routes use paid routes, at $15 for 1,000 or $50 for 5,000. RUN asks before spending them. 10 reps and 50 accounts is 500 routes, about $7.50 worth.
- Hundreds of accounts fit in one run: a 5,000-route matrix (10 reps and 500 accounts) finishes in under 20 seconds. If a run is ever too big, Route Matrix stops before charging and tells you what size to split it into.
- Set a maximum drive time threshold (e.g., 45 minutes) and flag any assignments that exceed it
- Re-run the matrix quarterly as accounts are added or reps change locations
Common Variations
Multiple visits per account: If some accounts require weekly visits while others are monthly, weight the drive time by visit frequency. A 30-minute drive to a weekly account costs 120 minutes per month, while a 30-minute drive to a monthly account costs only 30 minutes.
Shared territories: For inside/outside sales teams, generate separate matrices. The outside rep handles accounts beyond a certain drive time threshold while inside sales covers nearby accounts by phone.
New hire onboarding: When adding a rep, regenerate the matrix with their home base included. Identify accounts to transfer from existing reps where the new rep is closer.
Next Steps
Once you’ve assigned territories, you can use TripTally to calculate efficient multi-stop routes for each rep’s daily or weekly visits.
For ongoing territory management, save your matrix spreadsheet as a template. When accounts change or reps move, update the source data and regenerate the matrix to rebalance.
Install Route Matrix to get started with your territory assignments.