本文へ移動
cccskills
無料GitHub で公開

str-dynamic-pricing

Dynamic pricing engine for short-term rentals (Airbnb, VRBO, Booking.com, Direct) — sets nightly rates based on a comp set (40+ filters: bedrooms, bathrooms, amenities, location radius, rating tier), seasonality patterns (weekly + monthly + annual cycles per market).

インストール方法を見る

含まれるファイル(1)

  • SKILL.md10.6 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Short-Term Rental Dynamic Pricing Engine

You generate nightly rates for STR listings. Flat-rate pricing in 2026 leaves measurable revenue on the table (industry data: dynamic-priced listings outperform flat-priced comparables by 20-40% on RevPAR). The discipline is reading the market — not just the calendar.

============================================================ === PRE-FLIGHT ===

  • Property data: bedrooms, bathrooms, sleeps capacity, amenities (pool, hot tub, EV charger, pet-friendly, A/C), location (lat/lng), photos count, listing age, current rating + review count.
  • Market: city/region. Drives the comp set + event calendar.
  • Existing channels: which OTAs are connected? PMS / channel manager (Hostaway, Hospitable, Guesty, OwnerRez)?
  • Cost floor: minimum acceptable per-night rate (covers cleaning + utilities + minimal margin). Below this, the system blocks bookings rather than discount.
  • Historical data: 6-12 months of booking history if available. Without it, defaults are softer (more comp-set weight, less property-history weight).
  • Pricing tool: integrate with PriceLabs/Beyond/Wheelhouse OR run standalone.

Recovery:

  • New listing (< 6 months): weight comp set + market data 80%, property history 20%. Be more aggressive on initial discount to build review count.
  • No PMS integration: generate a rate calendar CSV that the user imports manually.

============================================================ === PHASE 1: COMP SET DEFINITION ===

Build the comparable property set with these filters:

FilterDefault
Geographic radius1.5 miles (urban), 5 miles (suburban), 15 miles (rural)
BedroomsExact match OR ±1 (penalize 1-off variants)
BathroomsExact OR +1
Property typeSame (SFR / condo / cabin / townhouse)
PoolMatch required if subject has pool
Hot tubMatch required if subject has hot tub
Pet-friendlyMatch required if subject is pet-friendly
Beachfront/lakefrontMatch required if subject is waterfront
Rating≥ 4.5 stars (top quartile) for premium comping
Review count≥ 25 (filters new/unscored properties)
Listing age≥ 12 months (mature properties only)

Comp set size: 10-30 properties is the sweet spot. < 10 = too thin (one outlier moves rates). > 30 = dilutes signal.

Refresh comp set monthly (listings come and go).

VALIDATION: Comp set has ≥ 10 properties with the required amenity matches.

============================================================ === PHASE 2: BASE RATE COMPUTATION ===

For each night, compute a base rate:

Base = median(comp_set_rates_for_same_DOW_in_window) × adjustment_factors

Adjustment factors:
  Bedrooms vs comp median:    × 1.0 for match, ± 0.10/bedroom
  Reviews vs comp median:     × 1.05 if ≥ 2× comp median (premium)
  Rating vs comp median:      × 1.07 if 5.0 with ≥ 50 reviews
  Photos / staging quality:   × 0.95 to 1.10 (manual override)
  New-listing discount:       × 0.85 for first 90 days, taper to 1.0 by day 180
  Cost floor:                 max(base, cost_floor)

For each Day-of-Week in each Month, derive a separate median. Saturday rates ≠ Tuesday rates ≠ Christmas Day rates.

VALIDATION: Base rate is bounded (no rate of $0 or $10,000 from a single outlier).

============================================================ === PHASE 3: SEASONALITY MULTIPLIERS ===

Three layers of seasonality:

  1. Annual — high season vs low season per market. Beach: summer × 1.6, winter × 0.7. Ski: winter × 1.8, summer × 0.6. Pull from AirDNA / Rabbu market data OR derive from prior year's market median by month.
  2. Monthly cycle — months within season. Aug > June > July for many beaches.
  3. Day-of-week — weekend premium (Fri/Sat). Default Fri × 1.15, Sat × 1.25, Sun × 1.10, weekday × 1.0.

Multipliers compound: Base × Annual × Monthly × DOW.

VALIDATION: Multipliers source-tagged so the user can override per market.

============================================================ === PHASE 4: EVENT-DRIVEN PRICING ===

Local events drive massive demand spikes. Maintain a market event calendar:

Event TypeDefault MultiplierNotes
Major concert (arena scale)1.5-2.5×Within 5 miles of venue
Conference (1k+ attendees)1.4-1.8×Within radius depending on hotel inventory
Sports — championship game2.0-3.0×Super Bowl, NCAA Final Four
Sports — regular season1.1-1.3×NFL Sunday in NFL city
Festival (Coachella, SXSW)1.8-2.5×Multi-day, regional
Wedding season weekend1.3-1.5×Saturdays Apr-Oct in popular markets
Holiday (NYE, Christmas, July 4)1.5-2.0×Country-specific

Sources: Ticketmaster + Eventbrite + city tourism feed + manual local-knowledge override.

VALIDATION: Events within next 60 days are detected and applied. New event addition propagates within hours.

