Energy intelligence · A practical research guide

One meter.
Many loads.

Non-Intrusive Load Monitoring (NILM) uses computation to estimate which appliances are running—and how much they consume—from a building’s aggregate meter readings.

Explore load disaggregation with Stephen Makonin: the concepts, the expectations, and the open tools behind the research.

01 / Educational guide

Understanding the aggregate.

Also called load disaggregation, NILM aims to reduce the need for a sensor on every appliance.

01.1

Why NILM matters

A whole-house total tells us how much electricity we use. Appliance-level feedback helps explain where it goes: heating, refrigeration, cooking, standby demand, or an unexpected persistent load. That information can guide conservation, equipment maintenance, and better decisions about when to use energy.

Real-time appliance feedback can support both environmental and economic goals. Historical feedback studies reported savings of 9% with hourly total-consumption feedback and 14% with real-time appliance-specific feedback; these figures are not predictions for a particular household. Savings depend on the feedback, the people using it, and the actions they can take.

NILM does not eliminate measurement: it still needs an aggregate meter, and supervised training or evaluation may require submetered ground truth. Its goal is useful information with less sensing infrastructure.

01.2

Disaggregator anatomy

A disaggregator is more than an inference algorithm. A generalized architecture connects prior knowledge, model building, meter readings, and estimation.

  1. PriorsAppliance facts and assumptions
  2. Model BuilderConstruct appliance representations
  3. Models + MeterCombine models with aggregate observations
  4. Inference AlgorithmEstimate the most plausible explanation
  5. EstimatorReport appliance activity and consumption

An optional Pre-Tuner feeds adjustments from the Model Builder back to the Priors; an optional Active Tuner uses inference feedback to update the Models.

For example, a hidden Markov model (HMM) can represent load states and their transitions. SparseNILM combines appliance states in a super-state HMM and uses Sparse Viterbi decoding to exploit sparsity. Other algorithms use optimization or learned signal-to-appliance mappings.

01.3

Supervised and unsupervised NILM

Supervised NILM

Submetered appliance data builds models specific to a house. Training has direct evidence of what each monitored appliance was doing.

Unsupervised NILM

General appliance models are actively tuned to a particular house, reducing the need for house-specific appliance labels. This does not mean there are no priors, models, or assumptions.

Adaptation is difficult: appliances of the same type can have very different signatures, sampling can remove important features, and simultaneous load changes can confuse learning. Some approaches assume only one load changes state at a time—the switch continuity principle. That assumption needs testing.

Reliable embedded, real-time operation requires testing the complete system under its intended timing, memory, and processing constraints. Performance in an offline experiment does not establish deployment readiness.

01.4

Sampling frequency changes what is observable

Fast waveform measurements can expose harmonics and short transients. Slower readings emphasize steady-state power, current, and longer activity patterns. Interval energy can hide several appliance transitions inside one reading.

Sampling categories and typical measurements
CategoryRateMeasurements / features
Ultra-highMHzVoltage/current waveforms, harmonics and frequency analysis
High60 Hz, kHzVoltage/current features and frequency analysis, as supported by the acquisition system
Low1 Hz to 1 sample/minPower (W), current (A)
Ultra-lowEvery 5, 10, 15, 30 or 60 minInterval energy (kWh)

These categories are a useful guide rather than universal cutoffs. Sampling rate is distinct from the mains frequency and from the rate at which a meter reports averaged values.

Choose a method for the measurements actually available. Upsampling does not recover lost appliance events. Report units, sampling and reporting intervals, aggregation, missing readings, and timestamp alignment; do not compare results across incompatible resolutions without qualification.

01.5

Appliances have load states, not just nameplate ratings

A dishwasher may move through washing, rinsing, heating, and idle states. A fridge cycles its compressor; other appliances vary continuously. Power level, current, duration, and the order of states can all help distinguish an appliance’s power signature.

“Better Appliance Facts” means documenting operational modes and their electrical demands and durations. An annual energy label or a single rated wattage does not provide enough detail to build those models.

A dishwasher’s time trace and clusters of current readings can reveal distinct levels that suggest candidate load states. A measured circuit can also contain several appliances, so a circuit label is not automatically a clean appliance label.

01.6

Set realistic expectations

More promising targets

Cyclical appliances such as fridges and larger loads such as ovens can have useful, distinctive patterns. Detectability still depends on the meter, background demand, and appliance model.

Harder distinctions

Two identical 60 W bulbs in different rooms may be indistinguishable at the aggregate meter. A small phone charger can disappear into background variation and measurement noise.

Perfect accuracy is not a realistic general expectation. Even an 80–90% accuracy result is not a universal benchmark or guarantee: “accuracy” is meaningless without a named metric, appliance set, dataset, and test protocol.

Overlapping events, unseen appliances, standby demand, changing usage, and differences between homes create ambiguity. Retain an “other / unknown” component and communicate uncertainty instead of forcing every watt into a confident appliance label.

01.7

Test the system you intend to deploy

NILMTK supports reproducible disaggregation experiments. The emuNILM concept, proposed in 2017, describes a meter and home-area-network (HAN) emulator for testing realistic timing, communication, and input constraints. A current downloadable release has not been verified.

  • Keep training and testing separate. Use held-out dates; test unseen homes when claiming transferability. Avoid overlapping windows leaking information across the split.
  • Use the real aggregate. A sum of selected appliance channels removes unmonitored loads and can make a benchmark artificially easy. State whether input is measured mains or a denoised sum.
  • Measure more than one outcome. Report appliance power/energy error and activity detection where appropriate, plus runtime, memory, latency, and the hardware used.
  • Respect time and missing data. Align mains and labels, document gaps and imputations, and do not silently use future samples in a claimed online method.
  • Make results reproducible. Record dataset versions, channels, dates, units, preprocessing, parameters, and metric definitions. Compare against simple baselines.

