Skip to content

Interval HVAC disaggregation + balance-point temperature #80

Description

@delabrcd

Sub-issue of #76 (depends on interval ingest). Sharpens #47 (weather-normalization) and #67 (Kalman next-bill model). Related: #45.

What

Use interval usage correlated with hourly temperature to separate weather-driven HVAC load from everything else, at much finer resolution than the monthly degree-day regression.

  • Balance-point temperature per fuel — the outdoor temp where heating/cooling kicks in — fit from interval-usage-vs-temp.
  • Heating/cooling sensitivity (kWh or therms per degree) from the slope above/below the balance point.
  • HVAC vs. baseload split: of a given period's usage, how much was temperature-driven vs. flat.
  • Gas furnace efficiency drift — daily gas vs. temperature trend across a season.

Why interval data + dependency

Hourly usage-vs-temperature gives a clean balance-point fit that monthly data smears out. Dependency: this needs hourly weather to pair with interval usage — today we only store WeatherDaily (Open-Meteo). Add an hourly weather pull (Open-Meteo archive supports it) scoped to the account location, or note it as a prerequisite sub-task.

Implementation notes

  • Regression / balance-point fit in app/src/lib/series.ts or prediction.ts, pure + tested.
  • Feed the derived sensitivities back into the Proper baseload-aware weather model for the next-bill estimate #67 model as sharper priors (don't rip out the monthly fallback for short-history/pre-AMI accounts).
  • Scatter (usage vs temp) + fitted balance point via chartSpec.ts.

Acceptance criteria

  • Hourly weather available for the account (new pull or documented prerequisite).
  • Balance-point temp + heating/cooling sensitivity per fuel, unit-tested.
  • HVAC-vs-baseload split surfaced.
  • Demonstrated improvement (or clean integration) with the Proper baseload-aware weather model for the next-bill estimate #67 next-bill estimate; monthly fallback intact.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:analyticsDerived metrics / insightsenhancementNew feature or requestpriority:lowSomeday: speculative, heavy, optional, or long-term

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions