---
title: "IRS county migration data for moving companies"
description: "Read IRS county migration flows alongside your quotes and completed moves, keeping return counts, data age, suppression, and lane decisions separate."
canonical: "https://scalewithsearch.com/articles/irs-county-migration-data-moving-demand-limits"
---
## Site navigation

- [Scale With Search](https://scalewithsearch.com/)
- Services
  - Services
    - [AI systems](https://scalewithsearch.com/ai-systems)
    - [Site build](https://scalewithsearch.com/work#site-build)
    - [Whole website fix](https://scalewithsearch.com/work#whole-website-fix)
    - [Content library with SEO](https://scalewithsearch.com/work#content-library)
    - [Working session](https://scalewithsearch.com/audit)
  - Start here
    - [Send your brief](https://scalewithsearch.com/work#send-your-brief)
    - [Example scope](https://scalewithsearch.com/work#review-the-example-scope)
  - [Prices and terms](https://scalewithsearch.com/work#prices-and-terms)
- Industries
  - Real estate
    - [Real estate agents and teams](https://scalewithsearch.com/for/real-estate)
    - [Platforms, ownership, and IDX](https://scalewithsearch.com/for/real-estate/real-estate-website-platforms-ownership-idx)
    - [Search, content, and AI](https://scalewithsearch.com/for/real-estate/real-estate-search-content-ai)
    - [Inquiries, campaigns, and handoffs](https://scalewithsearch.com/for/real-estate/real-estate-website-inquiries-campaigns-handoffs)
    - [Buyer, seller, and local pages](https://scalewithsearch.com/for/real-estate/real-estate-buyer-seller-local-resources)
    - [Rules, privacy, and trust](https://scalewithsearch.com/for/real-estate/real-estate-website-rules-privacy-trust)
  - Browse by business
    - [Trades and home services](https://scalewithsearch.com/for/#group-trades)
    - [Health, wellness, and animal care](https://scalewithsearch.com/for/#group-practices)
    - [Law, finance, and IT](https://scalewithsearch.com/for/#group-professional)
    - [Marketing and SEO agencies](https://scalewithsearch.com/for/#group-agencies)
    - [Shops and manufacturers](https://scalewithsearch.com/for/#group-manufacturing)
    - [Restaurants, shops, studios, and nonprofits](https://scalewithsearch.com/for/#group-local-services)
  - Chiropractic practices
    - [Chiropractic and wellness practices](https://scalewithsearch.com/for/chiropractic-and-wellness-practices)
    - [Chiropractic and physical therapy clinics](https://scalewithsearch.com/for/chiropractic-and-physical-therapy-clinics)
  - [All industries](https://scalewithsearch.com/for/)
- Resources
  - Free tools
    - [AI readiness check](https://scalewithsearch.com/check)
    - [Free tools](https://scalewithsearch.com/tools/)
    - [Free Starter Kit](https://scalewithsearch.com/kit/business-memory-starter-kit.zip)
  - Guides
    - [AI-native library](https://scalewithsearch.com/ai-native)
    - [Industry intelligence](https://scalewithsearch.com/intelligence)
    - [Office job guides](https://scalewithsearch.com/guides/)
    - [Business memory](https://scalewithsearch.com/articles/business-memory-for-ai-agents-guide)
    - [Agent governance](https://scalewithsearch.com/articles/ai-agent-governance-guide-small-business)
    - [Migration and ownership](https://scalewithsearch.com/articles/leaving-vendor-ai-memory-guide)
  - Articles
    - [All articles](https://scalewithsearch.com/articles/)
    - [What changed](https://scalewithsearch.com/changes/)
- About
  - Evidence
    - [Proof](https://scalewithsearch.com/proof)
  - Scale With Search
    - [About](https://scalewithsearch.com/about)
    - [How it works](https://scalewithsearch.com/how-it-works)

# IRS county migration data: separate tax-return flows from moving demand

Use IRS county migration data to frame a lane research question. Keep your own quotes, completed moves, and dispatch records beside it. A historical county comparison can support investigation without becoming a booking forecast.

Start with one question: does the reverse direction deserve closer operating research? Choose an outbound lane your company already understands. Write the counties and direction in full before looking at counts. The reverse lane must have its own row and its own company observations.

The [moving company intelligence overview](/intelligence/moving-companies) introduces the wider territory planner. This guide covers its migration input. The [moving company office guide](/for/moving-companies) covers customer records and approvals for individual jobs.

## Read the measure before comparing the lane

The IRS describes migration through annual address changes on individual income tax returns. Its published returns approximate households; its individual counts approximate people. Inflow describes arrivals and their origins. Outflow describes departures and their destinations. On the access date, the [IRS migration landing page](https://www.irs.gov/statistics/soi-tax-stats-migration-data) listed 2022–2023 as its newest release.

Use the original units in your worksheet. Call the first count “returns” and the second “individuals.” Reserve “inquiries,” “quotes,” and “completed moves” for your own records. These labels prevent a planning conversation from silently turning a public count into a company sales measure.

Do not multiply returns by your average invoice. Do not divide individuals by truck capacity. Neither calculation connects a particular service request to a particular available crew. Decide what your company needs to know before inventing a conversion between unrelated measures.

## Keep the release period attached to every number

The chosen guide covers returns filed and processed in calendar years 2022 and 2023. Mailing addresses may differ from residence. Unmatched returns are excluded. The matched-return population does not represent everyone in the United States. Moves within one county remain in the non-migrant category. Matching changed for this release. These limits appear in the [2022–2023 users guide, sections B and C](https://www.irs.gov/pub/irs-soi/2223inpublicmigdoc.pdf).

Write “IRS release period: 2022–2023” on the comparison, including exported copies. Record the date you accessed it separately. Opening an old release today does not make its observations current. Put the company's observation period in a second field with an explicit start and end.

If your review compares several releases, ask the analyst to record each release's method notes. Require an explanation before interpreting a difference as a change in the lane. Keep earlier conclusions available so a replacement table does not erase the assumptions behind a past decision.

For local work, retain your own within-county jobs as a separate operating view. Do not treat an unavailable public comparison as a reason to ignore those jobs. Your company records can describe a service you provide even when this particular public input does not isolate it.

## Distinguish county pairs from totals and grouped flows

The [county outflow CSV](https://www.irs.gov/pub/irs-soi/countyoutflow2223.csv) contains origin and destination state/county fields, `n1`, `n2`, and `agi`. Its opening records include migration totals and non-migrants before individual destination counties. Later records include grouped “Other flows.” These records do not all represent a distinct domestic county pair.

The guide identifies `n1` as returns and `n2` as individuals. The individual count comes from the second year's return. Its record layouts distinguish special summary codes, including some nonzero county codes. Sections E.3, E.4, and E.6 control that distinction. [IRS county record layouts and summary categories](https://www.irs.gov/pub/irs-soi/2223inpublicmigdoc.pdf).

Ask for a readable row classification before accepting a lane table. Your proposed classification should distinguish county pairs, county totals, non-migrants, foreign categories, and grouped flows. Keep summary records available for their stated purpose. Exclude them from a table labeled “individual county lanes.”

For example, a row labeled “Other flows, same state” should not become a destination called “Other County.” Likewise, a county total should not sit alongside its component lanes as another opportunity. Require the researcher to show the source label when a row's classification remains uncertain.

Preserve state and county codes as identifiers, including leading zeros. Display county names for readers. Require both identifiers when approving a comparison. A familiar county name alone should not decide which geography belongs in your operating records.

## Leave suppressed and absent values unavailable

The guide sets a 20-return county disclosure threshold and uses `-1` for suppressed CSV cells. It also describes grouped flows and additional disclosure protection. [IRS users guide, section D](https://www.irs.gov/pub/irs-soi/2223inpublicmigdoc.pdf).

In your planning copy, display a suppressed cell as “unavailable.” Preserve its original status in the underlying record. Do not substitute zero, a midpoint, or an estimate from neighboring counties. Do not subtract visible components from a total to reconstruct hidden detail.

Treat an absent pair separately from a published zero. If the researcher cannot establish why a pair is absent, write “pair unavailable in this comparison.” Keep that uncertainty in the owner's brief. An attractive chart should not force every direction to have a number.

Suppose your company completed six reverse-direction jobs but the public pair is unavailable. Retain the six jobs as company evidence. Do not use them to fill the public cell. The two records answer different questions and should remain independently traceable.

## Compare both directions with a synthetic lane example

The following worksheet is entirely synthetic. Cedar County and Harbor County are invented labels. Every count is invented, including the illustrative public-style counts. The table describes no real county, business, customer, or current market.

| Measure | Cedar to Harbor | Harbor to Cedar | Period or meaning |
| --- | --- | --- | --- |
| Illustrative IRS-style returns | 240 | 150 | Synthetic historical release |
| Illustrative IRS-style individuals | 510 | 320 | Same synthetic release |
| Company quote requests | 18 | 11 | Synthetic recent quarter |
| Company completed moves | 7 | 3 | Same recent quarter |
| Company jobs with recorded empty returns | 5 | 1 | Same recent quarter |
| Confirmed return loads next week | Unknown | Unknown | Requires current operating evidence |

The illustrative return-count difference is 90. Keep both gross directions visible alongside that difference. For this worksheet, the difference describes arithmetic between two synthetic historical counts. It does not mean 90 available jobs or 90 empty truck journeys.

The owner could ask operations to investigate why five outbound jobs recorded empty returns. The recent quote history gives staff a separate question: what happened to reverse-direction requests? Neither question requires claiming the public flow caused the company's results.

Have the coordinator examine the synthetic eleven reverse requests by status. Were they duplicates, outside the service area, declined, canceled, still open, or accepted? Agree on those categories before using the tally. Keep requests and completed jobs separate when their dates cross reporting periods.

The operations manager should then examine actual return dates, equipment needs, crew availability, and approved partner records. A quarterly comparison cannot reserve space on next Tuesday's truck. Only current, checked operating information can support that decision.

## Write down what the comparison cannot decide

Keep a short limits field on each lane brief. In this proposed worksheet, the public counts do not identify household leads, booked moves, service preference, or current capacity. They do not establish whether a household will hire your company.

Leave aggregate income out of the lane selection worksheet. Do not label a county pair “able to pay” or use it to decide a customer's quote. Ask the estimator to use the company's approved pricing process for the actual requested service.

Do not describe a large flow as permission to solicit people. This comparison contains aggregate geography and company totals. Keep names, tax identifiers, personal addresses, and individual financial information outside the research brief.

Make the limits useful by naming the next owner. If the uncertainty concerns partner reliability, assign operations. If it concerns quote status, assign the office coordinator. If it concerns service coverage, ask the person responsible for the company's current operating permissions.

## Prepare a lane card the owner can revisit

Use a proposed lane card with five sections. First, name the origin, destination, and reverse direction. Second, show the release period, source link, access date, and unavailable fields. Third, show company observations with their own dates and counting rules.

Fourth, state the unresolved operating question. “Investigate reverse-lane partner fit” is a review task. “Add a truck because migration is high” crosses into a commercial decision without the required current evidence. Write the actual question in ordinary language.

Fifth, record the person who decided what to do next. Include the decision date, supporting records, and the reason for holding or rejecting an idea. A rejected lane can be valuable history when somebody proposes it again next season.

Keep the accepted card with the business records your company controls. The [business memory guide](/articles/business-memory-for-ai-agents-guide) explains how to retain decisions and corrections across tools. For this use, the useful memory is the evidence behind a lane decision.

## Resolve disagreements without forcing a single story

Suppose the public-style comparison favors the outbound direction while your recent company records favor the reverse. Keep both observations. Ask which question each source answers before asking which one is right. The worksheet should not hide a disagreement to produce a cleaner recommendation.

For the company side, have the coordinator inspect the counting rules and reporting period. For the public side, have the researcher inspect the selected pair, direction, and release. Record any correction in the same lane card. Preserve the earlier version with its review date.

If both observations remain valid, write the disagreement as an unresolved finding. The owner can choose further research, defer the idea, or reject it. A held decision is a useful result when the evidence cannot support a current operating commitment.

## Add housing evidence as a separate layer

Use the [housing permits guide](/articles/housing-permit-buildings-units-moving-territory) when the question concerns a possible territory change. Keep that monthly construction view separate from this annual migration comparison. A shared county identifier does not make their periods or measures interchangeable.

You can explore published migration context with the [county moving-flow tool](/tools/county-moving-flow). Read the release and availability labels before comparing results. Bring unresolved classifications back to the source documentation rather than treating the tool's display as an operating instruction.

For a planning discussion with Scale With Search, bring one lane question and anonymized company totals. Name the person who will check the comparison. Keep dispatch, partner acceptance, customer pricing, and spending decisions with the responsible people.

[Discuss the written scope](/work)

## Source and example note

Sources were reopened on 2026.10.28: the IRS migration landing page, its linked [2022–2023 release page](https://www.irs.gov/statistics/soi-tax-stats-migration-data-2022-2023), users guide, and county outflow CSV. This article uses that named release. It does not describe any later release. The worksheet, lane-card design, and suggested review questions are editorial proposals. All numerical examples are synthetic.


Continue the website review: [AI-native moving companies: first functions to build](/articles/ai-native-moving-companies-first-functions); [Housing permits for movers: distinguish buildings, units, and completed homes](/articles/housing-permit-buildings-units-moving-territory); [Moving company AI rules: data, approvals, and spend](/articles/moving-company-ai-rules-data-approvals-spend); [Moving company Google profile: address or service area?](/articles/moving-company-google-business-profile-address); [How moving companies can ask for Google reviews](/articles/moving-company-google-review-requests); [What belongs on a moving company packing-service page?](/articles/moving-company-packing-service-website-page); [How to build a moving company prohibited-items page](/articles/moving-company-prohibited-items-page); [Moving company quote form: fields worth asking for](/articles/moving-company-quote-form-fields); [How to brief a moving company storage-in-transit FAQ](/articles/moving-company-storage-in-transit-website-faq); [Moving company website: make USDOT details verifiable](/articles/moving-company-usdot-website-verification); [Explain binding and non-binding estimates on a mover website](/articles/moving-website-binding-nonbinding-estimates); [Explain delivery windows on your moving company website](/articles/moving-website-delivery-window-faq); [Local and interstate moving pages: make coverage clear](/articles/moving-website-local-interstate-service-pages); [Moving website valuation and insurance wording to check](/articles/moving-website-valuation-insurance-page).


[moving companies](/for/moving-companies): website and search resources.


## Related: moving companies

- [Moving company AI rules: data, approvals, and spend](/articles/moving-company-ai-rules-data-approvals-spend)
- [Moving company Google profile: address or service area?](/articles/moving-company-google-business-profile-address)
- [How moving companies can ask for Google reviews](/articles/moving-company-google-review-requests)

----

```text
                  .|########||.                                       .|########||.                                       .|########||.
               |##||.      .||##|.                                 |##||.      .||##|.                                 |##||.      .||##|.
             |#|.              .|#|.                             |#|.              .|#|.                             |#|.              .|#|.
           |#|                    |#|                          |#|                    |#|                          |#|                    |#|
         .#|                        |#.                      .#|                        |#.                      .#|                        |#.
        .#.                          .#|                    .#.                          .#|                    .#.                          .#|
       |#.                            .#|                  |#.                            .#|                  |#.                            .#|
      |#             ......             #|                |#             ......             #|                |#             ......             #|
     .#           ||#########|           #|              .#           ||#########|           #|              .#           ||#########|           #|
    .#.         |######||######|.        .#.            .#.         |######||######|.        .#.            .#.         |######||######|.        .#.
    #.        .##|###|##|#|######|        .#            #.        .##|###|##|#|######|        .#            #.        .##|###|##|#|######|        .#
   ||        |##|#||||||||||||#||#|        ||          ||        |##|#||||||||||||#||#|        ||          ||        |##|#||||||||||||#||#|        ||
   #        |#||||||||||||||||||||#|        #.         #        |#||||||||||||||||||||#|        #.         #        |#||||||||||||||||||||#|        #.
  ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||
  #       .#||||||||||||||||||||||||#|       #        #       .#||||||||||||||||||||||||#|       #        #       .#||||||||||||||||||||||||#|       #
 ||   ....|||#||||||##|#|||#|#||##||||....|. ||      ||   ....|||#||||||##|#|||#|#||##||||....|. ||      ||   ....|||#||||||##|#|||#|#||##||||....|. ||
 #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#      #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#      #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#
 #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.     #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.     #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.
.|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||    .|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||    .|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||
||   |....  #. ....|#.      |. ...|. ....||   ||    ||   |....  #. ....|#.      |. ...|. ....||   ||    ||   |....  #. ....|#.      |. ...|. ....||   ||
#.  .||||||##||||||##||####|||||||#||||||#|   .#    #.  .||||||##||||||##||####|||||||#||||||#|   .#    #.  .||||||##||||||##||####|||||||#||||||#|   .#
#    .||####|###########################|.     #    #    .||####|###########################|.     #    #    .||####|###########################|.     #
#      .#||||||.#.|| # |. ..# #| #|||||#|      #    #      .#||||||.#.|| # |. ..# #| #|||||#|      #    #      .#||||||.#.|| # |. ..# #| #|||||#|      #
#      .#|||||| ..  |# ## |#| ...#|#|||#|      #    #      .#|||||| ..  |# ## |#| ...#|#|||#|      #    #      .#|||||| ..  |# ## |#| ...#|#|||#|      #
#      .#|||#|# .# .#| #| ##|.#..#|||||#|      #    #      .#|||#|# .# .#| #| ##|.#..#|||||#|      #    #      .#|||#|# .# .#| #| ##|.#..#|||||#|      #
#      .#||||||############|######|||||#|      #    #      .#||||||############|######|||||#|      #    #      .#||||||############|######|||||#|      #
#   |...||#||||||#||||#|#||||||#|||||#||| |.|  #    #   |...||#||||||#||||#|#||||||#|||||#||| |.|  #    #   |...||#||||||#||||#|#||||||#|||||#||| |.|  #
#. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#    #. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#    #. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#
|| |  ...||  ...##| |  #| .|. |. #####  .. .| ||    || |  ...||  ...##| |  #| .|. |. #####  .. .| ||    || |  ...||  ...##| |  #| .|. |. #####  .. .| ||
|| ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||    || ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||    || ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||
.# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.    .# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.    .# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.
 #.|||||||#############################| ||| .#      #.|||||||#############################| ||| .#      #.|||||||#############################| ||| .#
 ||       ##||#||#||||||#||#||#||#||##.      ||      ||       ##||#||#||||||#||#||#||#||##.      ||      ||       ##||#||#||||||#||#||#||#||##.      ||
  #       .#|||||||||#||#|||||||||||#|       #        #       .#|||||||||#||#|||||||||||#|       #        #       .#|||||||||#||#|||||||||||#|       #
  ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||
  .#        |#||||||||||||||||||||#|        #.        .#        |#||||||||||||||||||||#|        #.        .#        |#||||||||||||||||||||#|        #.
   ||        |#||||||||||||||||||#|        ||          ||        |#||||||||||||||||||#|        ||          ||        |#||||||||||||||||||#|        ||
    #.        .######|#|#########|        .#            #.        .######|#|#########|        .#            #.        .######|#|#########|        .#
    .#.         |#####||||#####|         .#.            .#.         |#####||||#####|         .#.            .#.         |#####||||#####|         .#.
     |#           ||########||           #.              |#           ||########||           #.              |#           ||########||           #.
      |#             ......             #|                |#             ......             #|                |#             ......             #|
       |#.                            .#|                  |#.                            .#|                  |#.                            .#|
        |#.                          .#.                    |#.                          .#.                    |#.                          .#.
         .#|                        |#.                      .#|                        |#.                      .#|                        |#.
           |#|                    |#|                          |#|                    |#|                          |#|                    |#|
            .|#|.              .|#|.                            .|#|.              .|#|.                            .|#|.              .|#|.
               |##||.      .||##|                                  |##||.      .||##|                                  |##||.      .||##|
                 .||########||.                                      .||########||.                                      .||########||.

Scale With Search  2026  [scalewithsearch.com](https://scalewithsearch.com)
```