Start with my performance-evaluation code, then read the study of real versus denoised aggregates. Historical repositories may require dependency updates; a public repository is not a guarantee of production readiness.

01.8

Privacy belongs in the design

Detailed appliance estimates can reveal household routines. The Consumer Bill of Rights for Energy Conservation is a proposed framework covering access, privacy, security, equality, comfort, re-entry, and maximization.

Its privacy principle puts control of detailed appliance-use information with the consumer, and calls for express consent and anonymized, aggregated sharing with third parties. Its security principle calls for secure communications. These are the framework’s proposals, not a statement of current law.

Practical design choices include local inference, collecting only what is needed, limiting retention, protecting access, and explaining who receives estimates and why. Conservation feedback should be understandable and accessible without penalizing basic comfort or assuming every household can afford new equipment.

Read A Consumer Bill of Rights for Energy Conservation →
01.9

An important part of a larger energy system

NILM can connect a smart meter to an informative in-home display, energy management, and demand-side decisions. A “smart smart meter” places embedded load disaggregation alongside measurement, memory, and communications. Eco-visualizations translate consumption into ambient, informative art that people can interpret at a glance.

The multi-fuel disaggregator extends this idea: appliance electrical activity helps infer water use from an aggregate water meter. This architecture couples a super-state HMM and Sparse Viterbi for electricity with a higher-order HMM and Capped Viterbi for water. These are distinct decoding methods.

NILM supplies estimates; feedback, user choices, controls, tariffs, and building improvements determine what happens next. It can support a larger conservation system, but cannot deliver conservation by itself.

02 / Open research software

Explore the implementations.

Selected repositories from my GitHub account, with their research scope made explicit.

State-based inference

SparseNILM

Super-state HMM disaggregation with Sparse Viterbi decoding. Includes piNILM notes for historical Raspberry Pi and smart-meter experiments.

Explore SparseNILM →

Unsupervised exploration

Gaussian-NILM

A simple unsupervised approach based on Gaussian probability density functions of power and duration.

Explore Gaussian-NILM →

Optimization prototype

KP-NILM

A multiple-choice knapsack demonstration used to explore UNILM concepts. A prototype, not the complete published UNILM pipeline.

Explore KP-NILM →

Multi-fuel research

WaterNILM

Electrical-state-assisted water estimation using a higher-order HMM and Capped Viterbi. The current Python port has not reproduced the published AMPds experiments; it is not a general fixture classifier.

Explore WaterNILM →

Evaluation

NILM_PerformanceEval

Accuracy-reporting functions and supporting results for the Energy Efficiency performance-evaluation paper.

Explore evaluation code →

Experimental benchmarking

Q.NILM

Reproducible quantum NILM experiments and classical comparisons. A benchmark and diagnostic study; no quantum accuracy or speed advantage is claimed.

Explore Q.NILM →

Also see eco-vis for ambient energy feedback and DataWrangle_REDD for REDD preprocessing. uDisagg is the historical thesis project; its README still states that the thesis source has not been released. Use SparseNILM as the available related implementation.

03 / Selected publications

Read the research.

Full publication library →

Final publications are linked by DOI; author versions are hosted in my Publications library. This selection spans algorithms, evaluation, and the wider role of NILM.

04 / Datasets

Choose data for the question.

Ground truth, resolution, and coverage matter as much as the algorithm. These datasets serve different purposes.

Minutely · Appliance / circuit channels

AMPds / AMPds2

The Almanac of Minutely Power dataset. AMPds2 records two years of electricity, water, and natural gas from one Canadian house (2012–2014). Useful for low-frequency NILM, multi-fuel research, and eco-feedback; one house cannot establish generalization across households.

1 Hz · Aggregate and submetered data

RAE

The Rainforest Automation Energy dataset provides electricity measurements from two Canadian homes. Its aggregate and submetered channels support low-frequency NILM evaluation. Check recording blocks, gaps, and channel definitions before selecting a test period.

Hourly · Building totals

HUE

The Hourly Usage of Energy dataset for buildings in British Columbia supports building-level energy analysis and forecasting. Hourly totals are relevant context for ultra-low-frequency research, but do not provide appliance-level ground truth for detailed NILM validation.

1 Hz · Circuit-level research

R1Hz

The Residential 1 Hz Energy Dataset covers 757 days at one Burnaby duplex, with electrical streams, interval-energy products, and contextual measurements. Some circuits contain mixed loads. The release documents synthetic recovery markers: exclude imputed intervals from event/ground-truth evaluation or report sensitivity to them.

Cite the dataset version and accompanying paper. Preserve licenses, units, time zones, channel mappings, and missing-data flags when preparing experiments.

05 / Watch & learn

NILM and its human context.

Visit my YouTube channel →

Videos from my Prof. Stephen channel. Watch on YouTube; no third-party player loads on this page.

Start here · 8:54

What is NILM?

An introduction to non-intrusive load monitoring.

Watch on YouTube →

Feedback & visualization

What is Ambient Energy Feedback?

Related viewing on making energy consumption understandable.

Watch on YouTube →

Consumer rights · 9:37

A Consumer Bill of Rights for Energy Conservation

Related viewing on the consumer principles behind energy feedback.

Watch on YouTube →

Keep exploring

From understanding to experimentation.

Read the original DSM Taiwan 2017 presentation, browse the publication library, or get in touch about research collaboration.

Repository, publication, dataset, and channel metadata reviewed September 27, 2026.