Appendix: Additional KPI Specification and Calculation


Advanced building controls are increasingly critical to achieve high energy efficiency, demand flexibility, and occupant comfort in buildings. However, large-scale adoption of emerging building control strategies requires verified performance. When performing verification, key performance indicators (KPIs) are necessary, which quantify performances of those building control strategies. Designing KPIs can be challenging, as they should not only capture how controls impacts the different aspects of building performance, but also enable fair comparison among different building control strategies under various operating conditions.

This appendix further elaborates on our efforts to design KPIs for simulation-based evaluation of building control strategies. In this appendix, we firstly introduce KPIs, including the motivation for having certain KPIs and how each KPI is calculated. We then discuss how those KPIs are integrated into the building emulators, which include building simulation models and necessary pre-and post-processing for performing simulation.

Acronyms and Abbreviations

KPI key performance indicator
MPC model predictive control
PPD predicted percent of dissatisfied
PMV predicted mean vote
GSA General Services Administration
IAQ indoor air quality
\(c\) specific heat of air
\(\lambda\) regular fuel price (without demand charge)
\(\lambda_d\) fuel price with demand charge
\(d\) disturbance value
\(p\) performance factor (e.g., energy, demand, cost, efficiency, etc.
\(t\) time
\(A\) concentration of carbon dioxide (\(CO_2\))
\(C\) capacity of an equipment
\(S\) set point
\(T\) air temperature
\(e\) an individual piece of equipment
\(E\) all the equipment considered in building energy analysis
\(P\) power demand
\(O\) operation status indicator for a piece of equipment
\(\eta\) operation efficiency
\(r\) real-building
\(s\) virtual-building model simulation
\(p\) MPC prediction
\(z\) a thermal zone in the building
\(Z\) all the thermal zones in the building
\({i}\) value at \(i^{th}\) iteration or time step
\(c\) thermal comfort
\('\) fault condition


Key performance indicators (KPIs) for building control systems measure the behavior and impacts of such systems. Typically, a metric value from one controller is compared with a default criteria value or the same metric calculated from another controller (e.g., baseline). Such comparisons can quantify the pros and cons of a new controller or control system, which is a critical step in technology development. As summarized by [AJS14], common control performance indicators include energy, cost, peak load shifting capability, transient response, steady-state response, control of variables within bounds, reduction in fluctuations from a set-point, system efficiency, robustness to disturbances and changes, IAQ, thermal comfort, and computational time. These metrics were selectively used in previous studies. For example, [MQSX12] used energy usage as one of their KPIs, while [Hua11, MBDB10, PSFC11, RH11, XPC07, YP06] used metrics for control dynamic performance as qualitative evaluation. In this document, we attempted to answer two related questions:

  • What would be a comprehensive list of KPIs for control performance evaluation?

  • What are their definition and calculation formulas?

To answer the first question, we grouped KPIs into the following categories: energy-related, controller-related, system-related, disturbance-related, and occupant-related (as illustrated in the figure below). A building control system controls the HVAC system, which conditions the indoor space. The indoor space is occupied by people and has comfort demand. On the other side, the HVAC system needs energy, especially electricity, to operate. This demand links buildings to electric grids.

To answer the second question, we proposed methodologies to quantify KPIs in each category. Specifically, we discussed inputs for calculating each KPI and how those inputs are accessible in real buildings or emulators. We then provided detailed formulas to calculate each KPI based on those inputs.


An overview of the conceptual design of control performance metrics

Description of Key Performance Indicators

Power demand metrics

Power demand metrics are defined to measure the profile of electrical power requested by building system and equipment at a given period. It can indirectly reflect the operational capacity of a system or equipment. The power demand, especially peak power demand, is also associated with the tariff charge from utility companies.
Let \(E\) denote the set of electric equipment in the system. Let \(t\) denote the time, \(t_0\) denote the start time of an experiment, and \(t_1\) denote the end time of an experiment. Let \(P_{e}(t_i)\) denote power demand of equipment \(e \in E\) at time \(t_i\). We can estimate the power demand from major equipment and its fraction against the total building power demand.
  1. Diversity factor is defined by the General Services Administration [GSA96] as the ratio of the sum of individual maximum demands to the maximum demand of the whole system:

    (1)\[\dfrac{\sum_{e \in E}\max\limits_{{t_{0}}<t<{t_{1}}}{P_e(t_i)}}{\max\limits_{{t_{0}}<t<{t_{1}}}{\sum_{e \in E}P_e(t_i)}}\]
  2. Load factor can be expressed as follows based on the definition in [GSA96]:

  3. Equipment power demand fraction at time \(t_i\) relative to total power demand at time \(t_i\), this can help rank the energy demand from equipment level:

    (3)\[\dfrac{P_{e}(t_i)}{\sum_{e \in E}P_e(t_i)}\]
  4. Power peak demand during the period \([t_{0},t_{1}]\) :

    (4)\[\max\limits_{{t_{0}}<t_i<{t_{1}}}{\sum_{e \in E}P_e(t_i)}\]

Energy usage metrics

Building energy usage has always been considered a key indicator of building performance. Energy usage refers to the fuels consumed by a building system at a given period. Such energy consumption can be further divided based on end-use type into multiple categories, i.e., space heating, cooling, ventilation, water heating, lighting, cooking, refrigeration, computing (including servers), office equipment, and other uses [Adm16]. Here, we listed energy consumption for equipment, total energy consumption, and combined the end-use energy usage into HVAC energy usage and non-HVAC energy usage.

  1. Energy consumption of equipment \(e \in E\) during the period \([t_{0},t_{1}]\):

    (5)\[\int_{t_i=t_{0}}^{t_{1}} P_e(t_i)dt\]
  2. Energy consumption fraction associated with equipment \(e\) during \([t_{0},t_{1}]\) :

    (6)\[\dfrac{\int_{t_i=t_{0}}^{t_{1}}P_e(t_i)dt}{\sum_{e \in E}\int_{t_i=t_{0}}^{t_{1}}P_e(t_i)dt}\]
  3. Total building energy consumption during \([t_{0},t_{1}]\) :

    (7)\[{\sum_{e \in E}\int_{t_i=t_{0}}^{t_{1}}P_e(t_i)dt}\]
  4. HVAC system energy consumption during \([t_{0},t_{1}]\) :

    (8)\[{\sum_{e \in E}\int_{t_i=t_{0}}^{t_{1}}P_{e,AC}(t_i)dt}\]
  5. Non-HVAC system energy consumption during \([t_{0},t_{1}]\) :

    (9)\[{\sum_{e \in E}\int_{t_i=t_{0}}^{t_{1}}P_e(t_i)dt}-{\sum_{e \in E}\int_{t_i=t_{0}}^{t_{1}}P_{e,AC}(t_i)dt}\]

Energy cost metrics

Energy cost as a metric directly links energy usage with financial markets. It is a key economic criteria to assess building controller performance during operation, especially responding to the dynamic variation of energy price. Energy cost is often used as a control objective function in model predictive control (MPC) studies [AERA13, MQSX12], which have developed controllers targeted at minimizing energy cost under normal charge rate, and (or) under peak demand charge rate.
Let \(\{t_{0},...,t_{1}\}\) denote the period of interest (in minutes), and let \(c(t_i)\) denote the regular fuel price at time \(t_i\):
(10)\[{\sum_{e \in E}\int_{t_i=t_{0}}^{t_{1}}P_e(t_i)\lambda(t_i)dt}\]

Let \(c_d(t_i)\) denote the fuel price (peak demand charge rate) at time \(t_i\). Considering the demand charge rate, [MQSX12] rewrote the cost metric as:

(11)\[{\sum_{e \in E}\int_{t_i=t_{0}}^{t_{1}}P_e(t_i)\lambda(t_i)dt}+\max\limits_{{t_{0}}<t<{t_{1}}}{\sum_{e \in E}\int_{t_i=t_{0}}^{t_{1}}P_e(t_i)\lambda_d(t_i)dt}\]

Thermal comfort metrics

Thermal comfort, defined by ASHRAE Standard 55 is ‘‘that condition of mind that express satisfaction with the thermal environment’’[ASH10]. In a typical commercial building, the goal of a HVAC system is to provide such comfort. However, this thermal comfort, assessed by the human being, is affected by environmental, social, physiological, and psychological factors. The Fanger comfort model is the first thermal comfort model ever developed and is relatively easy to calculate. Other than the comfort model, we may also directly use dry bulb temperature as a simple indication of thermal comfort.
Let \(z\) denote the zone index for the set of zones in the building \({Z}\), \(S_c=[T_{min}^n,T_{max}^n]\) denote the thermal comfort (temperature) set associated with zone \(z\) , and \(c_i\) denote the comfort indicator at time \(t_i\).
  1. Based on Fanger comfort model [Fan67, F+70], predicted percent of dissatisfied (\(PPD\)) people at each Predicted Mean Vote (\(PMV\)) can be calculated as:

    (12)\[PPD = 100-95e^{-0.03353*PMV^4 - 0.2179*PMV^2}\]

    where \(PMV = (0.303e^{-0.036M}+0.028)(H-L)\); \(H\) is the internal heat production rate of an occupant per unit area (i.e., metabolic rate per unit area minus the rate of heat loss due to the performance of work, \(L\) is all the modes of energy loss from body )

  2. Number of excursions outside of the comfort set for zone \(z\):

    (13)\[|\{t_z ~|~ T_{t}^n \in S_c \land T_{t+1}^n \not\in S_c \}|\]
  3. Total time when the comfort indicator \(T\) is outside the comfort set \(S_c\) for zone \(z\), during the time interval \(\{t_{0},t_{1}\}\):

    (14)\[t_{u,z} = \sum_{t_i=t_0}^{t_1}s(t_i)\]

    where \(s(t_i)=1\), if \(T^n_{t}\not \in S_c\), at time \(t_i\); \(s(t_i)=0\), if \(T^n_{t} \in S_c\), at time \(t_i\).

  4. Total time when the comfort indicator \(T\) is outside the comfort set \(S_c\) for all the zones in the whole building \(z \in {Z}\), during the time interval \(\{t_{0},t_{1}\}\):

    (15)\[t_{u,Z} = \sum_{z \in Z}\sum_{t_i=T_0}^{t_1}s(t_i)\]
  5. Percent time when the comfort indicator \(T\) is outside the comfort set \(S_c\) for zone \(z\), during the time interval See (16) \(\{t_{0},t_{1}\}\):

    (16)\[\dfrac{|t_{u,z}|}{t_{1} - t_{0}}\]
  6. Maximum deviation from the comfort set for zone \(z\)

    (17)\[max\{T^n_{min} - T_{l},T_{u} - T^n_{max}\}\]

    where \(T_{u} = \max\{T_t^n~|~T_t^n > T^n_{max}\}\) and \(T_{l} = \min\{T_t^n~|~T_t^n < T^n_{min}\}\).

System and equipment utilization metrics

These metrics are defined to measure system and equipment utilization characteristics during a given period. The utilization characteristics include operational time fraction, maximum capacity percentage, average capacity percentage (all three could range within 0-100%), and average system efficiency. As noted by other studies, different HVAC components might be used differently under different control scenarios.
For an equipment \(e \in E\), let \(O_e\), \(C_e\), and \(\eta_e\) denote operation status indicator, operation capacity, and operation efficiency, respectively.

period \([t_{0},t_{1}]\):

(18)\[\dfrac{1}{t_{1}-t_{0}}\sum_{t_i=t_{0}}^{t_{1}} O_{e}(i)\]

Where \(O_{e}(i)=1\), if the equipment is ON, and \(O_{e}(i)=0\), if the equipment is OFF.

  1. The maximum capacity percentage of equipment \(e \in E\) during the period \([t_{0},t_{1}]\):
    (19)\[\dfrac{max\{C_{e, t} ~|~t \in \{t_{0},t_{1}\}\}}{C_{e,r}}\]

    Where \(C_{e,r}\) is the rated maximum capacity of of equipment \(e \in E\) during the period \([t_{0},t_{1}]\).

  2. The average capacity percentage of equipment \(e \in E\) during the period \([t_{0},t_{1}]\):

    (20)\[\dfrac{average\{C_{e, t} ~|~t \in \{t_{0},t_{1}\}\}}{C_{e,r}}\]
  3. The average efficiency coefficient (e.g.,energy efficiency ratio, seasonal energy efficiency ratio, and coefficient of performance) of equipment \(e \in E\) during the period \([t_{0},t_{1}]\):

    (21)\[{max\{\eta_{e, t} ~|~t \in \{t_{0},t_{1}\}\}}\]

Control dynamics metrics

Control performance assessment can be considered as an evaluation of the quality of control during normal and abnormal operation. It includes qualitative analysis (e.g., Bode plot, Nyquist plot) and quantitative evaluations (e.g., Harris index, mean of control error). Several studies have reviewed and compared the performance of those metrics [HSD99, Jel06, ONeillLW17]. Particularly, [ONeillLW17] compared the metrics for HVAC control loops and recommended the Harris index and VarBand because of their bounded values. Here we selected the Harris index as one metric. In addition, we added response speed, i.e., how fast the controller responds to a disturbance.

Let \(s_i\), \(M_i\), \(t_0\),\(t_1\), \(d_0\), and \(d_1\) denote the control setpoint for control variable \(i\), the actual measurement of this control variable \(i\), the time when a disturbance occurs, the time when the system re-balanced (actual measurement stays within \(\pm\) 10% of the setpoint), pre-disturbed value, and the disturbance value, respectively.

  1. Based on [Har89], Harris index is calculated as follows:


    Where \(\delta^2_{mv}\) is the minimum variance of the control output obtained by maximum likelihood estimation method, and \(\delta^2_{y}\) is the variance of control outputs with respect to the setpoint.

  2. Control response absolute speed:

  3. Control response relative speed:


Fault sensitivity metrics

The occurrence of a fault typically has an impact on one or more aspects of building system performance, such as energy, comfort, and cost. For the same HVAC system, one type of controller might be more immune to the fault than other controllers. Thus, we defined this fault sensitivity metric to quantify such fault immunity for controllers [CHV18].
Let \(p'(t_i)\) denote a performance factor (energy, demand, cost, efficiency, etc.) at time \(t_i\) under fault condition (\('\)), \(p(t_i)\) denote the same type of performance factor under no-fault condition (baseline). Fault sensitivity is expressed as a ratio of the performance factor under fault condition to the baseline (no fault):

Computation metrics

For a conventional HVAC control system, the controller involves limited computation effort. For an MPC, studies have found the control decision could require noticeable computational effort [MOHC+11, OPJ+12], which may include system modeling, prediction, and optimization). Computation time has been used as one of the metrics [MBDB10]. Here, we defined three scenarios: MPC prediction, virtual-building model simulation, and real-building operation. Each scenario has its time track.
Let \(t_r(i)\) denote real-building operation time at \(i^{th}\) iteration, \(t_{r0}(i)\) denote the start time of the building model simulation at \(i^{th}\) iteration, and \(t_{r1}(i)\) denote the ending time of the building model simulation at \(i^{th}\) iteration. Let \(t_s(i)\) denote the virtual-building model simulation time length at \(i^{th}\) iteration, \(t_{s0}(i)\) denote the start time of the building model simulation at \(i^{th}\) iteration, and \(t_{s1}(i)\) denote the ending time of the building model simulation at \(i^{th}\) iteration. Let \(t_p(i)\) denote the MPC prediction time length at \(i^{th}\) iteration, \(t_{p0}(i)\) denote the start time of the prediction calculation at \(i^{th}\) iteration, and \(t_{p1}(i)\) denote the ending time of the prediction calculation at \(i^{th}\) iteration.
  1. Controller prediction time at \(i^{th}\) iteration can be calculated as:

  2. Model simulation (or real building system operation) time length at \(i^{th}\) iteration can be calculated as:


    while total \(t_s(i)\) over a period of \([t_{0},t_{1}]\):

  3. Real building system operation time length at \(i^{th}\) iteration can be calculated as:

  4. Total \(t_r\) over a period of \([t_{0},t_{1}]\) can be calculated as:

  5. Total prediction-simulation time ratio:

  6. Total modeling-operation time ratio:


