Different time granularities
Causal allows you to have different time granularities in your models and visuals (e.g. daily, weekly, monthly, quarterly, yearly etc).
If you have different time granularities in your models and/or visuals, you may be wondering how Causal determines how the more granular values are 'rolled up' into the higher-level granularity (e.g. weekly to monthly).
The "roll-up" logic described below applies to:
- Visuals (e.g. how weekly data is rolled up to months/quarters in a table/chart); as well as
- Models of different granularities (e.g. how a weekly model translates to a monthly model).
Note that the default logic Causal uses is to Sum the values from the lower level granularity (e.g. weekly) to roll-up into the higher-level granularity (e.g. monthly), but you can choose other options in the Time Aggregation setting for each variable, see our docs here for more info (e.g. Average, Final..)
How do lower-level granularities roll-up to higher-level granularities? (e.g. weeks -> years)
If I have a weekly model, how does it roll up into months/quarters/years?
By default, a week is rolled up to the month/quarter/year based off the start date of the week.
For example: if I have a week that starts on 30th May 2022, the full week will count towards the May month, despite 5/7 days of that week being in the month of June.
It is possible to have "custom calendars", i.e. tell Causal how you want each week rolled up into months. This is useful, for example, if you follow 4/4/5 accounting cycles. At the moment custom calendars aren't a user-facing setting, but if you would like to turn one on, please contact us via live-chat in-app.
If I have a daily model, how does it roll up into weeks?
By default, days are rolled up into weeks, starting from the start day of the model. e.g. if the first day of the model is 1st July 2022, then week one is the 7 days beginning 1st July 2022.
If I have a daily model, how does it roll up into months?
By default, daily models are rolled up into months based on the month that the day falls into (as you'd expect!). So 30th May 2022 rolls up into May.
How do higher-level granularities translate to lower-level granularities? (e.g. years -> months)
In short: we divide! So to get an annual variable of "120" into a monthly model, we'd divide by 12, to get a monthly value of 120/12 = 10. Note: This is only relevant for bringing variables between different time-granularity models, this transformation is not possible on charts/tables/other visuals.