Hey everyone,
I'd love to see more discussion around financial modelling with Modano here so I thought I'd post a module I made for a theatre company that I am treasurer of.
The module allows you to input show dates and some base assumptions like ticket price, venue capacity and utilization, and calculate the expected revenue from the events and the royalties COGS. I have considered building in more COGS assumptions to this to allow for easier future show forecasting, however I recently read one of the blog posts here (Ten Commandments of Financial Modelling) that discussed not making megamodules so I'm a bit dissuaded from this, and may instead split these out into more modules that link to each other.
The module also makes use of a technique for two dimensional categories that I grabbed from a post here, allowing bar assumptions to be added easily if different items are stocked.
Would be keen to hear feedback as I'm sure I haven't built this as well as it could be built, or see some examples of cool things other people have built too!
Cheers,
Matt
Hey Matt,
Cool stuff, and great initiative, something I keep saying I'll do and never actually get to! Lots of distractions are now gone, and I'm going to focus on getting more content out for the community.
This is a great start at building a module, and it certainly hits at the commonly asked question of "What's a Module vs. component vs. category”. You can break the items out to say volumes, revenue & cogs if you wanted to, it may make referencing within formulas hard, so make sure you are at an endpoint in your calcs such that they can be sent out to another module. I do think there are probably some rule of thumbs, but I think this one might come down to experience working with various structures.
A few key steps to always follow when building custom modules.
Broader formula points
Modano's time series structure means you don't need to try and create complicated formulas to manage time referencing. Spending a bit of time playing around with the various counters will really benefit your modules down the track. I tried to make some examples of this in your conversion to time series.
With the two-dimensional lookup you’re doing, an index/match might be a good alternative to using offsets. What you’ve got makes sense, but (this is a personal preference) I try and keep offsets out of my models. There are certain techniques where you have no other option (reverse ticker), but for the most part you could use an index or a combo of indexing and matching to do 99% of things. This is my preference because Modano can scale so crazily, using offsets can sometimes really impact on calculation times, especially if you’re looking over a long period, or there are lots of categories, so I really try to avoid volatile formulas.
Anyways, that was a bit of fun to have a mess about in, great stuff!
Jun