Air quality metrics

IAQ is always a critical factor in indoor environment that directly relates to occupant health, comfort, and productivity [Sun04]. Accurate evaluation of IAQ require a set of measurements of the typical indoor air pollutants (such as particulate matter(\(PM\)), volatile organic compounds (\(VOCs\)), nitrogen dioxide (\(NO_2\)), formaldehyde, radon (\(Rn\)), biological pollutants). Direct measurement of those pollutants is typically costly, and physical modeling of those pollutants in indoor environment is not well established. As a result, an alternative path has been used to evaluate the IAQ by measuring the amount of fresh air via \(CO_2\)-based evaluation.
From the perspective of building HVAC system operation and control, IAQ-related control actions include controlling the ratio of fresh air intake and modifying ventilation rate. Increasing ventilation rate was found to be associated with reduced symptoms of sick building syndrome [SLN+11]. ASHRAE Standard 62.1 has established the minimum requirement for fresh air intake [ASH16]. To evaluate weather this requirement has been met, it can be directly calculated by measuring outside air flow rate, recirculating air flow rate, number of occupants, and building area [YP06]. This can also be indirectly estimated by measuring \(CO_2\) concentration for a building mainly occupied by humans. Thus, \(CO_2\) concentration has been used as control inputs in demand control ventilation [CK09, Nas12, SWM11]).
Let \(A\) denote the concentration of \(CO_2\) in ppm. For zone \(z\), the \(CO_2\) concentration is \(A_z(t_i)\) at time \(t_i\). Let \(a\) denote the ambient environment. Let \(A_r\) denote the required \(CO_2\) concentration threshold from ASHRAE 62.1 (e.g., for office \(A_r\)=700 ppm + ambient \(CO_2\) concentration).
  1. Average \(CO_2\) concentration for zone \(z\), during the period \([t_{0},t_{1}]\):

  2. Maximum \(CO_2\) concentration for zone \(z\), during the period \([t_{0},t_{1}]\):

    (34)\[{max\{A_z(t_i) ~|~t_i \in \{t_{0},t_{1}\}\}}\]
  3. Total time when \(CO_2\) concentration \(A_z(t_i)\) is higher than the ASHRAE recommended value \(A_r\) for zone \(z\), during the time interval \(\{t_{0},t_{1}\}\):

    (35)\[t(CO_2)_{u,z} = \sum_{t_i=T_0}^{T_z}s(t_i)\]

    where \(s(t_i)=1\), if \(A_z(t_i)\) \(>\) \(A_r\), at time \(t_i\); \(s(t_i)=0\), if \(A_z(t_i)\) \(\leq\) \(A_r\), at time \(t_i\).

  4. Total time when \(CO_2\) concentration \(A_z(t_i)\) is higher than the ASHRAE recommended value \(A_r\) for all the zones in the whole building \(z \in {Z}\), during the time interval \(\{t_{0},t_{1}\}\):

    (36)\[t(CO_2)_{u,Z} = \sum_{z \in Z}\sum_{t_i=T_0}^{T_z}s(t_i)\]

    where \(s(t_i)=1\), if \(A_z(t_i)\) \(>\) \(A_r\), at time \(t_i\); \(s(t_i)=0\), if \(A_z(t_i)\) \(\leq\) \(A_r\), at time \(t_i\).

Capability of the controller to steer flexibility

A controller capable of estimating and steering the flexibility available in a building supposes an added value, since it would be able to provide demand repsonse and ancillary services to the electric grid or district heating or cooling network. However, the explicit quantification of this KPI is particularly challenging because of the dependency of flexibility on the previous actions, current state, and various flexibility objectives that exist. For this reason, BOPTEST will utilize the operational cost KPI with dynamic pricing as a proxy for how the controller steers flexibility. Future work may specify dedicated tests and explicit quantification of flexibility.

KPI Implementation

KPI implementation refers to the process of calculating KPIs with predefined procedures, during or after the control evaluation. When performing simulation-based control evaluation, we streamline the KPI implementation by integrating the KPI calculation modules into the building emulators. Specifically, we categorize KPIs into two groups: Core KPI and customized KPI.

  • For KPIs in Core KPI, inputs for calculating them are tagged in the simulation model while the corresponding calculation methods are parts of the standard simulation process.

  • For KPIs in customized KPI, application programming interfaces are provided to allow users to specify the required inputs for calculating such KPIs and detailed calculation methods.

In the following subsections, we detail the implementation for the two groups, respectively.

Core KPI

Core KPI is intended to enable “apple-to-apple” comparisons among different building controls. To serve this purpose, KPIs in core KPI must be case insensitive, i.e., not depending on specific simulation case or simulation scenario. As of now, we consider two KPIs for key KPI: “HVAC system energy consumption”, as defined in (7), and “comfort”, as defined in (37).


