SmartSpaces at DMU

DMU developed the SmartSpaces project in partnership with Leicester City Council. The SmartSpaces project is a simple way of communicating energy usage in DMU and Leicester City Council buildings using smiley and not so smiley faces. You can check out the SmartSpaces website here Here’s Dr Graeme Stuart to explain how it works.

How are the faces calculated?

The process is fairly complicated but I will do my best to explain and answer questions in this thread.

We can break the process down into discrete, simple steps.

  1. Determine the normal pattern for your building
  2. Predict an expected range based on the current time of day and outside air temperature
  3. Compare actual measurements with the expectation to determine a performance indicator
  4. Convert the performance indicator into a cheeky smiley face

So, each step in turn:

Determine the normal pattern for your building

This is done using a simple statistical model based on time of day and outside air temperature. To fit the model we separate baseline consumption data into one subset for each half hour period in a week. So we have one period representing Monday morning at 09:00 and one period for Wednesday night at 23:30 and so on. We fit the model to a 12-month baseline period so each subset of data has 52 values. These are the raw data that are fitted to 336 individual consumption models.

The models are simple regression against outside air temperature with a change point representing the building ‘balance point’ temperature.

Here’s an example of Fridays at 16:30

Fri 16_30.png938×600 52.9 KB

Each week a new point is recorded and the baseline period rolls forward so the baseline used for this weeks calculations is the 12-month period ending last Saturday at midnight. Next week we will include this weeks point in the baseline and the earliest point will drop off the end and be forgotten.

Predict an expected range

We then look at the variation (the scatter) around the model to determine how far away from the model we can expect to be. This tells us what level of consumption would be considered normal, high or low for any given outside air temperature. Model residuals are calculated as the difference between each point and the model prediction.

Fri 16_30.png938×531 72.1 KB

Percentiles are calculated from the model residuals and added back onto the model prediction to generate expected ranges of consumption. The 50th percentile represents the value above and below which 50% of baseline data fell, a kind of central value. The chart above shows the 1st, 10th, 25th, 75th, 90th and 99th residual percentiles added back onto the model prediction.

The resultant coloured zones of consumption are similar to those used in the detailed graphs1 on the website. For every measured point we know the time of week and we know the outside air temperature so we compute the range in this way and plot the data as a time series.

Compare actual measurements with the expectation

As well as calculating the level of consumption associated with specific percentile values such as the 25th and the 75th we can also calculate the percentile score of any observed level of consumption. Any value of consumption can be converted into a residual by comparing it to the baseline model, this residual can then be compared to the baseline model residuals to compute a percentile score representing precisely where it sits within the normal range from 0 (representing a residual lower than any in the baseline period) to 100 (representing a residual higher than any in the baseline period).

Convert the performance indicator into a cheeky smiley face

Its fairly easy to design a face that changes colour and eye shape and smile smiliness based on a value from 0-100.

Here we can see he red bad range

the yellow neutral range

and the green good range

You can find out a bit more about the process in this paper3 I wrote last year. It shows an early version of the system.
Dr Graeme Stuart


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s