EnergyFM: Pretrained Models for Energy Meter Data Analytics

EnergyFM is a family of domain-specific Time Series Foundation Models (TSFMs) pretrained on large-scale real-world smart meter data for energy forecasting, anomaly detection, and classification.

EnergyFM is designed to provide strong zero-shot and transfer learning performance across heterogeneous buildings, regions, and operational contexts, while remaining lightweight and computationally efficient.


Overview

Smart energy meter data collected at fine temporal resolution across large building stocks enables critical applications such as short-term load forecasting, anomaly detection, and energy usage characterization. However, existing task-specific or building-specific models often fail to generalize across diverse building types and regions.

EnergyFM addresses this challenge by pretraining lightweight TSFMs on a large, diverse corpus of real-world electricity consumption data, enabling robust generalization and efficient downstream adaptation.

EnergyFM adapts IBM’s Tiny Time Mixers (TTM) and TSPulse architectures to the energy domain, resulting in two core models:

  • Energy-TTM – optimized for short-term load forecasting
  • Energy-TSPulse – multi-purpose representation model for anomaly detection and classification

Pretraining Dataset

EnergyFM is pretrained on EnergyBench, a large-scale real-world smart meter dataset available on Hugging Face:

πŸ‘‰ https://huggingface.co/datasets/ai-iot/EnergyBench

The dataset consists of:

  • 76,217 residential and commercial buildings
  • 1.26 billion hourly electricity consumption readings
  • Multiple countries and climate zones
  • Diverse building types and operational patterns

The scale and diversity of EnergyBench enable EnergyFM to learn daily, weekly, and seasonal consumption patterns and to generalize robustly to unseen buildings and regions.

Models

Energy-TTM

Energy-TTM is adapted from the Tiny Time Mixers (TTM) architecture and is designed for short-term load forecasting.

Default configuration:

  • Context length: 168 hours
  • Prediction horizon: 24 hours
  • Task: short-term load forecasting

Energy-TSPulse

Energy-TSPulse adapts the TSPulse architecture and employs dual-space (time and frequency) modeling to learn robust representations of energy time series.

Default configuration:

  • Context length: up to 512
  • Lightweight and computationally efficient
  • Suitable for both zero-shot and fine-tuned usage

Supported Tasks

Load Forecasting

Energy-TTM supports short-term electricity load forecasting under both zero-shot and fine-tuning regimes. It demonstrates strong generalization across residential and commercial buildings and outperforms traditional machine learning baselines and generic TSFMs in out-of-distribution settings.

Anomaly Detection

Energy-TSPulse detects point and contextual anomalies in smart meter data using joint time–frequency representations. It achieves state-of-the-art performance on the LEAD anomaly detection benchmark.

Classification

Energy-TSPulse supports appliance usage classification using transfer learning on low-frequency smart meter data, achieving competitive or superior performance compared to strong feature-based classifiers.


Getting Started

Clone the repository:

git clone https://github.com/srivnaman/EnergyFM.git
cd EnergyFM

Install dependencies:

pip install -r requirements.txt

Loading Pretrained Models

EnergyFM models are hosted on Hugging Face and can be loaded directly using from_pretrained.

Model Hub: πŸ‘‰ https://huggingface.co/sriv-naman-iisc/Energy-FM-v1


🟒 Energy-TTM (Load Forecasting)

import torch
from tsfm_public.models.tinytimemixer import TinyTimeMixerForPrediction

device = "cuda" if torch.cuda.is_available() else "cpu"

model = TinyTimeMixerForPrediction.from_pretrained(
    "sriv-naman-iisc/Energy-FM-v1",   # Hugging Face model repository
    revision="energy-ttm",           # Loads Energy-TTM weights
    num_input_channels=1,
).to(device)

πŸ”΅ Energy-TSPulse (Anomaly Detection / Reconstruction)

import torch
from tsfm_public.models.tspulse import TSPulseForReconstruction

device = "cuda" if torch.cuda.is_available() else "cpu"

model = TSPulseForReconstruction.from_pretrained(
    "sriv-naman-iisc/Energy-FM-v1",
    revision="energy-tspulse",       # Loads Energy-TSPulse weights
    num_input_channels=1
).to(device)

🟣 Energy-TSPulse (Classification)

import torch
from tsfm_public.models.tspulse import TSPulseForClassification

device = "cuda" if torch.cuda.is_available() else "cpu"

model = TSPulseForClassification.from_pretrained(
    "sriv-naman-iisc/Energy-FM-v1",
    revision="energy-tspulse"        # Loads Energy-TSPulse backbone
).to(device)

Tutorial Notebooks

Resources

Energy Benchmark Leaderboard

To compare EnergyFM against other state-of-the-art Time Series Foundation Models for energy analytics tasks, please visit our public benchmark leaderboard:

πŸ‘‰ Energy Benchmark Leaderboard
https://huggingface.co/spaces/Thanvish07/EB_Leaderboard

The leaderboard provides standardized evaluations across forecasting, anomaly detection, and classification tasks, enabling direct comparison under consistent experimental settings.


Limitations and Intended Use

EnergyFM is intended for energy meter analytics and has been pretrained on electricity consumption data. Performance may degrade when applied to unrelated domains or data with significantly different temporal characteristics.


Citation

If you use EnergyFM in your work, please cite:

@article{energyfm2026,
  title   = {EnergyFM: Pretrained Models for Energy Meter Data Analytics},
  author  = {Arjunan, Pandarasamy and Srivastava, Naman and Kumar, Kajeeth
             and Jati, Arindam and Ekambaram, Vijay and Dayama, Pankaj},
  journal = {ACM e-Energy},
  year    = {2026}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for sriv-naman-iisc/Energy-FM-v1

Finetuned
(1)
this model

Dataset used to train sriv-naman-iisc/Energy-FM-v1