How do cumulative vs period meter readings work?
Meter readings come in two value types, and the system calculates consumption differently for each:
Cumulative readings (value_type = "cumulative"):
The meter reports its total accumulated value since installation (like an odometer). Example: an electricity meter shows 45,230 kWh.
- Consumption = current reading minus previous reading
- Example: reading goes from 45,230 to 45,580 → consumption is 350 kWh
- Most utility meters (electricity, gas, water) report cumulative values
- If readings appear out of order or decrease (meter reset), the system flags this as an anomaly
Period readings (value_type = "period"):
The meter reports consumption for a specific time interval. Example: 350 kWh consumed in January 2025.
- The value IS the consumption — no subtraction needed
- Common with pre-processed data from BMS systems, vendor APIs, or energy reports
- Used when importing monthly summary data from utility invoices
Why this matters
If the value_type is set incorrectly, consumption calculations will be wrong:
- Cumulative values treated as period → massively inflated consumption figures
- Period values treated as cumulative → consumption shows as zero or negative (since there's no increasing total to subtract from)
How to set it: When configuring a data import or manually entering readings, make sure the value type matches your data source. CSV imports usually auto-detect this based on the column headers, but you can override it during column mapping.
Validation: Readings can be validated (approved, rejected, pending, anomaly). Only approved or pending readings are included in dashboard charts by default. Rejected readings are excluded. Use Analytics → Data Fix to correct anomalous readings.