https://github.com/baeda-polito/timeseriesenergybenchmarking
A shiny app to perform timeseries-based external energy benchmarking on annual electrical energy consumption of a whole building.
https://github.com/baeda-polito/timeseriesenergybenchmarking
Science Score: 39.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.7%) to scientific vocabulary
Last synced: 10 months ago
·
JSON representation
Repository
A shiny app to perform timeseries-based external energy benchmarking on annual electrical energy consumption of a whole building.
Basic Info
- Host: GitHub
- Owner: baeda-polito
- License: other
- Language: R
- Default Branch: main
- Size: 2.74 MB
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Created over 2 years ago
· Last pushed about 1 year ago
Metadata Files
Readme
Changelog
License
Code of conduct
README.Rmd
---
output: github_document
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```
# Timeseries Energy Benchmarking

[](https://lifecycle.r-lib.org/articles/stages.html#experimental)
This tool performs advanced energy benchmarking of buildings based on hourly electricity consumption time series. Its main purpose is to evaluate and compare the operational performance of a building against a reference group of peer buildings, selected from a larger population based on similar features of the electrical consumption.

## Input data
The input data are the followings:
- **Hourly electrical energy consumption timeseries**: The application accepts hourly electricity consumption data in CSV format.
- **Outside air temperature timeseries**: The application accepts outside air temperature data in CSV format.
- **End-use category** of the building: The application accept the end-use category of the building (e.g., Office, Educational, etc.) as a string.
- **Floor area** of the building: The application accepts the floor area of the building in square meters as a numeric value.
- [Optional] **State** : The application accepts the state of the building as a string. This is used to obtain the holiday calendar of the building.
If you don't have the data required, you can still inspect the application using the buildings given as examples. use the toogle  to select the usage mode.
## About the workflow
The benchmarking workflow includes the following key processes:
- **Preprocessing** of time series data: Raw electricity consumption data is cleaned through statistical outlier detection and seasonal-trend decomposition using MSTL (Multiple Seasonal-Trend decomposition with Loess). This ensures that the time series is free from inconsistencies and well-prepared for analysis.
- **Peer identification**: A critical step that involves extracting meaningful time series features from each building. These include thermal dependency of the electrical load, reference load conditions (e.g., weekdays vs weekends, seasonal groupings), load shape factors, and mean energy consumption. Based on these features, the tool identifies a set of peer buildings that exhibit similar load behaviors.
- **Key Performance Indicators (KPIs) calculation**: The application computes a series of KPIs to describe different aspects of energy performance:
- Energy Use Intensity
- Operational Schedule Efficiency: evaluate the consumption ratio among working hours, non-working hours and weekends.
- Load Volatility: evaluates the variability in daily load profiles.
- Anomaly Detection: Identification of atypical consumption patterns.
- Load Pattern Frequency: Analysis of the variety and recurrence of load shapes within a specific load condition.
- **Benchmarking**: Each KPI is benchmarked against the selected set of peers. For each load condition, a performance score for each KPI ranging from 0 to 100 is computed, where 100 indicates best-in-class performance. These scores provide building managers and energy analysts with a clear understanding of how a building performs in each area and where there are opportunities for improvement.

## Installation
### Local Installation
You can install the development version of TimeseriesEnergyBenchmarking from [GitHub](https://github.com/) like so:
``` r
# install.packages("devtools")
devtools::install_github("https://github.com/baeda-polito/TimeseriesEnergyBenchmarking")
```
Then you can run the application by simply typing in the console:
``` r
library("TimeseriesEnergyBenchmarking")
TimeseriesEnergyBenchmarking::run_app()
```
### Docker Installation
You can also run the application using Docker. The Docker image can be built using the Dockerfile provided in the repository.
First, clone the repository from GitHub:
```bash
git clone https://github.com/baeda-polito/TimeseriesEnergyBenchmarking
cd TimeseriesEnergyBenchmarking
```
Then, build the Docker image using the following command:
```bash
docker build -t timeseries_energy_benchmarking .
```
After the image is built, you can run the application using the following command:
```bash
docker run -p 80:80 timeseries_energy_benchmarking
```
This will start the application, and you can access it in your web browser at `http://localhost:80`.
## Contributors
* Ing. [Rocco Giudice](mailto:rocco.giudice@polito.it), PhD Student at [BAEDA Lab](http://www.baeda.polito.it/), Politecnico di Torino;
* Prof. [Alfonso Capozzoli](mailto:alfonso.capozzoli@polito.it), Coordinator of [BAEDA Lab](http://www.baeda.polito.it/), Politecnico di Torino;
* Prof. [Marco Savino Piscitelli](mailto:marco.piscitelli@polito.it), Assistant Prof. at [BAEDA Lab](http://www.baeda.polito.it/), Politecnico di Torino;
## License
This project is licensed under the terms of the [MIT license](https://opensource.org/licenses/MIT). See the [LICENSE](LICENSE) file for details.
## Citation
If you use this package in your research, please cite it as follows:
M.S. Piscitelli, R. Giudice, A. Capozzoli, A holistic time series-based energy benchmarking framework for applications in large stocks of buildings, Applied Energy, 2024, https://doi.org/10.1016/j.apenergy.2023.122550.
Owner
- Name: BAEDA
- Login: baeda-polito
- Kind: organization
- Email: baeda.lab@gmail.com
- Location: Turin, Italy
- Website: http://www.baeda.polito.it
- Repositories: 5
- Profile: https://github.com/baeda-polito
Building Automation and Energy Data Analytics Lab
GitHub Events
Total
- Watch event: 1
- Push event: 2
- Public event: 1
- Pull request event: 2
- Fork event: 1
Last Year
- Watch event: 1
- Push event: 2
- Public event: 1
- Pull request event: 2
- Fork event: 1
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Giudice7 | r****7@g****m | 18 |
Issues and Pull Requests
Last synced: about 1 year ago
All Time
- Total issues: 0
- Total pull requests: 3
- Average time to close issues: N/A
- Average time to close pull requests: less than a minute
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 3
- Average time to close issues: N/A
- Average time to close pull requests: less than a minute
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- Giudice7 (3)