to your HTML Add class="sortable" to any table you'd like to make sortable Click on the headers to sort Thanks to many, many people for contributions and suggestions. Licenced as X11: http://www.kryogenix.org/code/browser/licence.html This basically means: do what you want with it. */ var stIsIE = /*@cc_on!@*/false; sorttable = { init: function() { // quit if this function has already been called if (arguments.callee.done) return; // flag this function so we don't do the same thing twice arguments.callee.done = true; // kill the timer if (_timer) clearInterval(_timer); if (!document.createElement || !document.getElementsByTagName) return; sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/; forEach(document.getElementsByTagName('table'), function(table) { if (table.className.search(/\bsortable\b/) != -1) { sorttable.makeSortable(table); } }); }, makeSortable: function(table) { if (table.getElementsByTagName('thead').length == 0) { // table doesn't have a tHead. Since it should have, create one and // put the first table row in it. the = document.createElement('thead'); the.appendChild(table.rows[0]); table.insertBefore(the,table.firstChild); } // Safari doesn't support table.tHead, sigh if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0]; if (table.tHead.rows.length != 1) return; // can't cope with two header rows // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as // "total" rows, for example). This is B&R, since what you're supposed // to do is put them in a tfoot. So, if there are sortbottom rows, // for backwards compatibility, move them to tfoot (creating it if needed). sortbottomrows = []; for (var i=0; i
In January 2026, new homes built in the United States clocked in at their most affordable level of the last four years.
This assessment is based on the following data points for the month:
Of these three factors, the average 30-year fixed rate mortgage of 6.10% for January 2026 is the biggest contributor to the improvement in affordability. This is the lowest average monthly mortgage rate in the U.S. since September 2022.
At the same time, the median new home sale price of $400,500 ranks as the third-lowest median price recorded for new home prices in any month since July 2021, four months after Biden administration unleashed the high inflation that characterized the former President's term in office.
Meanwhile, median household income has risen to its highest level on record, even after adjusting for inflation.
Overall, these three things combined to make the monthly mortgage payment on a new home purchased at the nation's median sale price fall lower within the range of affordability in January 2026. The mortgage payment of a typical new home purchased in this month by a typical American household would consume 33.7% of its household income. The following chart shows where January 2026's affordability level fits within the data for this measure since January 2000:
Looking forward, the 30-year mortgage rate fell a little further in February 2026, providing a tailwind for affordability of the largest expense most American households have going into the month.
U.S. Census Bureau. New Residential Sales Historical Data. Houses Sold. [Excel Spreadsheet]. Accessed 19 March 2026.
U.S. Census Bureau. New Residential Sales Historical Data. Median and Average Sale Price of Houses Sold. [Excel Spreadsheet]. Accessed 19 March 2026.
Freddie Mac. 30-Year Fixed Rate Mortgages Since 1971. [Online Database]. Accessed 12 April 2026. Note: Starting from December 2022, the estimated monthly mortgage rate is taken as the average of weekly 30-year conventional mortgage rates recorded during the calendar month.
Image Credit: Wooden family figures and house with keys on table photo by IGOR LOLATTO on Unsplash.
Labels: personal finance, real estate
Welcome to the blogosphere's toolchest! Here, unlike other blogs dedicated to analyzing current events, we create easy-to-use, simple tools to do the math related to them so you can get in on the action too! If you would like to learn more about these tools, or if you would like to contribute ideas to develop for this blog, please e-mail us at:
ironman at politicalcalculations
Thanks in advance!
Closing values for previous trading day.
This site is primarily powered by:
The tools on this site are built using JavaScript. If you would like to learn more, one of the best free resources on the web is available at W3Schools.com.