{
  "slug": "parking-lot-revenue",
  "title": "Parking Lot Revenue Calculator",
  "heading": "Parking Lot Revenue Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/parking-lot-revenue",
  "summary": "Project daily and annual revenue from a surface parking lot based on spaces, turnover, and rate.",
  "description": "Surface lot revenue is a function of usable spaces, average daily rate or hourly rate times turnover (how many different vehicles use each space per day), and occupancy. A downtown event lot with 3 turns a day at $15/turn earns very differently from a monthly-permit lot with 1.0 turns at $150/month per space. This calculator handles both models: enter either a daily transient rate with turnover, or treat spaces as monthly permits, and it computes gross revenue, then subtracts operating costs (attendant labor, striping/maintenance, insurance, and often a percentage-rent or management fee) to land on net operating income for the lot.",
  "formula": "Transient revenue = spaces × turns/day × rate/turn × 30.4 × occupancy %. Permit revenue = permit spaces × monthly permit rate. Net income = total revenue × (1 − expense ratio).",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=parking-lot-revenue",
  "inputs": [
    {
      "id": "transientSpaces",
      "label": "Transient (pay-per-visit) spaces",
      "kind": "number",
      "hint": null,
      "default": 80,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "turnsPerDay",
      "label": "Turns per space per day",
      "kind": "number",
      "hint": null,
      "default": 2.2,
      "unit": null,
      "min": 0.1,
      "max": null
    },
    {
      "id": "ratePerTurn",
      "label": "Average rate per turn/visit",
      "kind": "number",
      "hint": null,
      "default": 12,
      "unit": "$",
      "min": 1,
      "max": null
    },
    {
      "id": "occupancy",
      "label": "Average occupancy",
      "kind": "number",
      "hint": null,
      "default": 70,
      "unit": "%",
      "min": 10,
      "max": 100
    },
    {
      "id": "permitSpaces",
      "label": "Monthly permit spaces",
      "kind": "number",
      "hint": null,
      "default": 30,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "permitRate",
      "label": "Monthly permit rate per space",
      "kind": "number",
      "hint": null,
      "default": 140,
      "unit": "$",
      "min": 10,
      "max": null
    },
    {
      "id": "expenseRatio",
      "label": "Operating expense ratio",
      "kind": "number",
      "hint": null,
      "default": 32,
      "unit": "%",
      "min": 5,
      "max": 70
    }
  ],
  "outputs": [
    {
      "id": "netIncome",
      "label": "Monthly net operating income",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "totalRevenue",
      "label": "Monthly gross revenue",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "transientRevenue",
      "label": "Transient revenue",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "permitRevenue",
      "label": "Permit revenue",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "annualNet",
      "label": "Annualized net income",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Transient (pay-per-visit) spaces: 80",
      "Turns per space per day: 2.2",
      "Average rate per turn/visit: 12 $",
      "Average occupancy: 70 %",
      "Monthly permit spaces: 30",
      "Monthly permit rate per space: 140 $",
      "Operating expense ratio: 32 %"
    ],
    "outputs": [
      "Monthly net operating income: $33,417",
      "Monthly gross revenue: $49,143",
      "Transient revenue: $44,943",
      "Permit revenue: $4,200",
      "Annualized net income: $401,010"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter transient (pay-per-visit) spaces.",
      "Enter turns per space per day.",
      "Enter average rate per turn/visit ($).",
      "Enter average occupancy (%).",
      "Enter monthly permit spaces.",
      "Enter monthly permit rate per space ($).",
      "Enter operating expense ratio (%).",
      "Read your monthly net operating income on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "transientSpaces": 50,
        "turnsPerDay": 1.32,
        "ratePerTurn": 7.199999999999999,
        "occupancy": 40,
        "permitSpaces": 20,
        "permitRate": 80,
        "expenseRatio": 19
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "transientSpaces": 80,
        "turnsPerDay": 2.2,
        "ratePerTurn": 12,
        "occupancy": 70,
        "permitSpaces": 30,
        "permitRate": 140,
        "expenseRatio": 32
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "transientSpaces": 130,
        "turnsPerDay": 3.5200000000000005,
        "ratePerTurn": 19.200000000000003,
        "occupancy": 100,
        "permitSpaces": 50,
        "permitRate": 220,
        "expenseRatio": 51
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "Is transient or monthly-permit parking more profitable?",
      "a": "Transient parking generally earns more revenue per space if turnover and occupancy are strong, since each space sells multiple times a day instead of once a month, but it requires more management, payment technology, and enforcement. Permit parking is lower revenue per space but far more stable and requires almost no daily operating attention."
    },
    {
      "q": "What operating expense ratio should I use?",
      "a": "Attended lots with cashiers run 35-45% of revenue in operating expense; unattended lots with pay-and-display kiosks or app-based payment (ParkMobile, etc.) can run 15-25% since labor is minimal — the equipment and payment processing fees replace most of the labor cost."
    },
    {
      "q": "How many turns per day is realistic for a downtown lot?",
      "a": "Event and entertainment-district lots can see 2-4 turns on a good day; office-district lots often see closer to 1 turn (commuters park all day) supplemented by evening event parking. Retail-adjacent lots vary widely with shopping patterns, often 1.5-3 turns."
    },
    {
      "q": "Should I convert some transient spaces to permits or vice versa?",
      "a": "Run both revenue lines through this calculator and compare marginal revenue per space. If transient revenue per space, adjusted for occupancy risk, clearly beats permit revenue per space and demand supports it, shifting the mix toward transient raises revenue — but do it gradually to avoid losing reliable permit customers who provide baseline cash flow."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/parking-garage-breakeven",
    "https://www.revenuelab.fyi/toolbox/billboard-lease-revenue",
    "https://www.revenuelab.fyi/toolbox/ev-charger-station-revenue"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Parking Lot Revenue Calculator (https://www.revenuelab.fyi/toolbox/parking-lot-revenue)"
}