where \({T_i}^k\) is the temperature of the \(i\)th zone at the discrete \(k\)th time step, \(T_{set}\) is the zone temperature set point, \({\Delta}t\) is the discrete time step length , \(M\) is the number of zones, and \(N\) is the number of discrete time steps.

Similarly, we rewrite Equation (7) into a discrete form, as shown below, to facilitate the calculation:


where \({P_{j}}^k\) is the power of the \(j\)th HVAC device at the discrete \(k\)th time step, \(S\) is the number of HVAC device.

In the Modelica building models, we specify the inputs for (37) and (38) with a module called IBPSA.Utilities.IO.SignalExchange.Read. This module allows users to define which variables are involved in a certain KPI calculation. For example, \({T_i}^k\) is defined with:

IBPSA.Utilities.IO.SignalExchange.Read TRooAir(KPIs=``comfort'',
Description=``Room air temperature''));

Likewise, \({P_{j}}^k\) is defined as:

IBPSA.Utilities.IO.SignalExchange.Read ETotHVAC(KPIs=``energy'',
Description=``Total HVAC energy''));

A Python script is created to extract this KPI related information into a dictionary as shown below:

{``energy'': [``ETotHVAC_y''],
``comfort'': [``TRooAir_y'']}

Then, the above dictionary is used to calculate the KPIs with the following Python module:

