Compass files S-1, reveals $3.7B in revenue on net loss of $270M

Mary Ann Azevedo and Danny Crichton
·3 min read

Compass, the real-estate brokerage startup backed by roughly $1.6 billion in venture funding, filed its S-1 Monday.

The move comes just under one year after the New York-based company laid off 15% of its staff as a result of the shifting economic fortunes created by the global response to the novel coronavirus pandemic.

Prior to the IPO, SoftBank’s Vision Fund holds slightly more than a one-third stake in the company. Other investors include the Canadian Pension Plan Investment Board, Fidelity, Wellington Management and the Qatar Investment Authority, according to Crunchbase.

The company’s last fundraise was in July 2019, when Compass — a company that has built a three-sided marketplace for the real estate industry, along with a wide set of algorithms to help make it work — raised a $370 million round of funding. That financing valued Compass at $6.4 billion.

One of the greatest things about companies going public is that we get insight into their financials. Compass is not profitable but it did see a massive surge in revenue over the past few years.

The company’s revenues have increased from $186.8 million in 2016 to a whopping $3.7 billion last year, with much of the top-line revenue growth coming in the last two years, according to its S-1. Given the startup’s agency model, most of that revenue is paid out directly to the firm’s agents, who netted about $3 billion in commissions in 2020. Compass posted a net loss of $270 million in 2020, a net loss roughly in line with what it has experienced in the past two years.

Total transactions on the platform grew from about 27,000 in 2018 to 145,000 in 2020, while total transaction volume (the value of the properties the company brokers) went up by about five-fold, from $34 billion to $152 billion last year. Since commissions on real estate are determined as fixed percentage of the value of the property, more transaction volume directly translates into more revenue for Compass. The company had 19,385 agents on its platform as of December 31, 2020.

Compass had its share of trouble before the pandemic. In September 2019, The Wall Street Journal reported that the company had lost a number of senior level individuals over the previous 18 months, including its chief financial officer, chief marketing officer and chief technology officer.

The story was updated post-publication to more accurately reflect the number of agents Compass has on its platform

Early Stage is the premiere "how-to" event for startup entrepreneurs and investors. You’ll hear firsthand how some of the most successful founders and VCs build their businesses, raise money and manage their portfolios. We’ll cover every aspect of company-building: Fundraising, recruiting, sales, legal, PR, marketing and brand building. Each session also has audience participation built-in — there’s ample time included in each for audience questions and discussion.

( function() { var func = function() { var iframe = document.getElementById('wpcom-iframe-dde292b93a5f3017145419dd51bb9fce') if ( iframe ) { iframe.onload = function() { iframe.contentWindow.postMessage( { 'msg_type': 'poll_size', 'frame_id': 'wpcom-iframe-dde292b93a5f3017145419dd51bb9fce' }, "https:\/\/tcprotectedembed.com" ); } } // Autosize iframe var funcSizeResponse = function( e ) { var origin = document.createElement( 'a' ); origin.href = e.origin; // Verify message origin if ( 'tcprotectedembed.com' !== origin.host ) return; // Verify message is in a format we expect if ( 'object' !== typeof e.data || undefined === e.data.msg_type ) return; switch ( e.data.msg_type ) { case 'poll_size:response': var iframe = document.getElementById( e.data._request.frame_id ); if ( iframe && '' === iframe.width ) iframe.width = '100%'; if ( iframe && '' === iframe.height ) iframe.height = parseInt( e.data.height ); return; default: return; } } if ( 'function' === typeof window.addEventListener ) { window.addEventListener( 'message', funcSizeResponse, false ); } else if ( 'function' === typeof window.attachEvent ) { window.attachEvent( 'onmessage', funcSizeResponse ); } } if (document.readyState === 'complete') { func.apply(); /* compat for infinite scroll */ } else if ( document.addEventListener ) { document.addEventListener( 'DOMContentLoaded', func, false ); } else if ( document.attachEvent ) { document.attachEvent( 'onreadystatechange', func ); } } )();