Skip to content
Go to file

Build Status Install with conda conda package version

NILMTK: Non-Intrusive Load Monitoring Toolkit

Non-Intrusive Load Monitoring (NILM) is the process of estimating the energy consumed by individual appliances given just a whole-house power meter reading. In other words, it produces an (estimated) itemised energy bill from just a single, whole-house power meter.

NILMTK is a toolkit designed to help researchers evaluate the accuracy of NILM algorithms.

⚠️It may take time for the NILMTK authors to get back to you regarding queries/issues. However, you are more than welcome to propose changes, support!

⚠️The last steps in the development of the next NILMTK version (0.4) are being done in the master git branch. If you are a new user, please refer to the version 0.3.x branch at

The latest release is available through


NILMTK Documentation

Why a toolkit for NILM?

We quote our NILMTK paper explaining the need for a NILM toolkit:

Empirically comparing disaggregation algorithms is currently virtually impossible. This is due to the different data sets used, the lack of reference implementations of these algorithms and the variety of accuracy metrics employed.

What NILMTK provides

To address this challenge, we present the Non-intrusive Load Monitoring Toolkit (NILMTK); an open source toolkit designed specifically to enable the comparison of energy disaggregation algorithms in a reproducible manner. This work is the first research to compare multiple disaggregation approaches across multiple publicly available data sets. NILMTK includes:

  • parsers for a range of existing data sets (8 and counting)
  • a collection of preprocessing algorithms
  • a set of statistics for describing data sets
  • a number of reference benchmark disaggregation algorithms
  • a common set of accuracy metrics
  • and much more!


Please see our list of NILMTK publications. If you use NILMTK in academic work then please consider citing our papers.

Please note that NILMTK has evolved a lot since these papers were published! Please use the online docs as a guide to the current API.

Keeping up to date with NILMTK


  • April 2014: v0.1 released
  • June 2014: NILMTK presented at ACM e-Energy
  • July 2014: v0.2 released
  • Nov 2014: NILMTK wins best demo award at ACM BuildSys

For more detail, please see our changelog.

You can’t perform that action at this time.