def get_kpis(self):
        ``Returns KPI data.

        Requires standard sensor signals.


        kpis : dict
            Dictionary containing KPI names and values.

        kpis = dict()
        # Calculate each KPI using json for signalsand save
        in dictionary
        for kpi in self.kpi_json.keys():
            print(kpi, type(kpi))
            if kpi == 'energy':
                # Calculate total energy [KWh - assumes measured
                in J]
                E = 0
                for signal in self.kpi_json[kpi]:
                    E = E + self.y_store[signal][-1]
                # Store result in dictionary
                kpis[kpi] = E*2.77778e-7 # Convert to kWh
            elif kpi == 'comfort':
                # Calculate total discomfort [K-h = assumes
                measured in K]
                tot_dis = 0
                heat_setpoint = 273.15+20
                for signal in self.kpi_json[kpi]:
                    data = np.array(self.y_store[signal])
                    dT_heating = heat_setpoint - data
                    tot_dis = tot_dis + trapz(dT_heating,
                # Store result in dictionary
                kpis[kpi] = tot_dis

        return kpis

To summarize, the Core KPI is predefined at the building simulation model level and we don’t expect any modification from the control developers.

Customized KPI

The customized KPI is designed for those KPIs that are subject to certain control or building simulation models. Examples of those KPIs include controllable building power, which varies among different building simulation models.

To perform an analysis on the customized KPI, users must define the customized KPI with the following template:

    ``name'': ``Average_power'',
    ``kpi_class'': ``MovingAve'',
    ``kpi_file'': ``kpi.kpi_example'',
    ``data_point_num'': 30,

The above definition actually contains two major parts:

  • The first part defines which module (in which file) calculates the corresponding KPI. In this example, the module for calculating the KPI \(Average\_power\) is the class \(MovingAve\) in the file \(kpi.kpi\_example\). It is noted that this module should contains one function called “calculation”, as shown below:

    class MovingAve(object):
    def __init__(self, config, **kwargs):``name'')
    def calculation(self,data):
        return sum(data[``x''])/len(data[``x''])
  • The second part defines the inputs for calculating the KPIs. In this example, there are four inputs for calculating the KPI \(Average\_power\) and the sampling horizon length for those inputs is 30 minutes.

