30-Day / 90-Day Occupancy Decision Matrix
The core diagnostic tool. Instead of a single score, we cross-reference near-term (30d) and forward-looking (90d) occupancy to determine the correct action β avoiding the common mistake of cutting base price during a normal seasonal dip.
30d Occ β₯ 50%
(Booking)
π’
STRONG
Demand confirmed. Maintain or raise base price β property is performing well.
π’
SHORT WINDOW
Market books close-in. Low 90d is normal. No panic β demand materializes near check-in.
30d Occ < 50%
(Soft)
π‘
SEASONAL
Low season or off-peak. Don't cut base β use last-minute discounts. 90d shows future demand building.
π΄
INTERVENTION
Both windows weak. Base price reduction required. Validate with health score and market context.
β οΈ HOST ISSUE override: When % Blocked β₯ 50%, the signal becomes a host coaching conversation regardless of occupancy. The algorithm can't optimize inventory that isn't available.
Lead Time Classification
How far in advance guests book reveals the market's demand pattern and determines how urgently low occupancy should be treated.
Last-Minute (0β14d) β Guests book impulsively. Price sensitivity high.
Short Window (15β45d) β Urban/weekend pattern. Demand close-in.
Standard (46β90d) β Typical vacation planning window.
Advance (91β180d) β Seasonal/luxury, plans far ahead.
Far-Out (180d+) β Peak-season driven, books months ahead.
Health Score Thresholds
Platform-native metric measuring how close occupancy is to optimal neighborhood occupancy. Key nuance: high occupancy β high health score β and vice versa.
80β100: Good β Maintain pricing strategy
60β79: Fair β Room for improvement
40β59: Poor β Intervention recommended
0β39: Critical β Urgent review required
π‘ Health Score is the primary signal for base price adjustment. Monitor every 2 weeks minimum. The score reflects market-relative performance, not absolute occupancy.
Min / Base Price Ratio
The minimum price as a percentage of base price determines how much room the dynamic pricing algorithm has to flex. A tight ratio handcuffs the algorithm.
< 50% β Wide spread. Algorithm has full flex.
50β75% β Moderate. Acceptable for most markets.
75β85% β Tight. Algorithm is constrained.
> 85% β Frozen. Effectively fixed pricing.
π When Min/Base > 80% AND % at Min > 40%, the algorithm has stopped being dynamic. The most common fix: lower the minimum price, not the base.
Why Market-Context Over a Single Score
An initial approach considered was a weighted Intervention Score (0β100) combining health, occupancy, staleness, blocked %, and % at min into one number. While useful for quick triage, it has a critical flaw:
A single score can't distinguish between a ski resort in off-season (normal) and a listing that's genuinely failing. Both score high. Only one needs action.
The market-context approach uses the 30d/90d matrix, lead time classification, and market type to determine whether low metrics are expected or alarming. This prevents false positives and avoids unnecessary base price cuts during seasonal dips.
Adjusted Occupancy
Standard occupancy divides booked nights by total nights. This penalizes properties where hosts block significant calendar portions. Adjusted Occupancy reveals the true picture:
Adj. Occ = Booked Nights Γ· Available Nights (Total β Blocked)
Example β Fall Ridge 412: Shows 10% occupancy, which seems critical. But 85% of nights are host-blocked. Adjusted occupancy is 67% β the available inventory IS booking. The problem is host behavior, not pricing.