Ham lake is located in Anoka county Minnesota with a geographic area of 34.4 square miles. The total population in Ham lake is 16,630 with 51.3% male and 48.7% female. Children under age 5 represent 6.4% of the population, under age 18 equal 22.9% of the population and over age 65 is 16.2% of the population. The median household income is $99,736, per capita income is $47,065. There are a total of 5,881 housing units with 94.0% owner occupied. Education includes 23.3% of residents that are high school graduates and 32.7% with a bachelor's degree or higher. The average temperature in Ham lake in the summer is 68 degrees, and in the winter 9 degrees.