In the current release of Powertracer (V2.0) Contracted and Nominated trades are apportioned on a first-come / first-served basis.

Say for instance if a solar farm has agreed to sell its exports to customers joining our retail partner's "Deal Direct" plan. This "Contracted Trade" will be established for customers when they sign up. If there is not enough energy supplied by the solar farm to meet the demand of all the customers (say as the sun is setting) then those customers who signed up last will be the first to fall back to their residual or default trade with the retailer. So get in early to maximise your renewable usage!

We think this approach will be fine in the early days of Powertracer operations. Most times there will be plenty of renewable generation to share. But as we grow we have recognised the need for a more democratic process. So in our next major release, the Powertracer algorithm will give every customer an equitable share of the energy coming from their Contracted or Nominated sources, while maximising the renewable energy traded for all customers.

To do this we run multiple calculation rounds. In the first round we will divide the generation amount in each trade interval by the number of customers contracted to buy it. If a customer used less than (or equal to) this share, then their whole usage will be assigned to the trade. This may leave some energy 'left over' from their share. These left over amounts will be put into a 2nd round pool. Customers who used more than their 1st round share will be assigned their 1st round amount plus go into the 2nd round for additional allocation.

In the 2nd round the pool of 'left over' energy is divided by the number of customers making it into the 2nd round. Then again we check which customers have had their demand fully met, how much generation is still unassigned, and which if any customers might go into a 3rd round. The process will continue until either all the generation is assigned or all the consumption is assigned.

Did this answer your question?