The Town Files

Ham Lake, Minnesota

City in Anoka County · population 16,464 (2020 Census)

Map: where Ham Lake is in MinnesotaHam Lake
Median home
$442,500
Household income
$120,135
Jan low / Jul high
2° / 82°
Snow a year
44 in
Tornadoes ≤10 mi since 1950
30
Median age
43.8

Ham Lake is a city of 16,464 people in Anoka County, Minnesota. The median home is worth $442,500, above the typical Minnesota town ($301,800). It ranks more upscale than 88% of Minnesota towns, better for families than 82% of Minnesota towns, more vibrant than 78% of Minnesota towns.

How Ham Lake 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.

Ham Lake lifestyle rankings vs other Minnesota townsRetirement36th pctFamilies82nd pctQuiet27th pctWalkability43rd pctFirst-time buyers58th pctYoung professionals72nd pctVibrancy78th pctHip & trendy9th pctCollege town69th pctUpscale88th pctVacation homesbottomSeaside characterbottomCycling63rd pctTransit59th pctDriving69th 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 Ham Lake is worth $442,500, above the typical Minnesota town ($301,800). Homes cost about 3.7 times the median household income of $120,135, which is more affordable than 34% of Minnesota towns. Median rent is $1,173 a month. 93.7% of households own their home.

Ham Lake vs Anoka County vs typical Minnesota townHam LakeAnoka CountyTypical Minnesota townHome value$442,500$346,500$301,800Household income$120,135$101,869$87,375Monthly rent$1,173$1,464$991
Census ACS 5-year estimates, 2020–2024. "Typical town" = median of Minnesota towns with 500+ people.
HousingHam LakeTypical Minnesota town
Median home value$442,500$301,800
Median rent$1,173$991
Median household income$120,135$87,375
Home value ÷ income3.7×3.4×
Homeownership93.7%88.6%
Median year built19941979
Seasonal / vacation homes0.0%—

Who lives in Ham Lake

PeopleHam LakeTypical Minnesota town
Median age43.842.7
Age 65 and over18.6%20.0%
Under 1823.2%—
Bachelor's degree or higher36.9%26.2%
Below the poverty line4.0%6.9%
Veterans6.9%—
Born outside the U.S.3.7%—
Work from home16.9%11.1%
Average commute28.6 min24.5 min
Homes with broadband94.6%90.2%

Weather in Ham Lake

July highs average 82.2°F and January lows 2.4°F. About 28.8 inches of rain and melted snow fall a year, with 44.1 inches of snow (typical Minnesota town: 47.0 in). Expect about 10 days a year at 90°F or hotter and 172 nights at or below freezing.

Ham Lake monthly temperatures and precipitation0°10°20°30°40°50°60°70°80°90°32° freezing22°2°Jan28°7°Feb41°19°Mar56°32°Apr68°45°May78°55°Jun82°60°Jul80°57°Aug72°48°Sep58°36°Oct41°23°Nov27°11°DecPrecipitation (in) · snow (in) in blue0.65.10.89.61.46.32.95.73.63.84.53.62.52.70.71.44.31.012.4
NOAA 1991–2020 climate normals: average daily high and low by month; precipitation and snowfall in inches. Temperatures from the Andover 1N station (4.8 mi away).

Tornadoes, storms and disasters

30 tornadoes have passed within 10 miles of Ham Lake since 1950, compared with 14 for the typical Minnesota town. 12 rated (E)F2 or stronger. The strongest, an F4, struck on July 3, 1983 about 6.5 miles from the town center. Tornadoes within 10 miles have caused 6 deaths and 342 injuries since 1950. The most recent was on August 29, 2024.

Tornadoes within 10 miles of Ham Lake by decade31950s41960s11970s31980s11990s62000s92010s32020s
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 105 times; the largest was 2.75 inches on July 8, 2007.

Severe weather in Anoka County since 1996

Storm events in Anoka County since 1996 by typeHail228Tornado18Lightning7Heavy Rain16Heavy Snow14Flash Flood17Winter Storm72Excessive Heat9
NOAA Storm Events Database, Anoka County, 1996–2026 (all event types recorded since 1996). 4 deaths recorded.

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

DeclaredIncidentDeclaration
April 7, 2020BiologicalDR-4531: Covid-19 Pandemic
March 13, 2020BiologicalEM-3453: Covid-19
June 7, 2011Severe StormDR-1990: Severe Storms And Tornadoes
September 13, 2005HurricaneEM-3242: Hurricane Katrina Evacuation
May 16, 2001FloodDR-1370: Severe Winter Storms, Flooding, And Tornadoes

Jobs and pay in Anoka County

Anoka County had 133,130 jobs in 2024, paying an average of $65,235 a year. Unemployment was 2.8% in 2023; in Ham Lake itself the ACS puts it at 3.4%.

Largest industries in Anoka CountyManufacturing22,681 jobs · $91,431Health care & social assistan…20,554 jobs · $63,285Retail16,008 jobs · $37,229Hotels & restaurants10,932 jobs · $24,228Construction9,327 jobs · $85,895Wholesale trade7,074 jobs · $102,606
BLS Quarterly Census of Employment and Wages, 2024, private-sector jobs and average annual pay.
Unemployment rate in Anoka County, 2000–20230%2%4%6%8%10%2000200420082012201620202023Anoka 2.8%
Annual average unemployment rate (BLS Local Area Unemployment Statistics via USDA ERS).

Public schools in Ham Lake

2 public schools with 1,640 students, about 16.4 students per teacher.

SchoolGradesStudentsPer teacher
DAVINCI ACADEMY (charter)K-898716.5
MCKINLEY ELEMENTARYK-565316.3

Towns near Ham Lake

Ham Lake questions

Is Ham Lake, Minnesota a good place to retire?

On The Town Files lifestyle rankings, Ham Lake scores better for retirees than 36% of Minnesota towns and quieter than 27%. 18.6% of residents are 65 or older (median age 43.8).

How much does a house cost in Ham Lake?

The median owner-occupied home in Ham Lake is valued at $442,500 (Census ACS 2020–2024), against a median household income of $120,135, so homes cost about 3.7 times income. Median rent is $1,173 a month.

What is the weather like in Ham Lake?

July highs average 82.2°F and January lows 2.4°F (NOAA 1991–2020 normals). It gets about 28.8 inches of precipitation a year and 44.1 inches of snow.

Does Ham Lake get tornadoes?

30 tornadoes have passed within 10 miles of Ham Lake since 1950 (NOAA Storm Events); the strongest was a F4 on July 3, 1983. The typical Minnesota town has had 14.

How this page is made. Every number comes from public data, matched to Ham Lake's Census boundary (GEOID 2726738). 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-12.