High Level Design
Overview
As a BI driven organization that uses the Business Intelligence to monitor and investigate various aspects of your company – sales, marketing, operations, and others you might find it useful to measure the BI implementation success and usage within your organization. Understanding the system usage can help in managing licenses, Improving current data visualization and knowing which data is the most interesting for your users.
Goals
- Increase users’ engagement to the BI solution delivered to them.
Objectives
- Identify popular dashboards to learn on what triggers its users to use it and why it’s more useful\appealing than others.
- Identify dashboard which are not in use to be able to analyze what are the reason for the poor engagement for further implementations.
- Identify dashboards owners who gain better engagement so they could share their experience with others.
- Identify more\less engaged users so we can find focal points for getting feedbacks and to re-arrange licenses when needed.
KPIs Architecture
Objectives | KPIs | Measures | Data Source |
Identify popular dashboards to learn on what triggers its users to use it and why it’s more useful\appealing than others | Active dashboards | # of active dashboards in the last 30 days: Count(active dashboards within the last 30 days)
# of active dashboards: Count(active dashboards) |
TRACE; DASHBOARDS |
Top 5 active dashboards in the last 30 days: Count(actions per dashboard within the last 30 days) filtered by top 5 dashboards per their actions. | |||
Action Trends | # of active dashboards per day: Count(active dashboards) per day
|
||
Identify more\less engaged users so we can find focal points for getting feedbacks and to re-arrange licenses when needed
|
Active Users | # of active users in the last 30 days: Count(active users within the last 30 days)
# of active users: Count(active users) |
TRACE; USER_ACTIONS |
Top 5 Active Users per Role Last 30 Days: Count(actions per user per role within the last 30 days) filtered by top 5 users per their actions. | |||
Action Trends | # of active users per day: Count(active users) per day | ||
Top 5 Non Active Users | Top 5 Non Active Users: Top 5 users with longest duration (in days) since their last action | ||
Identify dashboard which are not in use to be able to analyze what are the reason for the poor engagement for further implementations. | Dashboards not in use | Dashboards not in use: Dashboard with less than 10 actions during the selected period | TRACE; DASHBOARDS |
Identify dashboards owners who gain better engagement so they could share their experience with others. | Dashboard per Owner | Avg: count(dashboards)/count(dashboard owners)
Max: Max(group by owner(count(dashboards)) |
TRACE; DASHBOARD_OWNERS |
# of Dashboards per Owner: count(dashboards) per owner |
Data Requirements
# | Source | Table Name | Table Details (Type, #Rows, Key field/s) |
1 | MongoDB | DASHBOARDS | SCD table, contains all dashboards data |
2 | ELASTICUBE | SCD table, contains all EC data | |
3 | TRACE | Fact Table, contains all transaction and actions within all dashboards by all users | |
4 | USER_ACTIONS | SCD table, contains all users data | |
5 | DASHBOARD_OWNERS | SCD table, contains all dashboards data | |
6 | TRACE_WIDGET_DASH_USERS | Key table to map between all tables’ keys |