BlogInsurance Data Mapping

Car Insurance Rates by Zip Code: Mapping Territories in Google Sheets

8 July 2026·8 min read

Car insurance rates change by ZIP code because insurers rely on territorial rating to assess local risk based on historical claims data. Densely populated areas typically experience higher frequencies of accidents, theft, and vandalism, causing carriers to charge higher base premiums for those specific geographic zones.

This approach is built for independent insurance agents, risk assessors, and local marketers managing lists of 200 to 5,000 properties. Instead of manually cross-referencing addresses to rating zones, you can use spreadsheet formulas to geocode locations, assign rating territories, and generate a live map of your book of business.

TL;DR
  • Insurers use territorial rating to set car insurance rates, dividing states into zones based on claims data; your ZIP code heavily dictates your premium.
  • Some states restrict this practice, with California outright banning the use of ZIP codes to set auto insurance base rates.
  • Independent agents and analysts can visualize these geographic risks by mapping address lists in Google Sheets using InstaMaps.
  • Use =GEOCODE() to extract coordinates from client addresses, then =TERRITORY() to assign them to specific rating zones.
  • The =INSTAMAP() formula generates a live, shareable URL that updates automatically as you add or modify addresses in your sheet.
  • InstaMaps provides a free tier of 100 lookups per day (1,000/day with a free email unlock).

How territorial rating drives car insurance rates by zip code

Actuaries do not evaluate risk on a driver's record alone. They rely on territorial rating, a system where insurers divide states into distinct rating territories based on historical claims frequency, traffic density, and weather patterns. According to the Connecticut General Assembly, a rating territory is a geographical grouping where insurers aggregate loss data to predict future costs. Because claims data varies so drastically by location, a driver's ZIP code often carries as much weight as their driving history.

A dense urban ZIP code typically generates a higher frequency of low-speed collisions, vandalism, and theft claims. A rural ZIP code usually sees fewer vehicles on the road but may experience higher severity claims due to high-speed collisions or animal strikes. In most US states, insurers use ZIP code boundaries as the primary geographic filter to pull this actuarial data. If you live in a ZIP code with a high concentration of uninsured drivers or frequent hail storms, your base rate increases before your personal driving record is even calculated.

This makes location data one of the largest factors in premium calculation, often overriding vehicle type. For independent insurance agents, verifying the exact boundaries of these rating territories is crucial for accurate quoting and renewing. A single street can act as a dividing line between a high-density urban rating territory and a low-density suburban one, meaning neighbors with identical driving records can pay vastly different premiums.

  1. Claims frequency: The volume of accidents and thefts reported per ZIP code.

  2. Traffic density: The number of registered vehicles and daily traffic volume in a given area.

  3. Weather patterns: Historical frequency of hail storms, flooding, or wildfires by territory.

State overrides: Why California bans ZIP code pricing

Not every state allows insurers to rely strictly on geographic risk. California strictly bans the use of ZIP codes to calculate auto insurance premiums. Under Proposition 103, California mandates that insurers base auto rates primarily on a driver's safety record, annual mileage, and years of driving experience. While insurers in California can still use territorial rating to a limited degree, they cannot drastically increase rates simply because a driver lives in a high-claims ZIP code.

Michigan and Massachusetts also enforce strict regulations on how geographic location factors into premiums, attempting to prevent redlining in urban areas. However, in the vast majority of the country, ZIP-based risk assessment remains standard practice. Insurers in states like Texas, Florida, and New York rely heavily on localized claims data to offset costs.

For an independent agent, this regulatory patchwork means you cannot apply blanket formulas across state lines. If you manage a book of business that spans multiple states, you must filter your spreadsheets to isolate policies where ZIP code pricing is legally permitted versus states where other factors legally override the geographic baseline.

Mapping rate territories in Google Sheets

Independent insurance agents often manage sprawling spreadsheets of client addresses, making it difficult to visualize geographic risk clusters. InstaMaps, a free Google Sheets add-on, converts standard text addresses into mappable data points and categorizes them into regional risk zones without leaving the spreadsheet.

To begin, open your Google Sheet and navigate to Extensions > InstaMaps > Enable formulas to open the sidebar. If you have 300 addresses in column A (e.g., A2:A301), the sidebar’s Build-the-workflow button writes whole chains automatically, but you can type the functions directly. First, convert the text addresses into precise coordinates using the =GEOCODE() function. Typing =GEOCODE(A2:A50) returns latitude and longitude pairs for the block of 49 addresses. The free tier provides 100 lookups per day, or 1,000/day with a free email unlock, allowing you to process a standard book of business efficiently.

