Estimate Savings
This section describes how to estimate savings from the panel dataset created from the provided raw data. It includes the model specification used by Oracle Utilities for regression analysis to calculate savings per day. It also includes instructions for estimating the total savings across the post-treatment period and the savings for each month. This information is intended for analysts, data scientists, or other utility program management staff responsible for evaluating the impact of the Oracle Utilities Opower program.
Model Specification
The model specification is used in conjunction with data from the prepared dataset for regression analysis. Regression analysis yields β, the savings per day per household coefficient. In the model specification below, i denotes the ith household and t denotes the t th month of the post-treatment period.
| Equation Component | Description |
|---|---|
| The average daily usage for meter read t for household i in the post-treatment period. | |
| |
An indicator that household i is assigned to the treatment group. |
| |
A vector of three baseline usage control variables shown in the next three rows. |
| average preusage | The average daily usage across household i’s available pre-treatment meter reads. If missing, this value is imputed with the average pre-usage of all customers in the population. |
| average preusage winter | The average daily usage over the months of December through March across household i’s available pre-treatment meter reads. If missing, this value is imputed with household i’s value for |
| average preusage summer | The average daily usage over the months of June through September across household i’s available pre-treatment meter reads. If missing, this value is imputed with household i’s value for |
| |
A set of indicators for each month-year in the post-treatment period. |
| |
Coefficients represent the relationship of the average preusage control variables to post-treatment usage. γt coefficients can vary by month-year. |
| |
An error term. |
The regression is weighted by bill_duration_days in order to reflect that billing records have been averaged over a varying number of days to calculate daily_usage.
Implementing the Model Specification
The following sample code can be used to implement the model specification in the R programming language. Ensure your dataset is structured according to the model specification before running it.
Cumulative model:
daily_usage ~ treatment + mm*(avg_preusage + avg_preusage_summer + avg_preusage_winter)Monthly model:
daily_usage ~ treatment:mm + mm*(avg_preusage + avg_preusage_summer + avg_preusage_winter)The following can be used to implement the model specification as a Stata command. Ensure your dataset is structured according to the model specification before running these commands.
Cumulative model:
reg daily_usage treatment i.mm##c.avg_preusage ///
i.mm##c.avg_preusage_summer ///
i.mm##c.avg_preusage_winter ///
[pw = bill_duration_days] ///
if post == 1 & trimmed == 0 ///
, vce(cluster opower_customer_id)Monthly model:
reg daily_usage c.treatment#i.mm i.mm##c.avg_preusage ///
i.mm##c.avg_preusage_summer ///
i.mm##c.avg_preusage_winter ///
[pw = bill_duration_days] ///
if post == 1 & trimmed == 0 ///
, vce(cluster opower_customer_id)Calculating Cumulative and Monthly Savings
The following procedure describes how to use the prepared panel data and model specification to calculate cumulative and monthly savings in regression analysis.
To calculate cumulative and monthly savings:
- Include in the regression all rows after the treatment start (billing data prior to treatment start should be used only to create regression coefficients).
- Estimate the savings per day coefficient (β) for each month using the model specification.
- Calculate the number of active customer days for each month by using the customer account active and inactive dates and the customer RCT start and end dates.
- Estimate monthly savings by multiplying savings per day (β) for each month by the number of active days in each month. Estimate cumulative savings over the whole post-treatment period by multiplying savings per day (β) across all active days in the post-treatment period.