We want to make widgets that give groups real-time feedback on how their energy consumption compares with a target.
If a building (B) does NOT have half-hourly meter readings we can simulate actual and target data using the consumption graph of a reference building (R):
For example, the graphs below show R (blue line) where total consumption was half that of a similar building (red line):
This approach can be used to simulate target consumption too. The University of Oxford carbon reduction strategy states that CO2 emissions in 2020 should be 33% of levels in 2005. One way to map out a transition between 2005 and 2020 smoothly is to use a reverse compound interest type equation on each reference site data point. If the reference site consumed 100 kWh on 1st Jan 2005, then we can say that each subsequent year at this point in time the energy consumption should decline by 0.67^(1/15) = 0.9736547498606258 (the 0.67 is (100 - 33/ 100 ) i.e. the 33% target, the 15 is just the 15 annual intervals between 2005 and 2020):
(Despite appearing to be a straight line is actually exponential decay).
Once we have actual (real or simulated) and target meter readings we can take the difference for each time interval to give performance. There is however a potential problem with this approach wrt the psychology of any visualisations that is using these performance measurements. Any group that gets badly behind their target may be on a losing streak every month. In this case it might be necessary to massage the performance figures each month by for instance deciding that a group is only trying to achieve n % of their target each month. Local target setters can then move this % from say 50% in the short term to 150% some time in the future (to make up the difference). It seems that groups that are badly behind will have to organise shock reduction strategies e.g. "no-electricity weekends/holidays". This local target massaging would be done by configuring the widget. N.B. this same issue would arise if people were ahead of their institutional target.
We can also use the mean value (of say the previous 60 days) to calculate a projected performance at a future date e.g. at the end of the current month.
We now have all the data we need to create target-based performance visualisations:
Groups may choose to use different approaches for setting targets and each of these will mean different data requirements for data.ox.ac.uk:
In terms of development, data.ox.ac.uk should hold the minimum data to enable the visualisation widget to do the necessary calculations, so considering the target systems described above in order:
This keeps the API simple and the necessary customisation in the widget.
The importdata() function in Google Docs will repeatedly call Dox and populate cells. Dave's Query URL constructor web tool can help get the data into the spreadsheet. Targets can be added to the data and then the data can be visualised using google visualisation gadgets. Gadgets can easily be embedded into web pages. This is a nice approach for semi-technical people who want to get involved in representing and presenting energy data.
Another approach is to give people HTML code that references a PNG image of a graph of the data for a specific unit/meter.