In my very first attempt at this, I did use UDA's - which worked nicely because I only needed 6 types of allocation.
Unfortunately in this new version I may need upwards of 60, so i had discounted UDA's, but I might go back to them, as it seems to be much easier to:
a) understand, and
b) get the syntax right.
[NB - I have to be honest and say that I am also thinking that Essbase might be the best place to keep the data and do the simple calculations, but maybe using VBA in Excel would be a lot quicker, easier and simpler to maintain, as I can do the calculations in Excel and load the result to Essbase that way - just a nagging thought at the moment]