How can we help? 👋

Meter-level linear extrapolation methodology

Understand the methodology Scaler uses to estimate missing meter data with linear extrapolation — the model steps, confidence scoring, and where estimates appear.

Purpose of this article

This article explains Scaler's linear extrapolation methodology: the model that estimates missing energy meter data using each meter's own consumption history. It covers how the model works step by step, how confidence scores are assigned, where estimated values appear in the platform, and the model's limitations.

This is one of two estimation models in Scaler. For estimation in GRESB reports, which follows GRESB's own rules and produces different values, see GRESB estimation model methodology. For a comparison of both models, see Estimated consumption data in Scaler.


When estimation is applied

Linear extrapolation fills missing or incomplete portions of energy meter data to create a continuous dataset. It applies when:

  • A meter reading covers only part of a month
  • One or more months of consumption data are missing
  • Data is delayed or partially reported

Estimated values are modelled, not measured, and are clearly identified in analytics and exports. Estimation is only applied when data is missing at the meter level — it never overwrites actual readings.


How the model works

Scaler uses a linear, history-weighted estimation model based on each meter's actual past consumption:

  1. Detects missing periods — identifies incomplete months at the meter level, even if only a few days are missing.
  1. References recent history — looks back up to 6 calendar months from the gap month, for the same meter only. Only months with an actual reading count as history: estimated values are never reused to build further estimates.
  1. Converts history to daily averages — converts historical monthly values into average daily consumption, so full and partial months can be compared on the same basis.
  1. Applies weighted logic — the actual months in the window are ranked newest first and weighted with a decay factor: weight = 0.8^i, where i is the month's rank (0 for the newest). Each older month counts roughly 20% less. The weight depends on rank among the actual months, not calendar distance — the newest actual month keeps weight 1.0 whether the gap is one month or five months later.
  1. Estimates the gap — the weighted average daily rate is rate = SUM(weight × daily consumption) / SUM(weight), and each missing month is filled with rate × missing days in that month.
  1. Assigns a confidence score — each estimate is scored based on data availability and proximity to actual readings.

Confidence scoring

Each estimated value includes a confidence score to help assess reliability. The score is available in the confidence column of the meter export, and is calculated as:

confidence = (actual months in the 6-month window / 6) × 90%

In practice:

  • Four actual months in the window give a confidence of 0.6; two give 0.3.
  • Confidence never exceeds 90% — an estimate is never treated as certain.
  • As a gap extends, older months drop out of the rolling window, so confidence falls month by month.
  • When no actual months remain in the window, confidence is 0% and the estimate is stored as 0 (see the behaviours below).

Confidence scores are guidance indicators, not guarantees of accuracy.


Where estimated values appear

Analytics Portal

Analytics Portal → Portfolio → Performance → Energy

  1. Select View → Estimated (Scaler algorithm)
  1. Estimated values appear alongside actual data
  1. Asset-level charts show estimated portions as stacked bars
Notion image
Notion image

Data Collection Portal exports

Data Collection Portal → Portfolio → Meters & Consumption → Download monthly export

The export includes the estimated_linear_extrapolation_consumption column, which complements actual_monthly_consumption to provide a complete time series for analytics, benchmarking, and external reporting workflows.

Partial months are calendarized: if a meter reading covers only part of a month (for example June 13–30), actual_monthly_consumption reflects those 18 days, while estimated_linear_extrapolation_consumption extrapolates to the full month.

Notion image
Notion image

GRESB reports

Linear extrapolation output is used by the GRESB estimation model when the GRESB-compliant, client-provided estimates + linear extrapolation mode is selected — capped at GRESB's estimation limits. See GRESB estimation model methodology. It is not included in other framework reports.


Strengths and limitations

Strengths:

  • Avoids flat or arbitrary assumptions
  • Uses real, meter-specific historical data
  • Supports like-for-like scoring and benchmarking
  • Improves portfolio comparability

Limitations:

  • Does not adjust for seasonality
  • Assumes recent consumption patterns remain relevant
  • Uses a fixed 6-month lookback window
  • Estimated values should not replace measured data when actual readings are available
How occupancy affects estimates

Occupancy rates (Annual vacancy rate) are not directly factored into estimation calculations. However, occupancy is implicitly reflected in the consumption data itself. Since Scaler estimates missing months using the past six months of actual consumption (with greater weight on recent months), any occupancy-related usage patterns are already captured in the historical data that drives the estimates.


How estimation differs from normalization

Estimation
Normalization
Fills missing or unreported consumption
Adjusts reported consumption to a common basis
Creates modelled values where data is missing
Scales existing values without inventing new usage
Uses historical patterns to estimate gaps
Uses structural factors (time, occupancy, weather)
Focused on data continuity
Focused on comparability
Answers: "What likely happened when data is missing?"
Answers: "How would this data compare under equal conditions?"

Time-based normalization adjusts reported consumption to a full-year equivalent but does not estimate unreported usage; estimation is only applied when data is missing at the meter level.


Additional resources

Did this answer your question?
😞
😐
🤩