We typically refresh macro content on page view. Most triggers are related to page versions and content property changes. However also page status, edit date, last editor etc. change the rendering.
Usually our static macros are the same for every user. However sometimes guest users are a spacial case.
That is quite variable. Usually between 1 and 15. However our macros are much used in page property report macros, and that often results in hundreds or thousands of render requests.
Actually a more specific scope is also needed: inside the page properties macro.
I don’t currently have enough insight to know this.