The PUMA Algorithms

We are getting close to a Beta release of our first member of the PUMA Algorithm’s family, and I wanted to update everyone on what to expect and on progress so far.

The PUMA Algorithms are advanced models for the analysis and prognosis of power markets, that take detailed account of future uncertainty in input levels such as hydro inflow, demand, fuel and emissions prices. The first PUMA Algorithm, PUMA SP, is being developed as part of the PUMA Research Project sponsored by Research Council of Norway, and paid for by several major actors in the Nordic power market.

PUMA SP is a fundamental medium term time-frame model that captures the impact of multiple uncertainty drivers such as inflows, availabilities, demand, fuel and CO2 prices. In modelling something as complex as a power market, you have to make trade offs. Speed verses detail. Detailed modelling of hydro verses detailed modelling of CHP. Uncertainty verses perfect foresight. With PUMA SP we have taken the view that the user is best positioned to make these trade-offs, as they can change from analysis to analysis.

PUMA SP is therefore designed with flexibility and ease-of-use in mind, and can be configured to run at whatever level of detail you need. Want to run deterministically? Just one parameter. Uncertain inflows and fuel prices? The same. Add in uncertain demand? No problem. One nice thing – once you have one uncertain parameter, adding new ones does not add much solve overhead. So, if you need “quick-and-dirty”, that’s what you can have, whilst being able to use the same model and data later on to refine and model a fully detailed market response.

All Puma Algorithms are fully integrated with the PUMA Analytic Framework, and are provided as python packages and with a browser-based front-end. PUMA SP is currently in locked alpha testing with our development license group, but we are planning for it to be available to new customers in Beta at the end of 2017. Drop us a line to find out more.

PUMA Analytic Framework

Most of the models we build use quite a lot of data, and especially time series or time-stamped data. However, many of them don’t use huge, enormous petabytes of data. A data lake, not a data ocean. Handling this can be a bit tricky – spreadsheets are much too limited, and relational databases are generally too slow to read and (especially) write even moderate volumes of time series data. At the other end of the scale, large no-sql data solutions are just too complex and unwieldy, like trying to crack a nut with a hammer.

We needed something that could read and write time series and time-stamped data quickly; could classify, group and tag series (“inflow series”, “cases” or “scenarios”); could extract series even with missing or incomplete data; and had an overhead low enough that it could be installed on a desktop and accessed via the python tools we use every day.

We couldn’t find it, so we decided to build our own – the Puma Analytic Framework, for the flexible and rapid storage, retrieval, visualisation and manipulation of time series and time-stamped data. Implemented as a python package, the Framework uses a combination of a relational database and fast flat file storage and retrieval to create a tool to easily and cheaply store pretty large data volumes on the desktop, and use them in your data analysis and models. Being a python package, you have immediate access to all your usual python tools, such as numpy, scipy, pandas and Jupyter Notebooks.

The Framework makes developing new models and analytic tools easier and faster, by providing data in a readily accessible, standardised format. We use the Framework to store and prepare data for our own PUMA Algorithms power market model, and in the same way it can be fully integrated with your own existing and 3rd party power market modelling tools. This is one of the big advantages of the PUMA Analytic Framework in our opinion – it enables you to have a single, consistent database for all your models.

The PUMA Analytic Framework is in locked alpha testing and will be made available in Beta shortly, after which you will be able to download the package and documentation from our website for free. Email us in the meantime if you are interested in finding out more.