Skip to content

Getting the State Legislature On The Same (Real) Page

Published: at 03:22 PM

Ever since ProPublica started reporting on RealPage, the landlord collusion software, housing policy advocates have tussled over how to deal with it.

Some people see it as a root cause of our housing crisis, validating the idea that we don’t need more housing, we just need to crack down on greedy, cheating landlords. Others see it as a minor irritant in the housing market at best, and a distraction from the necessary focus on supply at worst.

While I certainly lean more toward the latter - banning RealPage and other forms of collusion software isn’t a magic fix to our housing problems - this kind of collsive behavior undermines the effectiveness of new supply and can directly harm renters at the margins.

California state legislators seem to agree - while the big focus this year has been on streamlining and enabling new supply, there are also 4 separate bills moving through the process to tackle algorithmic collusion software like RealPage along with other similar schemes.

As the Assembly Judiciary Committee’s legislative analyst put it: “unlike a price-fixing cartel, the authors have not colluded.”

It’s possible some of the different bills will get consolidated or unified, but in the meantime, this post will describe the 4 bills tackling RealPage, along with my own analysis/interpretation. (A lot of this is coming directly from the bill text or committee analysis, using CalMatters’ excellent Digital Democracy reporting.)

The Big Problem

An issue that I’ll mention a few times here is that our understanding of how RealPage works, and thus what behavior needs to be targeted, has changed since 2022: While initial legislative efforts have focused on the use of nonpublic competitor data, RealPage has adjusted and has created a compliant option where nonpublic data isn’t used as part of recommending rental terms. Focusing on nonpublic competitor data speaks to an important aspect of collusion but not the whole thing - recommendations can still be set with the intention to keep rents high for the market as a whole even without any specific knowledge of current inventory and prices at competitors.

In other words, any meaningful ban will need to focus more broadly on collusive behavior and less on nonpublic data.

The Bills

Each bill has passed its house of origin on mostly party line votes, and is working its way through the other house.

Note that these descriptions are valid as of today - July 9, 2025. The bills will surely be further amended if and when they continue to move through the process.

SB 295

California Preventing Algorithmic Collusion Act of 2025

CalMatters writeup here

Authored by Melissa Hortado (Central Valley)

SB 295 is not focused specifically on housing but prohibits algorithmic collusion in general.

SB 384

Preventing Algorithmic Price Fixing Act: prohibition on certain price-setting algorithm uses.

CalMatters writeup here

Authored by Aisha Wahab (Fremont)

SB 384 is similarly not focused specifically on housing but does mention “rent or occupancy level of rental property” as something that cannot be set using its (somewhat lacking, see below) definition of a price setting algorithm.

SB 52

Housing rental terms: algorithmic devices

CalMatters writeup here

Authored by Sasha Perez (Pasadena)

SB 52 is focused solely on prohibiting algorithmic collusion in the context of the residential rental market.

AB 325

Cartwright Act: violations

CalMatters writeup here

Authored by Ceclia Aguilar-Curry (Napa / Davis / West Sacramento)

AB 325 takes a different approach, focusing on amending state anti-trust law by adding language regarding “common pricing algorithms” rather than nonpublic information. Like SB 295 and 384, it is not focused solely on rental housing.

The Bans

SB 295

(a) A person shall not distribute a pricing algorithm, or make recommendations based on the use of a pricing algorithm, to two or more competitors with the intent or reasonable expectation that the pricing algorithm or the recommendations be used by the competitors to set the price or commercial term of similar products or services in the same market if the person knows or should know that the pricing algorithm processes competitor data.

(b) A person shall not use the recommendation of a pricing algorithm that processes competitor data to set a price or commercial term of a product or service if the person knows or should know that the pricing algorithm uses or incorporates competitor data and that the pricing algorithm or the recommendation of the pricing algorithm was used by another a competitor to set or recommend a price or commercial term of a similar product or service in the same market.

SB 384

A person shall not sell, license, provide, or use a price-setting algorithm with the intent that it be used by two or more competitors in the same market if the person knows or should know that the algorithm processes nonpublic input data to set either of the following:

(1) A price or supply level of a good or service.
(2) A rent or occupancy level of rental property.

SB 52

This one I’ll summarize because it’s a lot of text:

  1. You can’t sell a rental pricing algorithm if your intent is for it to be used by multiple competitors in the same market.
  2. You can’t use a rental pricing algirothm if you know it’s being used by your competitors or if you “coerce any other person” to use rental terms from the algorithm.
  3. You can’t set rents based on the recommendation of a pricing algorithm if you know it contains nonpublic data or was used by your competitors.

AB 325

