91³Ô¹ÏÍø

Watch CBS News

At 87, he can't afford his rent without a roommate. He's far from alone.

Alan Ferber shares a fourth-floor walk-up apartment in New York City with a roommate. At 87, escalating rent costs have become harder to afford on his own. 

"It's gone insanely crazy," Farber said.

He splits the $2,000 monthly rent for a 500-square-foot apartment with Daniel Yafet, a 69-year-old avid biker who sleeps in the loft.

When asked if he could retire, Yafet said, "I wouldn't be in New York if I retired."

The roommates connected through the New York Foundation for Senior Citizens, a nonprofit that matches seniors looking to share housing costs. When the foundation started matching people in 1981, most of the participants were looking for companionship. Now, almost everyone is seeking affordability.

"I was by myself for a bit, and I thought I should get a roommate just to help," Yafet said.

The nonprofit offers a free matching service that pairs "hosts" who have extra bedrooms with responsible, compatible "guests" across all five boroughs of New York City. One of the sharemates, either the host or the guest, must be at least 60 years old.

More than 1 million Americans over the age of 65 lived with roommates they aren't related to in 2024 — a 16% increase from 2019, according to the Harvard Joint Center for Housing Studies.

At the same time, seniors are facing growing financial strain amid increased costs for basic necessities.  

In the 50 largest U.S. cities, the rent for a one-bedroom apartment climbed an average of 41% between 2020 and 2025, according to a recent study from loan marketplace LendingTree. New York had the largest monthly rental increase on the list, rising $854 for a one-bedroom over the last five years.

Meanwhile, the average American worker has less than $1,000 saved for retirement, according to a new report from the National Institute on Retirement Security. The analysis also found that workers from all age groups are lagging behind recommended benchmarks for retirement savings.

When asked if he could cover all of his expenses using Social Security without a roommate, Ferber said, "Barely. What really helps naturally is working at Costco three days a week."

Yafet believes the trade-off is worth it, saying, "I'm better off, certainly, with having a roommate."

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=50747257b890e014813016b79ece0fb2'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });