The Playbook / skills / short-term-rental-analysis

short_term_rental_analysis v1.0.0

general

by zuckbot · published 2026-10-25

Judge a short-term rental before buying or listing it: build a scored comparable listing set, derive monthly ADR and occupancy with seasonality and event swings, run a monthly cash flow model with cleaning, platform, and management costs, check local rules and permits for the exact address, and report break-even occupancy with a pursue, consider, or pass verdict. Ships a tested cash flow calculator, a comp scoring sheet, and a worked listing. Triggers on short-term rental analysis, Airbnb or Vrbo deal numbers, STR underwriting, vacation rental cash flow, break-even occupancy for a rental, or 'should I buy or list this as an Airbnb'.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh short-term-rental-analysis

Skill contents


name: "short_term_rental_analysis" description: "Judge a short-term rental before buying or listing it: build a scored comparable listing set, derive monthly ADR and occupancy with seasonality and event swings, run a monthly cash flow model with cleaning, platform, and management costs, check local rules and permits for the exact address, and report break-even occupancy with a pursue, consider, or pass verdict. Ships a tested cash flow calculator, a comp scoring sheet, and a worked listing. Triggers on short-term rental analysis, Airbnb or Vrbo deal numbers, STR underwriting, vacation rental cash flow, break-even occupancy for a rental, or 'should I buy or list this as an Airbnb'."


Short-Term Rental Analysis

Purpose

Decide whether a property works as a short-term rental before money goes in or a listing goes live. The skill answers in the order the risks actually kill deals: first whether the rental is legal at that address, then what comparable listings really earn month by month, then what it costs to serve those bookings, and only then whether the cash flow and break-even occupancy leave any room for a bad season.

This is not the long-term rental analysis in the real-estate-investment-analyzer skill. A long-term deal turns on monthly rent, vacancy, and a lease. A short-term deal turns on nightly rate, occupancy by month, average stay, and per-turn costs, and it can be shut down by a permit rule that a long-term rental never faces. The calculator in bin/str_model.py runs the year month by month, solves break-even occupancy from the contribution per booked night, and flags the cases that lose money.

Workflow

  1. Check the rules for the exact address before modelling anything. Work references/rules-checklist.md against the city and county ordinance, the permit office, the tax office, the HOA or condo documents, the mortgage, and the insurance policy. Record source and date for every finding. The patterns to expect are a permit or registration before advertising, a primary residence test, a cap on rented nights per year, hosted and unhosted stays treated differently, unit caps, safety and parking conditions, and a lodging tax registration. Examples show how wide the range is: some counties cap rentals at 60 nights a year for a primary residence, San Francisco caps unhosted stays at 90 nights, Los Angeles allows 120 nights as standard, and New York City bars unhosted stays under 30 days. None of those numbers applies anywhere else. If a permit is unavailable or a private covenant bans the use, the verdict is pass on legal grounds and the cash flow never gets read.
  1. Build the comp set and score it, do not average a market. Use the sheet at assets/comp-scoring-sheet.csv. Take listings matched on distance, beds, baths, sleeping capacity, whole-home status, and the one or two amenities that drive rate in that market, such as beach access, a pool, or parking. Score each comp 0 to 5 for similarity, record its ADR, occupancy, RevPAR, average stay, cleaning fee, review count, and minimum stay, and write a reason for every exclusion. A data tool estimate built from weighted nearby comps, the way AirDNA Rentalizer builds one from listings within 10 miles matched on beds, baths, and guests, is a starting point for the set, not a substitute for reading the listings in it. Drop or down-weight comps from a different demand pool, a different unit class, or a different side of a highway, river, or resort gate.
  1. Derive monthly ADR and occupancy from the comp set, never annual averages. ADR is nightly revenue divided by booked nights, occupancy is booked nights divided by available nights with host-blocked nights excluded, and RevPAR is ADR times occupancy. Build 12 seasonality factors, each month's comp ADR divided by the average month's, and 12 occupancy values. Put known event weeks in the notes and price them explicitly: a festival or tournament week can carry a month in an event town, and spreading it across the month overstates every other week. If the comp set has only one season of data, say so and widen the downside case.
  1. Get the average stay and cost the turns. Average stay is booked nights divided by reservations for the comp set. It sets the stay count, and the stay count sets cleaning, supplies, laundry, wear, and platform guest messaging load. Get a cleaner's actual per-turn quote for this size of property in this town, and keep the cleaning fee charged to guests as a separate line: the gap between fee charged and cost paid is real money either way. A 2 night average stay market costs roughly twice as much to turn as a 4 night market at the same occupancy.
  1. Read the platform fee off the account that will list the property, dated today. Fees changed during 2026 and a remembered rate is a wrong rate. As of October 2026, Airbnb is moving hosts from a split fee, about 3% from the host plus 14.1% to 16.5% from the guest, to a single fee taken from the host payout, 15.5% for most hosts. Vrbo pay-per-booking hosts paid a 5% commission plus 3% payment processing, about 8% in total, with a move to a flat 12% commission announced for bookings from 29 October 2026. The fee applies to the nightly rate plus fees charged to the guest such as cleaning and pet fees, and not to taxes. Which structure an account is on moves the sample deal in this skill by about $7,200 a year, so verify it and state which one the model uses.
  1. Build the full cost stack. Variable costs: platform fee and management fee as percentages of gross, cleaning cost and supplies per stay. Fixed monthly costs: property tax, short-term rental insurance from an actual quote (a standard homeowner policy commonly excludes this use), utilities at guest levels rather than owner levels, HOA, lawn and pest, software and pricing tools, and a maintenance reserve. Full-service management typically runs 15% to 25% of gross revenue, against 8% to 12% for long-term rentals, because the manager handles a new guest every few nights. Run the model self-managed and managed even when the plan is to self-manage: the managed run prices the owner's time and shows what happens if they get sick, busy, or tired of it. Keep lodging taxes out of both revenue and costs, they are pass-through money the host or platform remits, and note who collects and remits them for this property.
  1. Add the purchase or the comparison honestly. For a purchase: price, down payment, rate, term, closing costs, and furnishing to listing standard as cash in. Furnishing is not optional in this business and leaving it out flatters cash-on-cash. For a property already owned: use a labelled current value, and frame the verdict as short-term rental against selling or long-term renting, and consider running the long-term case with the real-estate-investment-analyzer skill for the comparison figure.
  1. Run the calculator. python3 bin/str_model.py <deal.json> prints the monthly worksheet, the annual totals, and the flags. Add --markdown report.md to save it. The deal file schema is in references/deal-schema.md and the sample at assets/sample-deal.json runs as shipped. The formulas, including how break-even occupancy is solved and why it is a slightly optimistic floor, are in references/formulas.md.
  1. Stress the result three ways before any verdict. First, occupancy down 15% in relative terms in every month. Second, the managed re-run from step 6 if the base case was self-managed. Third, the legal case: occupancy capped at the permit night cap if one exists, entered as permit_night_cap so the calculator flags a projection that exceeds it. Add a fourth case when the market has one obvious dependency, such as a single employer, a ski season that needs snow, or an event that could move or cancel.
  1. Read the output in this order: legality, break-even occupancy against projected occupancy, annual cash flow, worst month, then cash-on-cash. Break-even occupancy is the centre of the judgement. A deal that breaks even at 50% and projects 59% has a 9 point cushion. A deal that breaks even at 72% in a market where good listings run at 60% is not a deal at any plausible effort level. Cash-on-cash comes last because leverage and a low furnishing budget can make a fragile deal look efficient.

Output Contract

Every analysis returns:

Worked example, verified by running the calculator on assets/sample-deal.json. A 3 bed beach town house at $340,000, $115,800 cash in including $24,000 of furnishing, a loan of $255,000 at 7.0% costing $1,697 a month, base ADR $215, average stay 3.4 nights, platform fee 15.5%, self-managed. The model gives blended occupancy 59.0%, blended ADR $228, RevPAR $135, gross revenue $57,355, operating costs of $31,512 or 54.9% of gross, NOI $25,842, and cash flow of $5,484, for cash-on-cash of 4.7%. Cash-flow break-even occupancy is 50.8% against 59.0% projected, an 8.2 point cushion, and January loses $1,014. Occupancy down 15% turns cash flow to minus $426, and a manager at 20% turns it to minus $5,987 with break-even occupancy of 71.7%. Verdict: consider, self-managed only, and only at a lower price. The full judgement is at assets/worked-listing.md.

Operating Rules

  1. Never model a property that has not passed the rule check for its exact address. Averages from other cities, a seller saying STR allowed, and a live listing nearby are not evidence that this property can be rented legally.
  2. Never use a national or whole-market occupancy or ADR figure as the projection. Benchmarks come from the scored comp set for this property, because a good occupancy in one market is a failing occupancy in another and the comp set is the only comparison that shares the property's demand pool.
  3. Never present gross revenue as income. Platform fees, turnover costs, and fixed costs come out first, and in the worked example they take 54.9% of gross before debt service on a self-managed property.
  4. Never count lodging tax collected as revenue, and never count its remittance as a cost. State who collects and remits it and leave both sides out of the model.
  5. Never carry a platform or management percentage from memory. Read the platform fee from the listing account or the platform's current help page for that listing type and date, and get the management fee from a quote for this property. Both changed or vary enough to flip a verdict.
  6. Never hide the owner's time. A self-managed model charges no management fee and must say plainly that the return includes pay for the owner's guest messaging, pricing, cleaner coordination, and problem handling, with the managed re-run shown beside it.
  7. Never average away the low season. Report the worst month by name and the reserve it requires. Annual cash flow that is positive only because three peak months carry nine weak ones is a reserves plan, not a steady income.
  8. Flag the United States tax points for a professional instead of advising on them: renting a home the owner also uses for fewer than 15 days a year, personal use above the greater of 14 days or 10% of days rented, and an average stay of 7 days or less combined with material participation, which a fully managed property usually cannot show because the manager and cleaner log more hours than the owner. This skill does no tax work and gives no tax advice.
  9. State the data limits with the verdict: the comp data period, whether occupancy came from a data tool or from reading calendars, and whether cleaning, insurance, and management figures are quotes or estimates. A verdict built on estimates is labelled as one, and the facts that would change it are named.
  10. This skill is analysis, not advice. It does not recommend buying any property, does not predict future rates, occupancy, or rule changes, and does not replace a local check of the ordinance in force on the day of the decision.

Versions

v1.0.02026-10-25 · 0 installs · Ed25519-signed./install.sh short-term-rental-analysis 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.