Disclaimer: English is not my mother language, I cannot explain this less verbose, and I have chosen 'enchancement' over 'bug' because the effect is probably minimal.
As we know, efficiency is calculated by price/cps+price/delta. (less is better). If we rewrite this, we get (price/cps)*((cps+delta)/delta). notice that price/cps is 'time to buy'.
My opinion is that 'time to buy' could be calculated a bit better when dealing with locked upgrades.
Every locked upgrade efficiency is now calculated as if it has to be bought in one piece. The cost is calculated by the sum of the buildings and the upgrade, and therefore 'time to buy' is calculated by 'total costs'/'begin cps'.
It would be nicer to calculate it's efficiency by summing the 'time to buy' of the individual parts, hence using the 'intermediate cps' for every part.
This would be more consistent with the overall buying/efficiency strategy, which already assumes constant activity. It is strange to delay buying a few buildings if you already have the (safely at) amount of cookies.
I understand that this could be a bit more cpu intensive, and thus not yet reachable. I still wanted to share this bit of information for mathematical/optimal reasons.
Keep up the good work, If there are any questions, just ask.