Over the last year we became increasingly involved with the BATTERY SPECIFIC “science” of modelling past and future revenues of battery energy storage systems (BESS) and now decided to shed some light on this practice. We believe that customers are being sold a lot of voodoo for science and that the incentives in this industry are not at all well aligned.
Use Cases for Battery (BESS) Revenue Modelling
So let us start with who needs these revenue models and what they are being used for. The basic case for revenue modelling is strong: Investors want to know the earning potential of their asset before spending their money and banks want to have some security before signing loan agreements. Currently, most assets are being built on a merchant basis meaning that they carry price risk for the entire lifetime of the asset, let’s say 15 years. Furthermore, asset managers want to know from potential traders what revenues they are projecting in order to select one of them and maybe to screen their skill level by giving them this task. So far so good.
In our view there are two fundamental problems in the modelling industry. One is conceptual and the other one has more to do with actors’ interests and the moral hazard that is created by these.
The Conceptual Problem with Battery Revenue Modelling
I start with the conceptual problem, which has much to do with the battery’s greatest strength: These assets are extremely flexible meaning that you can trade and optimize them on various markets. In Germany a battery can freely pick and choose between the Spot market (Day Ahead Auction, Intraday Auction, and Continuous Intraday) and the ancillary services market (FCR, aFRR, maybe mFRR). While this is great news for the asset in general, it opens up the pandoras box of limitless complexity on a revenue modelling level. This complexity invites fog and fog invites shady practices. More on that later. We have two axes of analysis, one is past vs future prices, i.e. back-testing with actual prices vs projecting future pries. The other one is a single market view vs a combined cross market view.
Let’s start with looking at the backtesting of a Spot market optimization first and ignore ancillary services for a second. This is as simple as you can start. However, we are already cycling over three market segments that happen in different market setups at different times: the Day Ahead Auction, the Intraday Auction and the Continuous Intraday market. We published a blog on how we would do this and also published the FlexIndex which is based on this methodology. We love this approach, because while not at all easy it is as simple as one can possibly get it without turning customers heads in complexity. Basically, going over these markets allows optimizing an asset with various sizes, capacities, cycling restrictions and looking at how much money this asset would have made with this methodology in the past. This methodology gives a very good proxy of how much money a flexible asset can expect to make over time with changing market conditions.
Modelling Revenues on the Intraday Continuous Market
The first problem with this approach is that it heavily simplifies the intraday continuous market as it assigns only a single index price, the so-called ID1 to each quarter hour. In reality there is no such thing as a single intraday price but rather there is a live market with bids and offers and thousands of trades in each contract per day. Look at the price curve of the product from 12q3 today. You can see that prices for the same product traded between 45 EUR/MWh and 80 EUR/MWh depending on when you were looking on the market.
Now in real life, a battery algorithm would take advantage of these ever-changing prices continuously. Our modelling approach with a single price ignores this opportunity and therefore systematically underestimates trading revenues.
So, shouldn’t this be taken into account and modelled into the results? Our view is a firm No. The reason is that by looking back in time and assuming that you could trade at these prices, you ignore the fact that each offer or bid that you place into the market would have had an influence on prices. This may not matter for a 1 MW position as it’s too small to move prices significantly, but bigger positions definitely would.
Secondly, opening up this alley of analysis (i.e. using tick data and orderbook data) increases the amount of data used for the analysis as well as the complexity of analysis by a lot. Nobody shares tick data or orderbook data and the way it has been organized, which means that results are no longer replicable by an outside party. These facts then open the door to manipulate results to make them show whatever you want them to. Hence, we would much rather work with a crude assumption such as: “In practice, Intraday optimization yields 20% more than assumed from the ID1 calculation” which should actually give you a cleaner result than allowing someone to do whatever they please with tick data. I dare you to ask your modeler to open their model, as we have done and share their results to be replicated. I guarantee you they will twist and turn like John Travolta in his prime.
Projecting Power Prices is, well, tricky
Now, bear in mind that we are still only living in the past in our battery revenue model. No projecting has been done. If you worked with price models as long as I have, you come to the point that you ask anyone who makes a price projection over the next 15 years a single question: “Have you traded on it?”. If not, I stop listening. Making a price model for a year or even a month is EXTREMELY difficult. Forecasting power prices for anything longer than what you have a liquid market for (i.e. five years) is on the same level as cutting up and reading bird intestines. Nobody saw the price drops in the middle part of the decade, nobody saw the pandemic, nobody saw the Russia-induced energy crisis, but these things happen. These events are the rule, not the exception! And here we are talking about the impossibility of predicting long term BASE prices. Look at the model below published on June 29th 2021 showing you a power price projection with a range of variation. According to them, the year 2022 would settle anywhere between 58 EUR/MWh and 78 EUR/MWh. You know where it did settle? 235 EUR/MWh! Price projections are not only a little wrong.
And, just to make sure: No, this is not Energy Brainpool’s fault. Everyone got it wrong and they get it wrong pretty much every time.
In order to model battery revenues, you don’t only need to model base prices but (quarter) hourly prices. So, you need to know to which level prices can increase and how far they can go down.
Last year we saw Day Ahead prices of -500 EUR/MWh for the first time. No one had this in their model. What’s in it for this year? Nobody knows! Now this is only Day Ahead prices, but in order to model this out properly, you also need to know future intraday prices and not only price levels, BUT tick data i.e. millions of prices every minute for the future.
Obviously, nobody can do or know this, but in addition you need to make assumptions regarding volatility of and between these markets. As base prices cannot be predicted two years out, you only need to know a simple fact: Modeling out short-term prices for 15 years CANNOT be done. Full stop. No discussions. Just forget it. Yes, you can model it and charge a lot of money for it, but the results are clear and utter and indisputable bs.
Cross-Market Optimization of BESS
Oh, and what about cross-market optimization? If this hasn’t been enough, let us add even another layer of complexity. With a battery you can also offer your services on FCR and aFRR and I would think that in the future more grid services will be available for batteries that allow further streams of revenue. You can model revenue from these markets one by one, which is a fair approach for backtesting but when projecting these revenues you have the same problems, only stronger as described above, because these markets are smaller and more obscure. If you now dare to combine these markets in a cross-market optimization approach you go through a strategic optimization where essentially you start with your revenue expectation in the last market and work your way backward to take your expectation as input prices for the ancillary services markets.
If you want to be extra fancy you also add in the anticipated degradation of your asset in each market and take account of this. If you add this step, you are very close to what you would do with a battery in real life, but you have built yourself a model that probably only one person in the universe understands. With this we have traded in every chance of comprehensibility for a big muddy mess of complexity where any modeler can literally produce whatever outcome he or she chooses. And as Goethe already knew, "Gelegenheit macht Diebe...".
So, my advice at this point is: Just forget about it. If you are a banker thinking about funding a project, simply find your revenue model and use it for scratch paper. You know, save the planet! This may seem a bit harsh, and you may be left asking, “this is frustrating, what should I do?”. Well, I will give my advice at the end, but before we get there you should understand the incentives of people making these revenue calculations.
The Problem with Wrong Incentives for Battery Revenue Modelling
Probably the worst person to ask for a revenue model is your prospective battery optimizer/trader. Trust me, I know, we are one of them.
Doing a revenue model is not super difficult for us, because we are the ones actually trading the asset and we know how we do it in practice. So, it should be simple enough to model this out. That’s all good and true. However, our incentives are not at all well aligned. If modelers are asked for a revenue model knowing that this will have an impact on getting chosen to trade the asset, the incentive is extremely clear: Just project a higher revenue than your competition and make sure to talk about a sophisticated continuous intraday strategy, complex AI based algorithms, cross-market optimization and then deliver some super high number that makes the customer’s eyes water with joy.
They will produce a fancy looking revenue report while for whatever reason not being able to commit to a minimum revenue or a floor price and deliver you a model that is pretty much guaranteed to overestimate revenues substantially. They will tell you that they are producing these results with current assets without ever showing you results citing some sort of NDA bs. Asking your optimizer and selecting them on their revenue projection is like asking a construction team for a completely non-binding price quote and selecting the cheapest one. I hope you know the deal: you end up with the contractors that are most willing to lowball you on the quote and once you start construction, costs will keep popping up out of nowhere and piling up until you pay double what you anticipated and potentially you have to switch the construction crews 3 times in the process. It’s not a good setup.
A better choice would be a consulting company that specializes in revenue modelling. This will surely be the most expensive option, but given the large investment you are looking at, one can easily spend 20k on making sure you do due diligence on your project, no?
Well not really, because these actors also have VERY little skin in the game. They have their reputation on the line but at the end they only need to be able to justify their model assumptions. Their interest is also to simply produce a number that is big enough so that you can go ahead with your project. Upside is that the bank might swallow it if they’re naïve enough. I would personally never trust a consulting firm’s revenue projection unless they are willing to guarantee minimum revenues in practice or at the least, if they show you their revenue projections for all projects they did the last 5 years and share with you the actual realized revenues of the clients, that they consulted in the past. Spoiler: They won’t do it.
The Approach we Recommend
So, what are you left with? I am sorry to disappoint, but not all that much. Hence here is our approach and the best advice that we can give. Forget about the false sense of certainty that revenue models try to project. All models are wrong, but some are useful. Therefore, look at our quite simple and reproducible FlexIndex. Is it imperfect, of course, but that is the point. It is only a model. Get the OpenSource Python model and play around with the size configuration and the cycling restriction and get a feel of how your asset would have behaved. Use this and add your costs and find the optimal configuration for your investment. We have a few more degrees of flexibility on our own model, including PV/Wind Co-Location and are happy to help you figuring out your questions.
Then go and ask your neighbor and your friends, if they are making good money with their asset today, last week, and last year. They will tell you: The Year of the Energy Crisis was great. This shows you the simple truth: A battery makes a lot of money when there is lots of volatility. A great index for volatility is the Day Ahead High-Low spread. Now ask yourself, if a battery is profitable today, will it be profitable in the future? That is nothing else than asking is volatility going up or down?
Volatility in the Power Market
Why would volatility in power markets increase?
Why would volatility in power markets decrease?
For me personally, the arguments in favor of volatility increasing are much stronger, however, it is your job as an investor to have an opinion here. No revenue model can help you out of this one!
Solution: Hedging the Risk
However, there is another solution and I hope that it has been jumping around your head as you read this. If there is real risk, which is difficult for you to assess, you can do two things.
You can listen to charlatans telling you exactly what you want to hear, and you may end up losing all your money. Or: you give this risk to somebody else who is willing to carry it, i.e. you hedge! And that is our real solution to this problem. You can select a trader/optimizer that doesn’t just model your revenues but you make them take skin-in-the-game by guaranteeing you a minimum revenue and/or a floor price. Make sure that they have the financial strength to actually live up to their promises. This is the only way to obtain realistic numbers from anyone in the market and we are happy to do this. We don’t just talk the talk but we walk the walk and stand by our modelling results in the form of guaranteed revenues. I wouldn’t trust anyone who doesn’t.
However, as CF Flex Power we can give you a price guarantee for 2-3 years, but sadly not for 15 years. We can still help, though. We have built the Flex HL shape as a financial product that allows you to hedge away your risk of declining price volatility in the long run. Who would take this risk, you may ask? Well, there are plenty of industrial consumers out there who are rightfully scared of high volatility and wish to hedge this price risk away. We have created a market platform PowerMatch to match these two parties, so that you can get a bankable contract with someone who actually has the opposite problem of you and would love to use your battery as a financial hedge for their risk position. More on this in another blog coming soon.
To sum this up, we have shown why we do not believe that anyone should put trust into any overly complex revenue modelling approach. For two reason: a) it can’t be done with any level of clarity and transparency and b) the actors doing it do not have your best interest in mind. Therefore, we recommend sticking to models that are simple and transparent and open. We made our model OpenSource for you to play around and to stop spending money on completely useless outcomes. Secondly, don’t trust models, trust good contracts that allow to actually hedge away your risk instead of playing the most dangerous strategy in the game: holding and hoping.