A system comprising: a plurality of data sources (22, 24, 26, 32, 34, 42, 44, 46, 52, 62), each of the plurality of data sources (22, 24, 26, 32, 34, 42, 44, 46, 52, 62) to generate a time-series of a respective data value; a server device adapted to: receive the plurality of time-series of respective data values; calculate a regression associated with a first data source of the plurality of data sources (22, 24, 26, 32, 34, 42, 44, 46, 52, 62) based on the received plurality of time-series, the regression being a function of the respective data values of the others of the plurality of data sources (22, 24, 26, 32, 34, 42, 44, 46, 52, 62); receive respective data values associated with a time from and generated by each the plurality of respective data sources (22, 24, 26, 32, 34, 42, 44, 46, 52, 62); determine a predicted value associated with the time for the first data source based on the regression associated with the first data source and on the respective data values associated with the time; compare the predicted value with the received value associated with the time and generated by the first data source; and determine a value indicating a likelihood of an anomaly based on the comparison. a plurality of data sources (22, 24, 26, 32, 34, 42, 44, 46, 52, 62), each of the plurality of data sources (22, 24, 26, 32, 34, 42, 44, 46, 52, 62) to generate a time-series of a respective data value; a server device adapted to: receive the plurality of time-series of respective data values; calculate a regression associated with a first data source of the plurality of data sources (22, 24, 26, 32, 34, 42, 44, 46, 52, 62) based on the received plurality of time-series, the regression being a function of the respective data values of the others of the plurality of data sources (22, 24, 26, 32, 34, 42, 44, 46, 52, 62); receive respective data values associated with a time from and generated by each the plurality of respective data sources (22, 24, 26, 32, 34, 42, 44, 46, 52, 62); determine a predicted value associated with the time for the first data source based on the regression associated with the first data source and on the respective data values associated with the time; compare the predicted value with the received value associated with the time and generated by the first data source; and determine a value indicating a likelihood of an anomaly based on the comparison. receive the plurality of time-series of respective data values; calculate a regression associated with a first data source of the plurality of data sources (22, 24, 26, 32, 34, 42, 44, 46, 52, 62) based on the received plurality of time-series, the regression being a function of the respective data values of the others of the plurality of data sources (22, 24, 26, 32, 34, 42, 44, 46, 52, 62); receive respective data values associated with a time from and generated by each the plurality of respective data sources (22, 24, 26, 32, 34, 42, 44, 46, 52, 62); determine a predicted value associated with the time for the first data source based on the regression associated with the first data source and on the respective data values associated with the time; compare the predicted value with the received value associated with the time and generated by the first data source; and determine a value indicating a likelihood of an anomaly based on the comparison.