Pricing a new rental property is harder than repricing an existing one. When you renew a lease, you have 12 months of feedback - how long the unit took to rent, what applicants said about price, what competing listings looked like. When you price a brand-new unit, you have none of that. You're working blind against a market that may have shifted since you underwrote the deal.
Get it right and you rent in two weeks. Get it wrong in either direction - too high means extended vacancy burning $150-200/day, too low means leaving thousands on the table annually and complicating your next refinance. This guide walks through a four-factor framework that experienced operators use to set defensible opening prices on new inventory.
Why New Properties Are the Hardest to Price
Three things make new properties uniquely difficult:
No rent history. For a stabilized building, you can look at what the previous lease signed for, what concessions were offered, and how long it sat. For a brand-new unit, all you have is comps - which introduces uncertainty about whether your property will perform at the median, above it, or below it.
No tenant feedback. Existing tenants - even indirectly - tell you a lot. If turnover is low and you're getting 20 inquiries per vacancy, you are probably under-market. If you're offering two months free to keep people, you're over-market. New properties have no signal from prior occupants.
Timing uncertainty. A new SFR acquisition or small multifamily might take 30-90 days from contract to keys. The market can move in that time. Your pro-forma comp analysis from 60 days ago may need to be refreshed before you list.
The four-factor framework below is designed to account for all three of these challenges systematically.
The Four-Factor Pricing Framework
Factor 1: Comp Median as Your Anchor
Pull 15-20 active listings within 0.5 miles matching your bedroom count, then calculate the median asking rent. This is your baseline anchor - the number everything else is adjusted against. Do not use the mean (too sensitive to outliers) and do not use asking rent from a single comparable (too risky). You need the median of a genuine comp set.
For detailed guidance on building a reliable comp set, see our post on how to find rental comps for any address. The short version: control for bedroom count, stay within radius (not zip code), and remove furnished/corporate listings.
If you are using the RentComp API, the market_stats.median_rent field already does this - segmented by bedroom count, outlier-filtered, and sourced from multiple listing platforms.
Factor 2: Amenity Premium or Discount Adjustments
Your comp median reflects the average amenity level of active listings in the area. If your property is above or below that average, adjust accordingly. Here are the adjustments that hold up consistently across major US markets in 2026:
- In-unit washer/dryer (vs shared or no laundry): +$80-150/month. This is the single highest-value amenity in most markets. In dense urban areas where coin laundry is common, the premium is at the high end.
- Covered/garage parking (per space, vs street): +$50-100/month. Surface lot is roughly +$30-60. In car-dependent metros, this is close to mandatory.
- Central A/C (vs window units): +$40-80/month in Sun Belt markets, +$20-40 in northern climates.
- Pet-friendly policy (vs no pets): +$25-75/month effective, plus pet deposit. This is a demand driver - you will get significantly more qualified applicants in a competitive search environment.
- Building gym or pool: +$30-75/month depending on quality and how common these amenities are in the area. In a luxury-heavy submarket, every building has them and the premium compresses.
- Private outdoor space (patio, yard): +$50-120/month. Peaked in value post-2020 and has held.
To use these: compare your property's amenity list against the amenity profile of your comp set. If your comp set is heavy on in-unit W/D buildings and your unit lacks it, subtract rather than add.
Factor 3: Vacancy Risk Discount for First 60 Days
This is the factor most landlords skip, and it's the one that leads to 45-day vacancies on new listings. Every day the unit sits empty costs you money. At $1,800/month rent, each day of vacancy is $60 in lost income. A 30-day vacancy while you hold firm on price costs $1,800 - which is equivalent to setting rent $150/month too high and recovering it in 12 months.
The math is simple: if you are uncertain whether your property will attract qualified applicants quickly, a 2-3% discount from your adjusted comp median is cheap insurance. For a $1,800 unit, that's $36-54/month - less than the cost of a single extra week vacant.
This discount should be temporary. The goal is to generate showing velocity in the first two weeks. If you price at market-2% and get 10 showings and multiple applications in week one, you have confirmed the market will bear your price. On the next vacancy, you remove the discount and hold at full market rate.
Factor 4: Seasonal Launch Factor
The month you bring a new property to market significantly affects how quickly it will rent and at what price. The national pattern breaks into three zones:
- Peak season (May-August): Highest demand, shortest days on market, strongest negotiating position. Price at full adjusted market rate or slightly above if days-on-market in your comp set is under 14 days. In a fast-moving peak market, you can test 3-5% above median and drop down if needed after 10 days.
- Shoulder season (March-April, September-October): Moderate demand. Price at full adjusted market rate. No seasonal adjustment needed.
- Off-season (November-February): Lowest demand nationally. The pool of active renters is thinner - mostly people who must move (job relocation, lease ending) rather than people who want to move. Price at adjusted market rate minus 3-5% to stay competitive. Alternatively, offer 1 month free on a 14-month lease, which keeps your effective monthly rent on paper at market rate while giving the concession prospective tenants are expecting in winter.
College towns follow a completely different seasonal pattern: August is peak (student move-in), December-January is almost completely dead. Resort markets (Aspen, Naples, Miami Beach) have their own seasonality based on high season. Know your local pattern.
Reading Days-on-Market as a Market Signal
Before you finalize your price, look at how long your comps are sitting. Days-on-market (DOM) is the clearest real-time signal of whether the market is absorbing supply or accumulating it.
- Median DOM under 14 days: Market is tight. Demand exceeds supply. You can price at the high end of your comp range or 3-5% above median. Properties are renting before applicants have time to comparison-shop.
- Median DOM 14-30 days: Balanced market. Price at your adjusted median. You should expect 5-10 qualified inquiries per week at a correct price point.
- Median DOM 30-45 days: Soft market. Supply is outpacing demand. Price 3-5% below your adjusted median to be the most attractive option and avoid sitting in an oversupplied queue.
- Median DOM over 45 days: You are in a meaningfully soft market. Landlords are competing for a thin pool of renters. Price aggressively below median or offer concessions. Trying to price at or above market in this environment will result in a very long vacancy.
Zillow and Apartments.com both show listing dates in search results. You can estimate DOM for any active listing by looking at when it was first listed. Do this for your 15-20 comp set listings and calculate the median.
The Launch Pricing Strategy
Here is the specific tactical approach for a new property entering the market:
- Pull fresh comps the week you intend to list - not when you underwrote the deal. Markets move. A comp set from 90 days ago is stale.
- Build your adjusted price using the four factors above: comp median + amenity adjustments - vacancy risk discount +/- seasonal factor.
- List at adjusted market minus 2% to generate velocity. Alert: this is your launch price, not your permanent price.
- Set a 14-day review trigger: if you have received fewer than 5 qualified inquiries in 14 days, drop price by another 2-3%. If you have multiple applicants competing, you have confirmation the market will bear full price on the next vacancy.
- Once leased, document your market data: record the final rent, days on market, number of applications received, and the comp median at time of listing. This is your baseline for the next renewal cycle.
Python Example: Building a Pricing Recommendation
Here is a practical Python snippet that pulls comps, applies the amenity adjustments and seasonal factor, and returns a pricing recommendation:
import requests
from datetime import datetime
API_KEY = "your_api_key_here"
BASE_URL = "https://api.rentcompapi.com/v1"
# Amenity adjustment table (monthly dollar values)
AMENITY_ADJUSTMENTS = {
"in_unit_washer_dryer": 115,
"garage_parking": 75,
"central_ac": 50,
"pet_friendly": 45,
"gym_pool": 45,
"private_outdoor": 80,
}
# Seasonal factors by month (multiplier vs annualized rate)
SEASONAL_FACTORS = {
1: -0.04, 2: -0.04, 3: 0.00, 4: 0.00,
5: 0.03, 6: 0.04, 7: 0.04, 8: 0.03,
9: 0.00, 10: 0.00, 11: -0.03, 12: -0.04
}
def get_pricing_recommendation(
address: str,
bedrooms: int,
property_amenities: list,
comp_median_amenities: list,
launch_month: int = None
) -> dict:
if launch_month is None:
launch_month = datetime.now().month
# Pull comp data
response = requests.post(
f"{BASE_URL}/comps",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"address": address,
"bedrooms": bedrooms,
"radius_miles": 0.5,
"include_market_stats": True
}
)
response.raise_for_status()
data = response.json()
stats = data["market_stats"]
median_rent = stats["median_rent"]
median_dom = stats.get("median_days_on_market", 21)
# Amenity adjustment
prop_set = set(property_amenities)
comp_set = set(comp_median_amenities)
amenity_delta = 0
for amenity, value in AMENITY_ADJUSTMENTS.items():
if amenity in prop_set and amenity not in comp_set:
amenity_delta += value
elif amenity not in prop_set and amenity in comp_set:
amenity_delta -= value
# Seasonal adjustment
seasonal_adj = median_rent * SEASONAL_FACTORS.get(launch_month, 0)
# Vacancy risk discount (2% for new property)
vacancy_discount = median_rent * -0.02
adjusted_price = median_rent + amenity_delta + seasonal_adj + vacancy_discount
# DOM-based signal
if median_dom < 14:
dom_signal = "tight market - consider removing vacancy discount"
elif median_dom < 30:
dom_signal = "balanced market - use adjusted price as listed"
else:
dom_signal = "soft market - consider additional 2-3% reduction"
return {
"comp_median": round(median_rent),
"amenity_adjustment": round(amenity_delta),
"seasonal_adjustment": round(seasonal_adj),
"vacancy_discount": round(vacancy_discount),
"recommended_price": round(adjusted_price),
"median_dom": median_dom,
"market_signal": dom_signal,
"comp_count": stats.get("comp_count")
}
# Example
result = get_pricing_recommendation(
address="1422 N Milwaukee Ave, Chicago, IL 60622",
bedrooms=1,
property_amenities=["in_unit_washer_dryer", "pet_friendly"],
comp_median_amenities=["pet_friendly"],
launch_month=4 # April launch
)
print(f"Comp median: ${result['comp_median']}/mo")
print(f"Amenity adjustment: ${result['amenity_adjustment']:+}/mo")
print(f"Seasonal adjustment: ${result['seasonal_adjustment']:+}/mo")
print(f"Vacancy discount: ${result['vacancy_discount']:+}/mo")
print(f"Recommended price: ${result['recommended_price']}/mo")
print(f"Market signal: {result['market_signal']}")
Handling Thin Markets
In rural markets, small metros (under 100,000 population), and highly specific product types (e.g., a 4BR SFR in a market dominated by apartments), you may not find 15 comparable active listings. What to do:
- Expand radius gradually - try 1 mile, then 2 miles, then the full zip code. Note how the character of the comp set changes as you expand. A comp from 1.5 miles may be in a meaningfully different neighborhood.
- Include recently leased listings - if Zillow or Apartments.com shows "rented" listings with price data, include them as a secondary signal. Recently-closed rents are often more accurate than asking prices anyway.
- Use HUD Fair Market Rents as a floor - HUD FMRs are conservative (they target the 40th percentile of market rents) but they give you a hard floor. If your asking rent is below HUD FMR, you are almost certainly under-pricing. Visit huduser.gov/portal/datasets/fmr.html for current FMR data by metro.
- Accept wider uncertainty ranges - with 5-8 comps instead of 20, your median will be less stable. Consider pricing in the middle of your range rather than at the median, and plan to adjust faster if the market gives you feedback.
For a side-by-side comparison of manual comp analysis vs API-based pricing, including how the two approaches handle thin markets, see our post on rental comp API vs manual comps.
The Most Common Pricing Mistake
The most common mistake landlords make on new properties is pricing high and then waiting. The logic sounds reasonable: "I can always come down if I need to." The problem is that every day the listing sits without qualified inquiries is a day you are paying carry costs, and a stale listing develops a stigma. Sophisticated renters see days-on-market in listing history. A unit that has been listed for 45 days triggers skepticism - "why hasn't anyone taken it?"
The correct approach is the opposite: price to generate activity quickly, confirm market acceptance, and then hold firm on subsequent vacancies once you have real data. A one-time 2% discount on your first lease costs you roughly $500/year on a $2,000/month unit. Extended vacancy costs you that in three days.
Framework summary: Comp median + amenity adjustments +/- seasonal factor - vacancy risk discount. Launch at that number. Review after 14 days. Adjust or hold based on inquiry volume. Document everything for your next vacancy cycle.
The framework is simple, but it only works if your comp median is accurate. A bad comp set produces a bad anchor, and everything downstream is off. Whether you build your comp set manually or via the RentComp API, the quality of your input data determines the quality of your pricing decision.
Ready to Pull Rental Comps via API?
Join the waitlist and get 80% off founding member pricing - for life.
Join the Waitlist