The user-defined information is then processed by the following Python module:

class cutomizedKPI(object):
      Class that implements the customized KPI calculation.
    def __init__(self, config, **kwargs):
        # import the KPI class based on the config files
        module = importlib.import_module(kpi_file)
        kpi_class = config.get(``kpi_class'')
        model_class = getattr(module, kpi_class)

        # instantiate the KPI calculation class
        self.model = model_class(config)
        # import data point mapping info
        # import the length of data array
        # initialize the data buffer

    # a function to process the streaming data
    def processing_data(self,data,num):
    # initialize the data arrays
        if self.data_buff is None:
           for point in self.data_points:
    # keep a moving window
           for point in self.data_points:
               if len(self.data_buff[point])>=num:

    # a function to process the streaming data
    def calculation(self):
        res = self.model.calculation(self.data_buff)
        return res

The above module reads the KPI information, instantiates the KPI calculation class, and creates data buffers for the KPI calculation.


U.S. Energy Information Administration. 2012 commercial buildings energy consumption survey (cbecs) survey data. 2016.


Abdul Afram and Farrokh Janabi-Sharifi. Theory and applications of hvac control systems – a review of model predictive control (mpc). Building and Environment, 72(Supplement C):343–355, 2014. URL:, doi:


ASHRAE. Ansi/ashrae standard 55-2010 thermal environmental conditions for human occupancy. 2010.