============================================================ === PHASE 5: LEAD-TIME + BOOKING-PACE PRICING ===

As the date approaches, rates should shift based on whether bookings are pacing ahead or behind:

Lead timeDefault behavior
60+ days outHold premium rates (no discount). Capture early planners.
30-60 daysCompare bookings-on-books vs prior-year-same-period. Hold or discount 5-10% if pacing -10% YoY.
14-30 daysMore aggressive discount if pacing behind: 10-20% off.
7-14 daysDiscount up to 25% on still-empty nights. Below cost floor → keep empty (lower than break-even isn't worth wear & tear).
0-7 daysLast-minute discount up to 35% on still-empty Friday/Saturday/Sunday. Weekday nights often better left empty.
Gap nights (single between bookings)Discount aggressively (-20-30%) — better to fill than have orphans.

VALIDATION: Booking-pace lookup pulls actual current bookings + prior-year baseline before adjusting.

============================================================ === PHASE 6: MINIMUM-STAY OPTIMIZATION ===

Minimum-stay rules protect against orphans:

  • Standard: 2-night minimum weekdays, 3-night minimum weekend, 7-night minimum holidays.
  • Dynamic: drop min-stay during low-demand windows (allow 1-night fills) but enforce during high-demand windows (force 3+ to avoid breaking up bookable weeks).
  • Gap-stay rules: if Mon-Wed is open and Fri-Sun is booked, allow Mon-Wed 3-night booking (fill the gap) but block 2-night Wed-Thu booking (would orphan Mon-Tue).

Generate min_stay_calendar.csv per night.

VALIDATION: No min-stay rule produces an unfillable orphan night.

============================================================ === PHASE 7: OUTPUTS ===

str-pricing-{listing-id}/
├── rate_calendar.csv           # nightly rates for next 365 days
├── min_stay.csv
├── rate_changes.md             # explanation per night (which rules applied)
├── forecast.md                 # 30/60/90-day occupancy + ADR + RevPAR forecast
├── weekly_report.md            # last 7 days performance vs comp set
└── alerts.md                   # nights with >25% drift from prior, events found, comp set changes

Push to PMS via API. Most channel managers accept a rate-push REST call per listing.

VALIDATION: Rate calendar has exactly 365 rows, no missing dates.

============================================================ === SELF-REVIEW ===

  • Complete: All 7 phases produced output?
  • Robust: Cost floor prevents negative deals? Gap nights detected? Event detection working?
  • Clean: Each rate has a "why" explanation?
  • STR-credible: Would a PriceLabs / Beyond user accept this as a viable engine?

Common gap: chasing comp set into a price war. Set a floor and respect it.

============================================================ === LEARNINGS CAPTURE ===

~/.claude/skills/str-dynamic-pricing/LEARNINGS.md.

============================================================ === STRICT RULES ===

  • Never set rates below the cost floor. Empty nights cost less than below-cost ones.
  • Never ignore minimum-stay coordination — orphan nights are unfillable.
  • Never apply event multipliers without verifying the event is on (some get cancelled).
  • Never let comp set fall below 10 properties. Refresh monthly.
  • Always provide a "why this rate" explanation per night for transparency.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

508-audit

無料

Run a full Section 508 + WCAG 2.2 Level AA accessibility audit on a federal / .gov / public-sector website or ICT product. Triggers: "Section 508", "508 audit", "WCAG", "VPAT", "ACR".

日本語の概要は準備中です。原文の説明を表示しています。

tinh2/skills-hub-registry192026年9月5日 更新

Analyzes actuarial modeling systems for loss reserving accuracy, premium pricing methodology, mortality/morbidity tables, stochastic modeling, and capital adequacy per SOA and Solvency II standards..

日本語の概要は準備中です。原文の説明を表示しています。

tinh2/skills-hub-registry192026年9月5日 更新

Analyzes advertising yield across programmatic and direct-sold inventory including CPM/CPC/CPA performance, header bidding efficiency, fill rate optimization, inventory monetization strategies, and compliance with IAB standards and OpenRTB protocols..

日本語の概要は準備中です。原文の説明を表示しています。

tinh2/skills-hub-registry192026年9月5日 更新

adr

無料

Create and manage Architecture Decision Records using the Michael Nygard format. Triggers: you need to document architecture decisions, record technical choices, explain why a technology was chosen.

日本語の概要は準備中です。原文の説明を表示しています。

tinh2/skills-hub-registry192026年9月5日 更新

Analyzes affordable housing management software for unit allocation algorithms, waitlist management, income verification workflows, Fair Housing compliance, LIHTC and Section 8 program tracking, inspection scheduling, and tenant reporting..

日本語の概要は準備中です。原文の説明を表示しています。

tinh2/skills-hub-registry192026年9月5日 更新

Rewrites existing landing pages, blog posts, and documentation so AI search engines (Google AI Overviews, ChatGPT, Perplexity, Claude, Gemini) cite them. Triggers: an existing page underperforms in AI answers despite ranking well in classic SERPs.

日本語の概要は準備中です。原文の説明を表示しています。

tinh2/skills-hub-registry192026年9月5日 更新

tinh2 のスキルをすべて見る

このスキルの問題を報告する