Once you have the coordinates, you need to categorize them by regional risk zones. If your carrier provides a list of predefined geographic boundaries for their territories, you apply the =TERRITORY() function. For example, =TERRITORY(B2:B50) checks the coordinates against known regional risk zones and outputs the specific territory name or code for each address. To isolate exactly where these addresses fall, you can also extract the exact 5-digit postal code using =ZIP(A2:A50) to cross-reference against your carrier's manual rate tables.

Finally, to see the density of your book of business across these territories, generate a visual map. Typing =INSTAMAP(B2:B50) produces a live, hosted shareable map URL. Every time you add a new client address or change a coordinate in the sheet, the hosted map updates automatically. If you need to verify a specific address visually before assigning it to a high-risk territory, use =STREETVIEW_LINK(A2) to drop directly into the location.

  1. Step 1: Convert text addresses to coordinates with =GEOCODE(A2:A100).

  2. Step 2: Assign carrier risk zones using =TERRITORY(B2:B100).

  3. Step 3: Generate a live map link with =INSTAMAP(B2:B100).

  4. Step 4: Verify border addresses with =STREETVIEW_LINK(A2).

Worked example: Auditing 400 policy renewals across 12 ZIPs

Let’s look at a scenario involving an independent agent analyzing 400 upcoming home and auto policy renewals. The goal is to audit the book of business by categorizing the policies into three distinct carrier territories and visualizing the density on a map.

Step 1: Prepare the data. In column A, you have the full addresses for all 400 renewals (A2:A401). In column B, run =STATE(A2:A401) to filter out the California policies that are exempt from strict ZIP-based rating.

Step 2: Geocode the remaining addresses. In column C, extract the coordinates for the valid policies. If rows 402 through 450 are California policies, you apply =GEOCODE(A2:A401) to the remaining rows to get exact latitude and longitude data.

Step 3: Assign risk territories. The carrier uses three specific geographic regions for pricing: North, Central, and South. In column D, apply =TERRITORY(C2:C401). This function evaluates the coordinates against the carrier's regional boundaries and assigns the correct territory label to each of the 399 active policies.

Step 4: Calculate average premium by territory. In column E, you have the current premium amounts. Using a standard Google Sheets formula like =AVERAGEIF(D2:D401, "North", E2:E401) shows the baseline rate for that specific cluster, helping you spot pricing anomalies.

Step 5: Generate the map. To visualize where the highest concentration of renewals sits, type =INSTAMAP(C2:C401). This generates a live, hosted shareable map URL displaying all 399 renewal locations, allowing you to visually confirm the density of the North, Central, and South territories.

  1. Limits and honest alternatives: While InstaMaps handles the mapping and geographic assignment, it does not pull live premium quotes directly from carrier APIs. If you need to generate new quotes, you still need your rating engine.

  2. Who this is for: This workflow is built for independent agents managing large renewal lists, claims adjusters mapping accident frequency, and agency managers allocating marketing budgets by geographic risk zone.

  3. Templates: You can find pre-built spreadsheets to automate this exact audit at get-instamaps.com/templates.

Generating a live map of your insured locations

To visualize how a book of business distributes across auto insurance rating territories, use the =INSTAMAP() function. If you have 2,400 client rows with street addresses in A2:A2400, =GEOCODE() outputs in F2:F2400, and assigned rating territories in G2:G2400, you can generate a hosted map in a single cell. Typing =INSTAMAP(A2:A2400, F2:F2400, G2:G2400) into H2 produces a live, shareable URL. When you add 50 new policies to row 2401, the map automatically updates to plot the new pins without requiring you to regenerate the link.

To avoid writing these long strings of cell references by hand, use the InstaMaps sidebar. Navigate to Extensions > InstaMaps > Enable formulas. Select your target ranges in the sidebar interface and click the Build-the-workflow button. This tool analyzes your sheet headers and writes the entire formula chain-starting with =CLEAN_ADDRESS() on the raw text, moving to =ZIP() to extract the codes, and finishing with =INSTAMAP()-directly into your target columns.

By grouping the map data by territory, the generated map will visually segment your pins based on the text in your territory column. You can immediately identify if a high concentration of claims in a specific ZIP code correlates to a dense cluster on your map. This is useful for running territory audits in states like Texas or Florida, where a single mile can change a policyholder's rating territory entirely.

Limits and honest alternatives

