Madrid is located in Boone county Iowa with a geographic area of 1.2 square miles. The total population in Madrid is 2,570 with 49.0% male and 51.0% female. Children under age 5 represent 3.9% of the population, under age 18 equal 17.5% of the population and over age 65 is 23.2% of the population. The median household income is $67,396, per capita income is $30,966. There are a total of 1,107 housing units with 81.1% owner occupied. Education includes 29.0% of residents that are high school graduates and 26.3% with a bachelor's degree or higher. The average temperature in Madrid in the summer is 72 degrees, and in the winter 23 degrees.