(a) It shall be unlawful for a person to use or distribute a common pricing algorithm as part of a contract, combination in the form of a trust, or conspiracy to restrain trade or commerce in violation of this chapter (the Cartwright Act).

(b) It shall be unlawful for a person to use or distribute a common pricing algorithm if the person coerces another person to set or adopt a recommended price or commercial term for the same or similar products or services in the jurisdiction of this state.

Winners: AB 325, SB 52, and SB 295

The issue with 384 is that it only prohibits collusion if nonpublic competitor data is used, and doesn’t separately emphasize collusion. The other bills include a separate emphasis on collusion.

Algorithm definitions

SB 295

”Pricing algorithm means any computational process, including a computational process derived from machine learning or other artificial intelligence techniques, that processes data to recommend or set a price or commercial term within the jurisdiction of this state.”

SB 384

”Price-setting algorithm means a software, computer system, computer process, algorithmic program, or artificial intelligence that processes nonpublic input data for the purpose of producing a pricing or rental strategy.”

SB 52

Rental pricing algorithm means a service or product commonly known as revenue management software, that uses one or more algorithms to perform calculations of nonpublic competitor data concerning local or statewide rental terms for the purpose of advising a landlord on setting or recommending rental terms for residential premises.

AB 325

Common pricing algorithm means any process or rule, including a process derived from machine learning or other artificial intelligence techniques, that processes the same or substantially similar data to recommend or set a price or commercial term using the same or performing a substantially similar function.

Winners: AB 325 and SB 295

The issue with 384 and 52 is they define a pricing algorithm as something that necessarily includes nonpublic competitor data. This isn’t helpful because as I’ve said, we know that RealPage has the ability to exclude nonpublic data from it’s calculations. The problem isn’t (only) the data that’s being used, it’s the fact that the same trained model is being used to generate pricing recommendations across multiple competitors.

Exclusions

The three Senate bills focus on nonpublic competitor data and include details regarding what does and doesn’t qualify as nonpublic data.

SB 295

This bill allows for the use of nonpublic competitor data “if all of the competitor data processed by the pricing algorithm was collected more than one year before the use or distribution of the pricing algorithm

SB 384

A person has “an affirmative defense to liability” if they can demonstrate that they “exercised reasonable due diligence, including obtaining written assurances…that the agorithm does not process nonpublic input data.”

SB 52

Specifies that nonpublic competitor data doesn’t include publicly accessible sources such as advertisements, websites maintained by property owners or managers, government rental registries, public records requests, information from the Census Bureau, and others.

Also excludes data collected more than one year before the use or distribution of the rental pricing algorithm.

AB 325

AB 325 doesn’t focus on nonpublic competitor data and so doesn’t contain language excluding or specifying certain data sources.

Supporters and Opponents

SB 295

SB 295 is sponsored by the AIDS Healthcare Foundation, a major (and notorious among certain activists) funder and organizer of tenant rights legislation. It’s also supported by the City of Emeryville and TechEquity Action. Among the 4 bills it has the narrowest base of organizational support. It is opposed by a wide range of business interests, well beyond just those relating to housing or real estate..

SB 384

SB 384 is supported by a broader coalition of organizations than SB 295 and opposed by a similar coalition.

SB 52

SB 52 is supported by a broad coalition, including TechEquity Action and many organized labor organizations. It is opposed by a more narrow coalition, primarily groups representing landlords and realtors.

AB 325

AB 325 is supported by a wide range of labor and progressive organizations, including both progressive housing organizations like AIDS Healthcare Foundation and the Western Center and Law and Poverty, as well as more than a dozen supply-oriented groups throughout the state. It is opposed by a wide range of business interests.

Conclusion

For my money, the best bills of the bunch are AB 325 and SB 52. Together, they have the widest base of support, and I like that they tackle different components of the problem.

While the issue has moved past a sole focus on the use of nonpublic data, it’s good that SB 52 proscribes the use of that data while making very clear what can be used as part of a pricing algorithm. The focus shouldn’t be on technology, it should be on cheating, and of the three Senate bills I think SB 52 does the best job of threading that needle.

I do think that SB 52 could be strengthened by amending its definition of a pricing algorithm to drop any reference to nonpublic data, and instead say that you can’t use nonpublic data to train or inform a pricing algorithm.

As for AB 325, I’m a little bit out of my depth talking about anti-trust law. I like the language of a “common pricing algorithm”, which makes it clear that we’re talking about something that is shared across multiple users. I also like that it makes no reference to nonpublic data so that if there were any sort of legal issue and one of the other bills were passed but struck down or rendered toothless in the courts, you’d still have this bill.


Next Post
Critics of Transportation Staff Have It Wrong on BFD and Hopkins Street