Time Series

A time series is a series of data points with corresponding timestamps.

Each time series in the Exabel data model is associated with one signal and one entity. For example, a company may have a time series for its revenue. That time series is then associated with that company and with the revenue signal.

11321132

📘

Exabel supports time series up to daily resolution

The Exabel Platform currently only supports modelling up to daily resolution or lower (eg weekly, monthly). Timestamps must be normalised to midnight UTC.

By walking across relationship types in the graph when creating time series models, it is possible to aggregate a signal from a set of child entities to a parent entity that does not otherwise have that signal.

Further Details

Each data point in a time series has the following structure:

{
  "time": "2021-11-17T00:00:00Z",
  "value": 3.1415,
  "knownTime": "2021-11-19T00:00:00Z",
}
  • time: the date-time of the data point. This should be normalized to midnight UTC as Exabel only supports time series with daily resolution.
  • value: a numeric value of the data point
  • knownTime: the date-time at which a data point was "known". This is relevant for point-in-time analysis, to ensure that we avoid look-ahead bias, when the value for a data point at a given time may evolve over time.

👍

Point-in-Time Support

The Exabel platform has native support for point-in-time data through the above data structure.

A time series can have multiple data points with the same time but a different knownTime.

This means that the value for a given time may be different at different knownTime - for example, because a time series has seen revisions of the historical data over time.

Another common case is that data for a given time is only available with a delay - because of data collection lags, etc. The knownTime for a data point will then be after the time.

See the Point-in-Time page for more help and detail about using point-in-time data and analysis.

The resource name for a a time series is on the form entityTypes/ns1.entityTypeName/entities/ns2.entityName/signals/ns3.signalName An alternative name for the same time series is signals/ns3.signalName/entityTypes/ns1.entityTypeName/entities/ns2.entityName, but the former is the canonical version which always will be returned by the server.

Creating and updating time series points is eventually consistent.