{
  "slug": "rubs-utility-allocation",
  "title": "Submetering / RUBS Utility Allocation Calculator",
  "heading": "RUBS Utility Billback Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/rubs-utility-allocation",
  "summary": "Allocate a master water, sewer, or trash bill across units fairly and see the revenue recovered.",
  "description": "Ratio Utility Billing System (RUBS) lets owners of master-metered buildings recover utility costs from tenants without installing submeters, by allocating the bill using a formula based on square footage, occupant count, or unit count rather than actual measured usage. This calculator applies the three common allocation methods to a master bill so you can compare how much each unit would owe and how much total recovery you'd see, then estimate what installing real submeters might change. Many states and cities regulate RUBS closely — some cap the admin fee, require specific disclosure, or ban RUBS for water in favor of submetering — so check local rules before implementing.",
  "formula": "Unit share (sq ft method) = unit sq ft ÷ total building sq ft × master bill. Unit share (occupant method) = unit occupants ÷ total occupants × master bill.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=rubs-utility-allocation",
  "inputs": [
    {
      "id": "masterBill",
      "label": "Master utility bill (monthly)",
      "kind": "number",
      "hint": null,
      "default": 3200,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "totalUnits",
      "label": "Total units in building",
      "kind": "number",
      "hint": null,
      "default": 20,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "unitSqFt",
      "label": "This unit's square footage",
      "kind": "number",
      "hint": null,
      "default": 850,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "totalSqFt",
      "label": "Total building square footage",
      "kind": "number",
      "hint": null,
      "default": 18000,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "unitOccupants",
      "label": "This unit's occupant count",
      "kind": "number",
      "hint": null,
      "default": 2,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "totalOccupants",
      "label": "Total building occupant count",
      "kind": "number",
      "hint": null,
      "default": 42,
      "unit": null,
      "min": 1,
      "max": null
    },
    {
      "id": "adminFee",
      "label": "RUBS admin fee per unit",
      "kind": "number",
      "hint": null,
      "default": 4,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "totalBillSqFt",
      "label": "This unit's bill (sq ft method + admin fee)",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "sqFtShare",
      "label": "Sq ft allocation method",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "occupantShare",
      "label": "Occupant count allocation method",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "equalShare",
      "label": "Equal per-unit split",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "totalRecoveryAnnual",
      "label": "Estimated annual recovery, all units",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Master utility bill (monthly): 3200 $",
      "Total units in building: 20",
      "This unit's square footage: 850",
      "Total building square footage: 18000",
      "This unit's occupant count: 2",
      "Total building occupant count: 42",
      "RUBS admin fee per unit: 4 $"
    ],
    "outputs": [
      "This unit's bill (sq ft method + admin fee): $155.11",
      "Sq ft allocation method: $151.11",
      "Occupant count allocation method: $152.38",
      "Equal per-unit split: $160.00",
      "Estimated annual recovery, all units: $37,227"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter master utility bill (monthly) ($).",
      "Enter total units in building.",
      "Enter this unit's square footage.",
      "Enter total building square footage.",
      "Enter this unit's occupant count.",
      "Enter total building occupant count.",
      "Enter rubs admin fee per unit ($).",
      "Read your this unit's bill (sq ft method + admin fee) 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": {
        "masterBill": 1900,
        "totalUnits": 12,
        "unitSqFt": 510,
        "totalSqFt": 10800,
        "unitOccupants": 1,
        "totalOccupants": 25,
        "adminFee": 2.4
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "masterBill": 3200,
        "totalUnits": 20,
        "unitSqFt": 850,
        "totalSqFt": 18000,
        "unitOccupants": 2,
        "totalOccupants": 42,
        "adminFee": 4
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "masterBill": 5100,
        "totalUnits": 32,
        "unitSqFt": 1360,
        "totalSqFt": 28800,
        "unitOccupants": 3,
        "totalOccupants": 67,
        "adminFee": 6.4
      }
    }
  ],
  "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": "Which allocation method is fairest?",
      "a": "Square footage is most common and courts generally view it as defensible since larger units plausibly use more water and utilities. Occupant-based allocation tracks actual usage drivers better for water specifically but requires verifying and updating occupant counts, which creates more administrative and dispute risk."
    },
    {
      "q": "Is RUBS legal everywhere?",
      "a": "No — several states and cities restrict or ban RUBS for certain utilities (especially water), require specific tenant disclosures in the lease, or cap the admin fee. California, for example, has specific submetering and billing requirements; always verify your state and local ordinance before rolling out RUBS."
    },
    {
      "q": "How much can I recover with RUBS vs actual submetering?",
      "a": "RUBS typically recovers 70-90% of what true submetering would, since it's an allocation formula rather than measured usage, but it costs far less to implement — no meters, no separate utility accounts. Submetering costs more upfront (commonly $200-$400 per unit installed) but ties billing directly to actual use and often reduces consumption because tenants see a direct cost link."
    },
    {
      "q": "Does RUBS reduce my water and sewer expense line?",
      "a": "It shifts the expense from your P&L to tenant billback revenue, but total building consumption doesn't necessarily drop unless tenants can see and control their own usage — RUBS with an allocation formula gives tenants little individual incentive to conserve compared to a true submeter reading their actual usage."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/maintenance-cost-per-unit",
    "https://www.revenuelab.fyi/toolbox/vacancy-loss-calculator"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Submetering / RUBS Utility Allocation Calculator (https://www.revenuelab.fyi/toolbox/rubs-utility-allocation)"
}