
Meter-based measurement of load impacts is the analytical heart of FLEX Programs. The measurement layer connects transparent, open-source modeling tools to Recurve’s scalable platform, enabling real-time performance tracking, insights, and valuation for thousands of projects across an entire portfolio of demand-side programs.
The core of Recurve’s measurement software is OpenDSM, an open-source project of Linux Foundation Energy, developed under Recurve’s leadership, which has seen widespread adoption across the industry. The FLEX measurement layer integrates OpenDSM modeling into an automated analytics pipeline that also includes comparison group correction, quality assurance, greenhouse gas tracking, and monetary valuation of energy impacts.
The measurement layer connects with the rest of the FLEX Programs toolkit—including customer targeting, project enrollment, portfolio management, goal and metric tracking, program forecasting and optimization, regulatory reporting, and performance payment calculations—to provide an end-to-end solution for modern, nimble, and effective demand-side program management.
This document gives a step-by-step conceptual overview of the FLEX Programs meter-based measurement layer. The figure at the top of the page shows a schematic overview of the process. The sections below provide a description of each step, with links to more detailed technical documentation for readers interested in going deeper.

Baseline modeling characterizes the energy consumption behind a given meter during a baseline period occurring prior to any interventions or events expected to impact energy consumption.1 Recurve applies the EEmeter module from OpenDSM to historical meter, weather, and solar irradiance data to create a mathematical model of typical energy usage patterns for each meter.
OpenEEmeter works with hourly, daily, or billing data and captures each meter's unique characteristics—seasonal variation, temperature response, distinct modes of operation, and solar generation impacts. The resulting baseline model (shown in light blue in the figure below) becomes the foundation for measuring the impact of a demand-side intervention.

The OpenDSM website contains more thorough documentation of the OpenDSM models, including detailed reports on the functioning of the hourly and daily/billing models. Additional considerations related to measuring demand response events can be found in this report.

Counterfactual prediction results from application of the baseline model to actual weather conditions in the post-intervention reporting period to predict what energy consumption would have been if no intervention had occurred. This counterfactual is indicated by the dark blue line in the figure above. The difference between the counterfactual prediction and actual observed consumption (green line) yields the measured impact of the intervention (yellow shaded region). This approach can be applied to measure impacts from energy efficiency, electrification, load shifting, or demand response.

Meter-level load impact measurements will pick up effects both from the intervention and from external factors that might influence energy consumption in the broader population, like economic booms and recessions, extreme weather, utility rate changes, or even global pandemics. In a world of constant change, we need a way to account for population-level effects and isolate the load impacts stemming from the intervention.
Recurve uses the open-source GRIDmeter methods (which have been adopted in OpenDSM) to correct for such factors. The methods apply advanced machine learning algorithms to identify non-participant2 comparison groups with similar characteristics as each participant. By analyzing how non-participants’ energy usage patterns deviated from their own counterfactuals, we create a corrected counterfactual for each program participant (shown in purple in the figure below).

The result isolates the true impact of the intervention from broader market effects, ensuring reliable, payment-quality measurements. As an added benefit, this process naturally accounts for “free-ridership” (customers who would have made similar changes even without the program) by measuring what comparable non-participating customers actually did.

Not all meters can produce reliable measurements, owing to data availability issues, modeling challenges, or erratic consumption patterns. The meter-level qualification step applies criteria to determine which meters are suitable for direct measurement and which require alternative approaches. Qualification criteria include data sufficiency and model fit quality metrics from OpenDSM, screening for non-routine events like solar PV installation, and identification of unreasonable outlier load impacts.
Meters that meet all criteria proceed to interpolation, while disqualified meters move to the assigned impacts step. Full details of Recurve’s approaches to qualification, interpolation, and assigned load impacts can be found in this document.

Qualified meters can still have small amounts of missing data due to gaps in meter readings or weather data. To account for the impacts that occurred at these times, Recurve’s interpolation algorithms impute missing values while preserving meter-specific consumption patterns. Specifically, the algorithm uses similar time periods from surrounding days to fill in small numbers of missing values.

Disqualified meters represent completed projects that deserve credit, but because their impacts can’t be reliably measured, we need to assign them an impact value. A decision can’t be avoided at this point: even choosing to “do nothing” amounts to assigning these meters a load impact of zero.
Fortunately, we can leverage the measurements we’ve made for similar projects in the program to infer appropriate load impact values for these meters. The Assigned Savings3 feature supports several estimation strategies, depending on the program’s structure, maturity, and participant diversity. This ensures that all completed projects receive appropriate credit while preserving measurement accountability.

The final impacts calculation combines results from qualified meters (including interpolated values) and disqualified meters (with assigned impacts) to create a complete picture of program performance. This step assembles the full time-series of load impacts for all projects, ensuring no completed work goes uncredited while maintaining the statistical integrity of the program-level impact measurement.

Load impacts have different values depending on when they occur, e.g., peak-hour energy reductions are worth more than off-peak savings due to grid constraints and generation costs. The optional valuation step in FLEX Programs converts measured energy impacts into monetary value using time-differentiated avoided costs and emissions factors specified by the customer.
Recurve’s open-source FLEXvalue engine calculates grid benefits and cost-effectiveness metrics consistent with the National Standard Practice Manual (NSPM). FLEXvalue can incorporate any customer-specified value stream, allowing programs to reflect the values of their particular jurisdiction and capture the full range of benefits their interventions provide to the grid, the environment, and society. This approach connects measured performance to actual system benefits, creating price signals that incentivize the most valuable projects.
Valuation results can be readily translated into performance based payments for installers and aggregators, which can be easily managed in the FLEX Programs Payments layer.
Footnotes
-
For energy efficiency and electrification interventions, the baseline period consists of the full year preceding the intervention. When measuring demand response events, the baseline period is shorter and often includes data from both before and after the event. Recurve’s standard DR baseline is 30 days prior to the event and 15 days following, with other event days excluded from baseline modeling. ↩
-
In some cases, obtaining non-participant data for the comparison group step can be challenging. In these cases, measurement can proceed without comparison group correction, but there is an uncontrolled risk that savings measurements will be polluted by exogenous effects. ↩
-
The name “Assigned Savings” reflects that these estimates are commonly important to reporting savings from energy efficiency programs; however, the methods can be applied equally well to any type of load impacts, including electrification, load shifting, and demand response. ↩