Platform availability does not prove that monitoring works. A dashboard can stay online around the clock and still show the last valid point from three days ago. A good data SLA measures the real cadence, completeness, freshness, gaps, continuity, delivery delay, and data frame correctness separately. Only these metrics show whether the chart, the alarm, and the AI analysis can be trusted.
In brief
- Application SLA answers "does the site work"; data SLA answers "did we receive the measurements needed for a decision".
- Each metric needs a time range, a denominator, a tolerance, and a method for handling planned interruptions.
- Even high completeness can hide one critical four-hour gap. That is why maximum gap and continuity also matter.
- Freshness and delay are different things: freshness looks at the latest available measurement, delay looks at the travel time of a single sample.
- Stream quality assessment does not confirm calibration or the physical correctness of the sensor. It says whether the data are present and technically usable.
Why a green application can mean a blind asset
Measurement data SLA is an agreed set of measurable conditions that define whether a measurement stream is complete enough, fresh enough, and correct enough for the intended decision. It is not the same as hosting, network, or server SLA.
Imagine a platform running without interruption. The user logs in, the chart renders, and earlier data are available. But the field logger lost power on Friday evening. On Monday, the dashboard can still show full application availability, while the monitoring system has a three-day hole. If the last point is not clearly marked, the flat end of the chart may look like a stable structure.
In monitoring, at least four layers must be separated:
- the sensor performed a reading;
- the logger assigned the correct time and stored it locally;
- transmission delivered the frame;
- the platform accepted, validated, recalculated, and exposed the result.
One layer's SLA does not replace the others. A network operator may meet link availability while the device sends a faulty data frame. The platform may be available while the source stays silent. A sensor may resume transmission and send historical data later, which improves period completeness after the fact, although the alarm at the time of the event had no data.
That is why the contract should state the measurement moment, the acceptance moment, the method for correcting the result after delayed delivery, and the metric used for live response.
Seven data SLA metrics
There are no universal threshold values. A secondary temperature channel, a piezometer that affects stability, and dynamic logging operate on different rhythms. The definitions below are common, but targets are set by the designer and the process owner.
| Metric | Business question | Simple definition | What the aggregate result may hide |
|---|---|---|---|
| Actual cadence | How often do we really receive points? | median of intervals between consecutive measurement times | short but critical gaps |
| Completeness | What share of expected samples exists? | received / expected × 100% | distribution of missing data over time |
| Freshness | How old is the newest measurement? | evaluation time - time of the newest sample | delay in earlier samples |
| Gaps | How long and how many are the interruptions? | number and length of intervals above tolerance | many small missing points outside the maximum |
| Continuity | What share of the period is covered by uninterrupted series? | share of intervals within tolerance | a single long interruption without a maximum |
| Delay | How long does a sample travel from measurement to acceptance? | acceptance time - measurement time | samples that never arrived |
| Data frame correctness | How many frames could be processed unambiguously? | correctly accepted / all received × 100% | physically wrong calibration despite correct syntax |
1. Actual cadence
Declared cadence is a setting. Actual cadence comes from the data. The most resilient simple measure is the median of intervals between consecutive measurement times over a representative period. The median is not easily shifted by a single multi-hour gap.
If the device was supposed to measure every 15 minutes by default, or more often, and the median is 30 minutes, the system is operating differently from the specification. If the median is 15 minutes, long missing periods may still exist. That is why cadence is the beginning of diagnosis, not the final assessment.
2. Completeness
For a fixed step, the number of expected samples in a period can be calculated as the period length divided by the cadence, with a clearly defined handling of interval endpoints. Completeness is:
completeness = number of valid unique samples / number of expected samples × 100%.
The words "valid" and "unique" matter. Ten copies of the same timestamp cannot increase completeness. A frame rejected because of an invalid structure is not a useful measurement either.
3. Freshness
Freshness measures the age of the newest available measurement at the time of assessment. For a 15-minute channel, a value of 18 minutes may be normal, and 70 minutes may require explanation. The threshold depends on the transmission cycle, buffering, risk, and whether the measurement is critical.
Do not use the device's last login time instead of the time of the last sample. A device may respond with a heartbeat signal and still not send the actual data. It may also resend an old measurement, which improves historical completeness but not current freshness.
4. Number and length of gaps
A gap occurs when the interval between adjacent samples exceeds the agreed tolerance. For a 15-minute cadence, the tolerance does not have to be exactly 15:00. Clock behavior, transmission time, and sampling method can create small deviations. The tolerance should be written in seconds or as a cadence multiplier.
Report at least the number of gaps, their total duration, the maximum, and the distribution against important work phases. One two-hour interruption during excavation may matter more than dozens of single missing points during downtime.
Metrics 5-7: continuity, delay, and correctness
5. Continuity
Continuity describes how much data forms uninterrupted series. It can be calculated as the share of expected intervals whose spacing does not exceed the tolerance, or as the length of the longest continuous segment. The contract must choose one definition.
This metric matters for trends, correlations, and baseline analysis. Two series with the same completeness can have different analytical value: in one, every hundredth point is missing; in the other, one full day disappeared as a single block.
6. Delivery delay
Delay requires two reliable times: when the measurement was taken and when the platform accepted it. Report the median, 95th or 99th percentile, and the maximum in a defined window. The average can be misleading because a few very late frames may matter operationally even when the mean looks good. Time acceptance is worth combining with tests of UTC, time zone changes, and clock drift.
A late sample may be stored correctly in history, but it could not trigger a response at the moment of the event. That is why the SLA should assess final completeness and operational timeliness separately.
7. Data frame correctness
The platform should count accepted, rejected, and partially processed frames using explicit reason codes. An invalid identifier, ambiguous time, a different number of values than timestamps, or an incorrect count must not disappear silently.
A correct frame can still contain a physically wrong measurement. Structural validation does not check calibration, installation, or whether the channel was assigned to the correct sensor. That is a separate control layer.
Illustrative example: a 15-minute channel over one week
Assume a channel that should produce one sample at the default 15-minute interval, for seven full days. We expect 672 samples. 665 unique and valid points arrived. Seven are missing, so completeness is:
665 / 672 × 100% = 98.96%.
The result alone looks good. The distribution of missing data changes the assessment:
- variant A: seven single missing points on different days;
- variant B: one 120-minute interruption during a critical work phase;
- variant C: all samples exist after historical backfill, but they arrived six hours later.
Variant A may be acceptable for a slowly changing trend. Variant B may prevent assessment of the critical moment. Variant C gives 100% final completeness, but fails as an early warning system.
An illustrative scorecard should therefore include: completeness of 98.96%, actual cadence median of 15 minutes, maximum gap of 120 minutes, freshness at the time of assessment, delay percentile, and the number of rejected frames. Only the full set shows whether the data are fit for live alarming, a monthly report, or statistical analysis.
How to write SLA into a contract so it can be accepted
Do not write only "the system ensures high completeness". Such wording does not define the denominator or the exceptions. Use a table and connect it to the platform selection checklist for monitoring.
| Contract field | What must be defined |
|---|---|
| Scope | project, device, channel, data type |
| Window | day, week, month; time zone and interval boundaries |
| Cadence | declared or derived from data; tolerance |
| Expected sample | method for counting the start and end of the window |
| Duplicate | uniqueness key and deduplication rule |
| Planned interruption | who approves, how it is marked, whether it is included in the denominator |
| Late data | period close time and report correction |
| Purpose | live alarm, report, trend analysis, or archive |
| Level | target value, warning value, and breach |
| Response | owner, response time, closure evidence |
Each channel does not need a separate document. Criticality classes can be created. Class A may require shorter freshness and stronger continuity, while Class C can tolerate delayed data backfill. The class should come from the decision the channel supports, not from the sensor price.
Limitations of data SLA and common traps
Counting samples by acceptance time. Use measurement time for the series geometry. Acceptance time is for delay. Mixing the two creates artificial gaps and shifts events.
Dividing by the wrong expected number. A cadence change in the middle of the month requires the period to be split. One denominator must not be used after a silent reconfiguration.
Treating duplicates as extra completeness. The measurement key should uniquely combine source, channel, and time. A retransmission must be idempotent.
Masking gaps with a line on the chart. Interpolation can be useful analytically, but it cannot pretend to be an observation. On an operational chart, the gap should be visible.
One SLA for all data. A dynamic signal is either a complete record or an incomplete window; it is not assessed in the same way as a slow temperature series.
No metric versioning. A change in tolerance or cadence calculation changes the result. The report should preserve the method and the effective period.
What this looks like in Inclify
Inclify derives the real cadence from the median interval between samples and calculates a quality report covering completeness, freshness, gaps, and continuity. Loggers in Inclify systems normally send readings every 15 minutes by default, or more often; the platform accepts any interval.
A no data alarm can work for a device or a selected channel with a configurable window. This is a separate operational state, not a structural safety interpretation. In a pilot, you should check whether the operational chart breaks the series in a gap instead of connecting distant points and pretending continuity. An administrator can move from error metadata to the preserved device exchange, provided it fits within the configured retention of raw logs, seven days by default.
The quality report does not measure contractual delay for every possible integration and does not confirm sensor accuracy. It provides a technical view of data readiness. If you need a percentile of delay from measurement to acceptance in the contract, define the measurement point and the reporting method in the integration. If you want calibration confirmation, you need a separate procedure and a calibration debt report.
The report result must always be tied to the decision and the criticality of the specific channel.
Weekly quality review checklist
- Has the actual cadence changed compared with the previous week?
- Which channels have the lowest completeness, and does the gap affect an important phase?
- What is the maximum gap, not only the average?
- Is the newest measurement fresh enough for the decision?
- Did the data arrive on time, or were they backfilled after the event?
- How many frames were rejected and for what reason?
- Were planned maintenance works marked correctly?
- Does the NO_DATA rule match the current cadence?
- Should the AI analysis or trend report receive a quality caveat?
- Who owns the fix, and when will we check the result again?
The best report ends with a task, not a color. "Completeness 92%" is an observation. "Check power and transmission, owner: service, deadline: today 14:00" is a process.
FAQ
How does data SLA differ from system availability?
System availability measures whether the application or service can be used. Data SLA measures whether the application contains the expected, fresh, and correct measurements. A platform can have full availability while the field device has not sent data for several days. In monitoring, both levels are needed, but they answer different questions and have different owners.
How do you calculate measurement completeness?
Divide the number of valid, unique samples by the number expected in the same period and multiply by 100%. The hardest part is defining the denominator: cadence, window boundaries, approved interruptions, and configuration changes must be included. Duplicates do not increase the count. Late data can improve final completeness, but not current timeliness.
What completeness is sufficient?
There is no universal value. It depends on the risk mechanism, cadence, gap length, and purpose of the data. The same percentage may be enough for a monthly temperature trend and not enough for a decision during excavation. The designer should define the requirement per criticality class, and the contract must also measure the maximum gap and freshness.
Does missing data mean a sensor failure?
No. The cause may be power, a logger, transmission, wrong time, a rejected data frame, configuration, or the sensor itself. A NO_DATA alarm says that the platform does not have the expected new information. It starts diagnostics, but it does not determine the cause. That is why the procedure should begin with checking the last communication and the scope of the missing data.
Do backfilled data repair an SLA breach?
They can repair historical completeness, but they do not reverse lost timeliness. If a sample arrived six hours after measurement, it may enter the report and trend analysis, but it could not trigger a response at the moment of the event. The contract should count final completeness after closure of the period and operational delay separately.
Does a high quality score mean the sensor measures correctly?
No. A complete and fresh series can come from a miscalibrated, poorly installed, or incorrectly assigned sensor. Data SLA assesses the flow and technical usability. Physical correctness requires calibration, reference checks, context comparison, and engineer assessment. These layers should be reported separately.
Should all channels use the same no data alarm?
No. The window should follow the real cadence, risk, and role of the channel. A critical piezometer during works may need a shorter tolerance than an auxiliary temperature channel. Setting one timeout for the whole project leads either to late reaction or to noise. It is worth grouping channels by criticality class.
Sources and further reading
- USACE EM 1110-2-1908: Instrumentation of Embankment Dams and Levees - data planning, frequency, operation, and evaluation of instrumentation.
- ISO 18674-1:2015 - general principles of geotechnical monitoring.
- NIST IoT Device Cybersecurity Guidance: Data Protection - protecting the integrity and availability of device data.
- Google SRE Workbook: Implementing SLOs - defining measurable service indicators and targets.
- RFC 3339 - an unambiguous time format used in data exchange.
- No-data alarm: how to design NO_DATA handling - procedure for a source that has stopped sending.
What next
Do you want to see the quality of your own stream instead of a sample dashboard? Book a 7-30 day data review. The Inclify team will show the real cadence, completeness, gaps, and freshness, and point out which conclusions are not yet defensible.