Spreadsheet mapping has hard operational limits. The InstaMaps free tier allows exactly 100 lookups per day. If you are processing a fresh book of 5,000 leads, =GEOCODE() will stop processing once you hit that daily ceiling. You can raise this cap to 1,000 lookups per day by verifying a free email address, but processing massive datasets of 50,000+ rows will still require batching your work over several days.

More importantly, InstaMaps does not connect to carrier rating engines. The add-on maps geographic coordinates and assigns addresses to geographic territories, but it will not tell you the actual dollar amount a carrier charges for car insurance rates by zip code. It extracts and visualizes spatial data, not actuarial premium tables. If you need the exact six-month premium for a 35-year-old male driving a 2022 Honda Civic in ZIP code 77002, you must export your cleaned, geocoded list and run it through your carrier's proprietary quoting software.

If you need to pull live premium amounts directly into a spreadsheet, you will need a dedicated insurance API integration or a commercial rater. InstaMaps is built specifically for the spatial visualization and data prep phase. It helps you clean messy address data, group those addresses into spatial territories, and map the results, but it stops short of providing the final policy cost.

Who this is for

**Independent P&C agents running territory audits:** If you manage a book of 3,000 auto policies across a state line, you need to know exactly how many clients sit in high-risk rating territories. By running a list of active policies through =TERRITORY() and =INSTAMAP(), you can visualize your book's concentration in five minutes. This helps you identify which ZIP codes are driving your loss ratio before your carriers force a non-renewal.

**Direct writers managing local marketing campaigns:** If you sell direct-to-consumer and want to target Facebook ads by geography, you need to know where your best clients live. Mapping your top 20% of policyholders by premium volume reveals the exact neighborhoods where your cost-per-acquisition is lowest. =INSTAMAP() gives you a visual heat map of your most profitable ZIP codes to mirror in your ad targeting.

**Actuaries needing a quick spatial visualization tool:** If you need to spot-check a new rating territory proposal against actual claim frequency, dumping 10,000 claims into a sheet and mapping them via =GEOCODE() takes seconds. You do not need to buy a GIS software license to verify if a proposed ZIP code boundary splits a high-density claim cluster.

Try it free

Map your Salesforce accounts in under 5 minutes — no admin setup.

Install Free →

Common Questions

Why do car insurance rates change by ZIP code?

Rates change because insurers depend on geographic claims data to predict future losses. A ZIP code with higher traffic density, frequent severe weather, or elevated vehicle theft rates will naturally produce more claims. Carriers charge higher base premiums in these territories to offset the statistically higher probability of paying out those claims.

What is a car insurance rating territory?

A rating territory is a specific geographic zone established by an insurance carrier or state regulator to group shared risk characteristics. Instead of analyzing risk strictly by individual street, insurers divide states into numbered or named territories based on historical claims frequency, population density, and traffic patterns. Every address falls into one of these defined zones.

Can car insurance companies use your ZIP code to set rates in every state?

No, state regulators heavily restrict how carriers use location data, and several states ban or limit the practice. While ZIP codes are a primary rating factor in most of the country, regulators in states like California prohibit insurers from using a driver's specific ZIP code to calculate base premiums. Carriers must instead rely on broader regional data or a driver's individual safety record.

How do I map a list of addresses by insurance territory in Google Sheets?

Install the InstaMaps add-on to categorize and visualize your address data without leaving your spreadsheet. If your addresses are in column A, use =GEOCODE(A2:A50) to extract coordinates, then =TERRITORY(A2:A50) to label the zone. Finally, use =INSTAMAP(A2:B50) to generate a live, shareable map URL that plots every address by its assigned territory.

What states do not allow ZIP codes to be used for car insurance rates?

California is the most notable example, explicitly banning the use of ZIP codes to set auto insurance base rates due to concerns over redlining and discriminatory pricing. Instead, state law mandates that a driver's safety record and annual mileage carry the most weight. Other states, while not banning ZIP codes completely, enforce strict limits on how much geographic location can impact a final premium.

Does Google Sheets have a formula for mapping ZIP codes?

Native Google Sheets lacks built-in mapping functions, but you can add this capability using the free InstaMaps add-on. The add-on provides custom functions like =GEOCODE() to extract coordinates and =INSTAMAP() to build a live map URL directly from your spreadsheet data. You can insert these formulas automatically via the sidebar under Extensions > InstaMaps > Enable formulas.

Map Your Address Lists by Territory

Stop manually plotting properties or cross-referencing rating zones. Install InstaMaps to geocode up to 1,000 addresses per day and build interactive maps directly inside your spreadsheets. Use the Build-the-workflow button to instantly categorize territories and generate shareable map links.

Install InstaMaps free