I know of page templates for dashboards. A common pattern is to use non persistent entities to show the data on the page and calculate their values dynamically in a microflow. It's a design choice really, so if you want to maintain and regularly update a persistent entity in your database, I guess that's fine also.
In the past, I would use calculated attributes for that purpose, but I’ve now come to the conclusion that calculated attributes should be limited to calculating data available exclusively on their own object (to prevent database calls and dangerous event chains). So what I do now is that I update the “parent” element with an After Commit event whenever the “child” does something that is supposed to be counted in the parent’s static fields and I use these fields to do the KPI calculations in parent’s calculated fields.