Commercial buildings waste an estimated 15% to 30% of energy used due to poorly maintained, degraded, and improperly controlled equipment. People need to be able to see when their energy is being over-consumed, allowing for them to live a more energy efficient and economical life.

What it does

We built an energy consumption visualizer and predictor tool for users to see anomalous, over-consumptive energy points and have it brought to their attention.

How we built it

We analyzed cumulative energy consumption data from a certain building by month. We used a Decision Tree as an anomaly-detection algorithm to find anomalous readings, flagging any value that looked anomalous in an initial test data set. We ran it on this test data set multiple times, choosing parameters that gave the best-value of accuracy over both the training set and test set. We then ran the model on the sensor data used on our Dash. We then used Dash and Plotly to display the data using various histograms and built interfacing tools like a slider for users to see the energy consumption at 100-minute intervals on chosen, specific days.

Challenges we ran into

Displaying the differing energy consumption points during the same day without having them merge into one another, making it difficult to see was an early major issue. We chose to use a histogram to illustrate the cumulative energy consumption of each day and then also build another graph for users to see 100-minute interval breakdowns of consumption during a day of their choice. We had issues trying to figure out which model would be best to flag anomalous data points. We tried quite a few before settling on our current one. We also ran into issues with hosting. We used anaconda and other data sci tools that weren't supported by our original choice for hosting, forcing us to pivot and use 'pythonanywhere' for hosting.

Accomplishments that we're proud of

We're proud of our model's ability to predict the anomalous, over-consumptive points. Additionally, we're very proud of our visualisations and the thorough breakdown to 100-minute intervals, allowing for users to get a thorough understanding of when and how much energy they are consuming.

What we learned

For this project, we had to learn how to use Dash, Plotly, and Flask. We learned how to select models to work with our specific data needs and also how to read datasets and manipulate/sort them to best output a strong visualisation on our Dash. We also learned how to build in some interactivity, allowing output to change for the user's benefit.

What's next for Energy Consumption Analysis

Going forward, Energy Consumption Analysis hopes to allow users to upload their own energy consumption data and use our model to see where their over-consumptive points occur and see a thorough breakdown/analysis.

Share this project: