Flexible time-series models

  • 7 March 2022
  • 2 replies

Userlevel 3


In accordance with how you’re thinking about flexible-datamodels. Has Cognite done any exploration around flexible time-series modelling? Akin to what you’re doing with charts, a fleet of sensors might be viewed as having the same transformational needs as an Asset does. 


At Statett, we have “views” of  data (typically some linear combination of time-series). We persist these with synthetic time-series as an intermediary, then upload to a new TimeSeries. Unfortunately, the data is not immune to updates or backfills. So these computed TimeSeries either have to have a pretty severe lag, or we have to re-compute at an alarming rate, wasting compute. These computed time-series are further used in computations that we would like persisted.


Do you envision expanding Charts to cover this functionality? I.e. having the configuration as code, with Stream logic for re-computes etc.? Or, do you have no plans for Managed Data Transformations? 


Thanks for your response :) 

2 replies

Userlevel 3

Hi @RobersoSN,


Has Cognite done any exploration around flexible time-series modelling?


Not sure I’m following what you’re asking for when you say “flexible time-series modelling”? Which aspect(s) of the model(s) should be flexible?

Are we talking about flexible in terms of operations on two or more time series? Things like merge/combine, split, persist merged/combined? Update independent time series, but reflect the updated data in pre-existing merged “product” of two or more time series where the merged product includes the time series that were updated?

Persisting computed time series from data in one or more existing time series?

Something else altogether?

Userlevel 3

Heya Thomas, 

We have use-cases for all of the above. In terms of value, we’re most interested the persistence of computed time-series. And, to have such a feature be recursive. So if I persist the addition of A and B into M’, and later persist M’ / C as N’. If I backfill some data in A, then I want the computation to be re-run for both M’ and N’. 

Does this make sense?