EEmeter: tools for calculating metered energy savings

Build Status License Documentation Status PyPI Version Code Coverage Status Code Style

EEmeter — an open source toolkit for implementing and developing standard methods for calculating normalized metered energy consumption (NMEC) and avoided energy use.

Background - why use the EEMeter library

At time of writing (Sept 2018), the OpenEEmeter, as implemented in the eemeter package and sister eeweather package, contains the most complete open source implementation of the CalTRACK Methods, which specify a family of ways to calculate and aggregate estimates avoided energy use at a single meter particularly suitable for use in pay-for-performance (P4P) programs.

The eemeter package contains a toolkit written in the python langage which may help in implementing a CalTRACK compliant analysis (see CalTRACK Compliance). It contains a modular set of of functions, parameters, and classes which can be configured to run the CalTRACK methods and close variants.


Please keep in mind that use of the OpenEEmeter is neither necessary nor sufficient for compliance with the CalTRACK method specification. For example, while the CalTRACK methods set specific hard limits for the purpose of standardization and consistency, the EEmeter library can be configured to edit or entirely ignore those limits. This is becuase the emeter package is used not only for compliance with, but also for development of the CalTRACK methods.

Please also keep in mind that the EEmeter assumes that certain data cleaning tasks specified in the CalTRACK methods have occurred prior to usage with the eemeter. The package proactively exposes warnings to point out issues of this nature where possible.


EEmeter is a python package and can be installed with pip.

$ pip install eemeter


If you are having trouble installing, see Using with Anaconda.


  • Candidate model selection
  • Data sufficiency checking
  • Reference implementation of standard methods
    • CalTRACK Daily Method
    • CalTRACK Monthly Billing Method
    • CalTRACK Hourly Method
  • Flexible sources of temperature data. See EEweather.
  • Model serialization
  • First-class warnings reporting
  • Pandas DataFrame support
  • Visualization tools