← Back to Enerplain

ENERPLAIN / FIELD NOTES

When a missing reading becomes a zero

A source-to-application example of how a complete-looking dataset can lose the meaning of an absent observation.

The useful distinction: zero is a value that was observed. Missing means there is no observation in the available source. A transformation that silently replaces one with the other has changed the evidence.

This is a synthetic teaching example, not a finding about a customer, inverter or OEM.

Declare the contract first

Our fictional device reports interval energy in kWh every 15 minutes, including overnight. Timestamps label the start of each interval. The test window runs from 25 October 2026 at 00:00 UTC to 02:00 UTC, with the end excluded. That creates eight expected interval starts.

The expectation of overnight reporting is invented for this example. Real integrations must use the actual source contract: some systems omit nighttime records, delay them, aggregate them or distinguish unavailable and invalid states.

Compare what actually arrived

The source contains seven records, each with an observed value of 0.00 kWh. The record starting at 00:30 UTC is absent. The application contains eight records after filling that gap with a zero.

One fictional device. Interval energy in kWh, labelled by interval start. The window is 25 October 2026, 00:00–02:00 UTC; the end is excluded. Expected overnight reporting is a rule of this invented example, not an OEM claim.
Interval start · UTC Warsaw local time Source · kWh Application · kWh Comparison
02:00 +02:00 0.00 0.00 Observed zero
02:15 +02:00 0.00 0.00 Observed zero
02:30 +02:00 — No observation 0.00 Gap filled with zero
02:45 +02:00 0.00 0.00 Observed zero
02:00 +01:00 0.00 0.00 Observed zero
02:15 +01:00 0.00 0.00 Observed zero
02:30 +01:00 0.00 0.00 Observed zero
02:45 +01:00 0.00 0.00 Observed zero

The two 02:15 entries are different instants: their UTC offsets are +02:00 and +01:00. They are not duplicate UTC records.

A row-count check can report eight records downstream while missing the changed meaning. Comparing the declared identities and states exposes the difference.

Keep the total honest

The seven observed source values sum to 0.00 kWh. That is an observed subtotal. It does not establish the complete-window total, because one interval is unknown. In the downloadable example, the complete source-window total is explicitly null.

If the missing source record later arrives with a measured zero, the evidence changes: all eight values are then known and the complete total can be calculated. A downstream filler cannot establish that fact on its own.

Make the treatment explicit

What this example cannot tell you

It does not establish why the source record is absent, whether a later export will contain it, or whether equipment is faulty. It does not prove lost generation or financial loss. Those questions need other evidence.

Download the synthetic JSON, check it against the published schema, or read the Markdown reference.

Next: the local hour that happens twice.