ASHRAE. Ashrae standard 62.1-2010 ventilation for acceptable indoor air quality. 2016.


Mesut Avci, Murat Erkoc, Amir Rahmani, and Shihab Asfour. Model predictive hvac load control in buildings using real-time electricity pricing. Energy and Buildings, 60(0):199–209, 2013. URL:, doi:


Yan Chen, Sen Huang, and Draguna Vrabie. A simulation based approach for impact assessment of physical faults: large commercial building hvac case study. 2018 Building Performance Analysis Conference and SimBuild co-organized by ASHRAE and IBPSA-USA, September 26-28, Chicago, IL 2018.


Velimir Congradac and Filip Kulic. Hvac system optimization with co2 concentration control using genetic algorithms. Energy and Buildings, 41(5):571–577, 2009. URL:, doi:


PO Fanger. Calculation of thermal comfort, introduction of a basic comfort equation. ASHRAE transactions, 73:III–4, 1967.


Poul O Fanger and others. Thermal comfort. analysis and applications in environmental engineering. Thermal comfort. Analysis and applications in environmental engineering., 1970.

[GSA96] (1,2)

GSA. Federal standard 1037c telecommunications: glossary of telecommunication terms. 1996. URL:


T. J. Harris. Assessment of control loop performance. Canadian Journal of Chemical Engineering, 67(5):856–861, 1989. URL: <Go to ISI>://A1989CA59200019.


T. J. Harris, C. T. Seppala, and L. D. Desborough. A review of performance monitoring and assessment techniques for univariate and multivariate control systems. Journal of Process Control, 9(1):1–17, 1999. URL: <Go to ISI>://WOS:000078128300001, doi:Doi 10.1016/S0959-1524(98)00031-6.


