High Level Design

Overview

As a data-driven organization that uses business intelligence tools and techniques to monitor and investigate various aspects of your company – sales, marketing, operations, etc., you might find it useful to also measure the implementation, success and usage of the BI platform within your organization. Understanding the way these systems are being used can help manage licenses, improve current dashboard and discover which data is the most interesting for your users.

Dashboard Example (sample data)

Click on the image to open and interact with the dashboard:

User Engagement - Software Dashboard

Goals

Increase user engagement with the BI solution in place.

Objectives

  • Identify popular dashboards to further investigate what makes them more useful\appealing than others.
  • Identify dashboards which are not being used to further investigate the reasons for low engagement.
  • Identify dashboard owners who gain better engagement so they can share their experience with others.
  • Identify more\less engaged users so we can find focal points for getting feedback and to re-arrange licenses if needed.

KPI 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

Data Modeling (Elasticube Design)

User Engagement Data Model