A building management system comprising: building equipment configured to consume electrical energy and generate thermal energy for use in satisfying a thermal energy load of a building; thermal energy storage configured to store at least a portion of the thermal energy generated by the building equipment and to discharge the stored thermal energy; electrical energy storage configured to store electrical energy purchased from a utility and to discharge the stored electrical energy; and a controller configured to determine, for each time step (k) within a time horizon, an optimal amount of electrical energy to allocate to the building equipment for use in satisfying the thermal energy load of the building and an optimal amount of electrical energy to allocate to an incentive-based demand response (IBDR) program by formulating and solving an optimization problem based on statistical estimates of IBDR event probabilities; wherein the controller is configured to estimate the IBDR event probabilities based on a history of past IBDR events, each of the past IBDR events comprising an invitation to participate in the IBDR program; characterized in that the controller is configured to modify the optimization problem to account for participation in the IBDR program by adding to the optimization problem: a decision variable representing an amount of the electrical energy to allocate to the IBDR program at each time step within the time horizon; and a plurality of constraints that define a reserve charging rate of the electrical energy storage, a reserve discharging rate of the electrical energy storage and a reserve storage capacity of the electrical energy storage that must be maintained in reserve in order to participate in the IBDR program; wherein the controller is configured to solve the optimization problem subject to the constraints to determine an amount of electrical energy to store in the electrical energy storage or discharge from the electrical energy storage at each time step within the time horizon and operate the electrical energy storage to store or discharge the amount of electrical energy determined by solving the optimization problem subject to the constraints; wherein the controller is configured to operate the electrical energy storage to discharge the optimal amount of electrical energy allocated to the IBDR program and provide the discharged amount of electrical energy allocated to the IBDR program to an energy grid. building equipment configured to consume electrical energy and generate thermal energy for use in satisfying a thermal energy load of a building; thermal energy storage configured to store at least a portion of the thermal energy generated by the building equipment and to discharge the stored thermal energy; electrical energy storage configured to store electrical energy purchased from a utility and to discharge the stored electrical energy; and a controller configured to determine, for each time step (k) within a time horizon, an optimal amount of electrical energy to allocate to the building equipment for use in satisfying the thermal energy load of the building and an optimal amount of electrical energy to allocate to an incentive-based demand response (IBDR) program by formulating and solving an optimization problem based on statistical estimates of IBDR event probabilities; wherein the controller is configured to estimate the IBDR event probabilities based on a history of past IBDR events, each of the past IBDR events comprising an invitation to participate in the IBDR program; characterized in that the controller is configured to modify the optimization problem to account for participation in the IBDR program by adding to the optimization problem: a decision variable representing an amount of the electrical energy to allocate to the IBDR program at each time step within the time horizon; and a plurality of constraints that define a reserve charging rate of the electrical energy storage, a reserve discharging rate of the electrical energy storage and a reserve storage capacity of the electrical energy storage that must be maintained in reserve in order to participate in the IBDR program; a decision variable representing an amount of the electrical energy to allocate to the IBDR program at each time step within the time horizon; and a plurality of constraints that define a reserve charging rate of the electrical energy storage, a reserve discharging rate of the electrical energy storage and a reserve storage capacity of the electrical energy storage that must be maintained in reserve in order to participate in the IBDR program; wherein the controller is configured to solve the optimization problem subject to the constraints to determine an amount of electrical energy to store in the electrical energy storage or discharge from the electrical energy storage at each time step within the time horizon and operate the electrical energy storage to store or discharge the amount of electrical energy determined by solving the optimization problem subject to the constraints; wherein the controller is configured to operate the electrical energy storage to discharge the optimal amount of electrical energy allocated to the IBDR program and provide the discharged amount of electrical energy allocated to the IBDR program to an energy grid.