Gongsheng Huang. Model predictive control of vav zone thermal systems concerning bi-linearity and gain nonlinearity. Control Engineering Practice, 19(7):700–710, 2011. URL:, doi:


M. Jelali. An overview of control performance assessment technology and industrial applications. Control Engineering Practice, 14(5):441–466, 2006. URL: <Go to ISI>://WOS:000236459500001, doi:10.1016/j.conengprac.2005.11.005.

[MQSX12] (1,2,3)

Jingran Ma, Joe Qin, Timothy Salsbury, and Peng Xu. Demand reduction in building energy systems based on economic model predictive control. Chemical Engineering Science, 67(1):92–100, 2012. URL:, doi:


Peter May-Ostendorp, Gregor P Henze, Charles D Corbin, Balaji Rajagopalan, and Clemens Felsmann. Model-predictive control of mixed-mode buildings with rule extraction. Building and Environment, 46(2):428–437, 2011.

[MBDB10] (1,2)

Petru-Daniel Moroşan, Romain Bourdais, Didier Dumur, and Jean Buisson. Building temperature regulation using a distributed model predictive control. Energy and Buildings, 42(9):1445–1452, 2010. URL:, doi:10.1016/j.enbuild.2010.03.014.


Nabil Nassif. A robust co2-based demand-controlled ventilation control strategy for multi-zone hvac systems. Energy and Buildings, 45(0):72–81, 2012. URL:, doi:

[ONeillLW17] (1,2)

Z. O'Neill, Y. F. Li, and K. Williams. Hvac control loop performance assessment: a critical review (1587-rp). Science and Technology for the Built Environment, 23(4):619–636, 2017. URL: <Go to ISI>://WOS:000400981400008, doi:10.1080/23744731.2016.1239466.


Frauke Oldewurtel, Alessandra Parisio, Colin N Jones, Dimitrios Gyalistras, Markus Gwerder, Vanessa Stauch, Beat Lehmann, and Manfred Morari. Use of model predictive control and weather forecasts for energy efficient building climate control. Energy and Buildings, 45:15–27, 2012.


Samuel Prívara, Jan Široký, Lukáš Ferkl, and Jiří Cigler. Model predictive control of a building heating system: the first experience. Energy and Buildings, 43(2):564–572, 2011. URL:, doi:


J. Rehrl and M. Horn. Temperature control for hvac systems based on exact linearization and model predictive control. In IEEE International Conference on Control Applications (CCA), 1119–1124. 2011. doi:10.1109/CCA.2011.6044437.


Zhongwei Sun, Shengwei Wang, and Zhenjun Ma. In-situ implementation and validation of a co2-based adaptive demand-controlled ventilation strategy in a multi-zone office building. Building and Environment, 46(1):124–133, 2011. URL:, doi:


J. Sundell. On the history of indoor air quality and health. Indoor Air, 14:51–58, 2004. URL: <Go to ISI>://WOS:000223590700007, doi:10.1111/j.1600-0668.2004.00273.x.


J. Sundell, H. Levin, W. W. Nazaroff, W. S. Cain, W. J. Fisk, D. T. Grimsrud, F. Gyntelberg, Y. Li, A. K. Persily, A. C. Pickering, J. M. Samet, J. D. Spengler, S. T. Taylor, and C. J. Weschler. Ventilation rates and health: multidisciplinary review of the scientific literature. Indoor Air, 21(3):191–204, 2011. URL: <Go to ISI>://WOS:000290490300004, doi:10.1111/j.1600-0668.2010.00703.x.


Xue-Cheng Xi, Aun-Neow Poo, and Siaw-Kiang Chou. Support vector regression model predictive control on a hvac plant. Control Engineering Practice, 15(8):897–908, 2007. URL:, doi:

[YP06] (1,2)

Shui Yuan and Ronald Perez. Multiple-zone ventilation and temperature control of a single-duct vav system using model predictive strategy. Energy and Buildings, 38(10):1248–1261, 2006. URL:, doi: