Analysis of electric energy consumption and maybe prediction, if consumption is to high

Hi all,

it is my first post here, so I don't know where I should exactly post it. First of all, I will explain my problem and then I will ask you some questions concerning it.

I have to analyze a steelplant consisting of 2 electric arc furnaces and 2 ladle furnaces, so there is a huge amount of energy consumption. There exists a time limit from the energyprovider, where the consumption is limited to some MWh. So they always observe 15 minutes (eg: 15:00-15:15,15:15-15:30 and so on) and if the plant exceeds the MWh-Limit, the energy is shut off. But there are still processes running on (melting, heating and so on). So the steelplant wants to know, if a shutoff is coming and if so, they want an alarm/warning so they can react (turn down the furnaces enough to keep them running).

So my problem is how (to get the Data into Knime and) analyse it correctly. I got a log-file with +600k lines where I can extract the data from. The data is not exactly following hh:mm:ss. Sometimes I have a signal every second, sometimes I have two signals for the same second, sometimes there is a signal every 3-10 seconds and if an aggregate is turned of, there is no new signal for 0-120minutes.

The difficulty is, that there are 4 separate aggregates and their power on time and energy consumption differs a lot and is quite variable and so I thought it would be good to watch a whole day, then maybe 6 hours down to the 15 minutes. And maybe it is possible to predict the energyconsumption during such a 15 minutes interval, so let's say we have minute 8 of 15 and from there on I want be able to say if there is a shutdown or not.

So, maybe one has a tip for a correct workflow. First of all, I read the data, then I filtere and extract some necessary data, but I don't know how to exactly combine them to get the info I want.

Best regards


PS: If you need further Info, let me know


Hi Stan, 

In order to align your data you can use the GroupBy node to calculate minimum and maximum dates, convert them to flow variables with the Row To Variable node and generate the range with 1 minute intervals using the Create Date&Time Range node (Number of rows: variable, Interval: 1m, use the created flow variables to control start and end points). 

Regarding the inconsistency of the time intervals the signal is received in, you can aggregate the consumption values by timestamp (use the String Manipulation node to cut off the seconds and aggregate by the resulting string). You can then do the same string manipulation with the generated timestamps and join your data with the generated timestamps. 

You can label the data to "ALARM" and "OK" after aggregating data for the time periods of interest (please check the Moving Aggregation node) by using the Rule Engine node.

Use the Extract Date&Time Fields node to generate time related features and feed the data to build a model. 


You might also want to check these two white papers:




Hi Anna,

thank you for your input. I started to read the book "Guide to Intelligent Data Analysis" because I think I could need much more theoretical knowledge.

My stated problem is actually not my core work, but a solution for this kind of problem could be interessting for other similar projects as well.

So I decided to stick to KNIME and severeal theoretical books after work.

Right now I'm reading your 2nd mentioned paper. The 1st one sounds interessting to. So thanks for the time beeing.


Best regards,