The Town Files

Graham, Minnesota

Township in Benton County · population 587 (2020 Census)

Map: where Graham is in MinnesotaGraham
Median home
$365,400
Household income
$103,750
Jan low / Jul high
0° / 80°
Snow a year
50 in
Tornadoes ≤10 mi since 1950
14
Median age
39.5

Graham is a township of 587 people in Benton County, Minnesota. The median home is worth $365,400, above the typical Minnesota town ($301,800). It ranks better for families than 94% of Minnesota towns, better transit than 93% of Minnesota towns, easier by car than 74% of Minnesota towns.

How Graham ranks

Percentile among Minnesota towns with at least 500 people on The Town Files lifestyle rankings. 50 is typical for the state; 90 means better than 90% of Minnesota towns.

Graham lifestyle rankings vs other Minnesota townsRetirement24th pctFamilies94th pctQuiet55th pctWalkability33rd pctFirst-time buyersbottomYoung professionals8th pctVibrancy11th pctHip & trendy14th pctCollege town57th pctUpscale49th pctVacation homesbottomSeaside characterbottomCycling71st pctTransit93rd pctDriving74th pcttypical
The Town Files lifestyle rankings, built from federal demographic, school, crime and housing data (2025).

Homes and cost of living

The median home in Graham is worth $365,400, above the typical Minnesota town ($301,800). Homes cost about 3.5 times the median household income of $103,750, which is more affordable than 45% of Minnesota towns. Median rent is $1,125 a month. 88.8% of households own their home.

Graham vs Benton County vs typical Minnesota townGrahamBenton CountyTypical Minnesota townHome value$365,400$271,000$301,800Household income$103,750$74,410$87,375Monthly rent$1,125$982$991
Census ACS 5-year estimates, 2020–2024. "Typical town" = median of Minnesota towns with 500+ people.
HousingGrahamTypical Minnesota town
Median home value$365,400$301,800
Median rent$1,125$991
Median household income$103,750$87,375
Home value ÷ income3.5×3.4×
Homeownership88.8%88.6%
Median year built19861979
Seasonal / vacation homes0.0%—

Who lives in Graham

PeopleGrahamTypical Minnesota town
Median age39.542.7
Age 65 and over20.3%20.0%
Under 1823.1%—
Bachelor's degree or higher26.0%26.2%
Below the poverty line2.6%6.9%
Veterans7.8%—
Born outside the U.S.0.2%—
Work from home7.0%11.1%
Average commute29.6 min24.5 min
Homes with broadband87.6%90.2%

Weather in Graham

July highs average 80.3°F and January lows -0.2°F. About 30.1 inches of rain and melted snow fall a year, with 49.9 inches of snow (typical Minnesota town: 47.0 in). Expect about 6 days a year at 90°F or hotter and 180 nights at or below freezing.

Graham monthly temperatures and precipitation-10°0°10°20°30°40°50°60°70°80°90°32° freezing20°0°Jan25°3°Feb38°17°Mar54°29°Apr67°42°May76°54°Jun80°58°Jul78°55°Aug71°47°Sep56°35°Oct39°21°Nov25°9°DecPrecipitation (in) · snow (in) in blue0.79.50.89.31.58.42.64.63.54.64.13.93.12.71.01.57.81.09.3
NOAA 1991–2020 climate normals: average daily high and low by month; precipitation and snowfall in inches. Temperatures from the Rice station (6.8 mi away); snowfall estimated from the 4 nearest snow stations, weighted by distance.

Tornadoes, storms and disasters

14 tornadoes have passed within 10 miles of Graham since 1950, compared with 14 for the typical Minnesota town. 5 rated (E)F2 or stronger. The strongest, an F2, struck on September 18, 1997 about 7.1 miles from the town center. The most recent was on August 24, 2014.

Tornadoes within 10 miles of Graham by decade11950s21960s21970s41980s11990s12000s32010s02020s
NOAA Storm Events Database, tornado tracks (start to end point) passing within 10 miles of the town center, 1950–2026.

Hail of 1 inch or larger has been reported within 10 miles 47 times; the largest was 3.50 inches on July 1, 2011.

Severe weather in Benton County since 1996

Storm events in Benton County since 1996 by typeHail89Heat6Flood6Heavy Rain8Heavy Snow13Flash Flood6Funnel Cloud9Winter Storm73
NOAA Storm Events Database, Benton County, 1996–2026 (all event types recorded since 1996). 1 deaths recorded.

Benton County has been included in 13 federal disaster or emergency declarations since 1953, most often for flood, drought, hurricane.

DeclaredIncidentDeclaration
April 7, 2020BiologicalDR-4531: Covid-19 Pandemic
March 13, 2020BiologicalEM-3453: Covid-19
July 25, 2013Severe StormDR-4131: Severe Storms, Straight-Line Winds, And Flooding
September 13, 2005HurricaneEM-3242: Hurricane Katrina Evacuation
May 16, 2001FloodDR-1370: Severe Winter Storms, Flooding, And Tornadoes

Jobs and pay in Benton County

Benton County had 17,384 jobs in 2024, paying an average of $55,955 a year. Unemployment was 3.6% in 2023; in Graham itself the ACS puts it at 0.7%.

Largest industries in Benton CountyManufacturing3,397 jobs · $62,193Construction2,569 jobs · $84,088Health care & social assistan…2,335 jobs · $37,523Retail1,823 jobs · $37,436Wholesale trade1,275 jobs · $72,133Hotels & restaurants1,038 jobs · $19,661
BLS Quarterly Census of Employment and Wages, 2024, private-sector jobs and average annual pay.
Unemployment rate in Benton County, 2000–20230%2%4%6%8%10%2000200420082012201620202023Benton 3.6%
Annual average unemployment rate (BLS Local Area Unemployment Statistics via USDA ERS).

Towns near Graham

Graham questions

Is Graham, Minnesota a good place to retire?

On The Town Files lifestyle rankings, Graham scores better for retirees than 24% of Minnesota towns and quieter than 55%. 20.3% of residents are 65 or older (median age 39.5).

How much does a house cost in Graham?

The median owner-occupied home in Graham is valued at $365,400 (Census ACS 2020–2024), against a median household income of $103,750, so homes cost about 3.5 times income. Median rent is $1,125 a month.

What is the weather like in Graham?

July highs average 80.3°F and January lows -0.2°F (NOAA 1991–2020 normals). It gets about 30.1 inches of precipitation a year and 49.9 inches of snow.

Does Graham get tornadoes?

14 tornadoes have passed within 10 miles of Graham since 1950 (NOAA Storm Events); the strongest was a F2 on September 18, 1997. The typical Minnesota town has had 14.

How this page is made. Every number comes from public data, matched to Graham's Census boundary (GEOID 2700924812). Comparisons use the median of Minnesota towns with at least 500 people. Weather comes from the nearest NOAA normals station; storm counts use NOAA tornado tracks within 10 miles of the town center. Data snapshot 2026-11-13.