The Data Warehouse integration allows you to view all the Maestro grading data in your internal database. This gives you the flexibility to create whatever reports your team needs.  This also opens the door for much more sophisticated reporting, particularly  the ability to combine Maestro QA data with all your other data.  Enabling you to tie all your QA processes with the business metrics you care about.

This article will describe how all your Maestro data is broken up into the different tables and columns. As a warning, this article will go into some amount of technical detail. At the end of the article we will provide an example of a query to mimic a basic report Maestro  provides.

In addition to this document, please see this reference for additional details and copyable schema and dashboard files: https://github.com/adtribute/looker-maestroqa that you can use directly in Looker or adapt to use in various other BI tools.

Table Overview

Rubric Tables

There are 5 tables which collectively describe all of your rubrics, i.e. your grading templates, that you create here  https://app.maestroqa.com/settings/rubrics .
These tables are the sql-normalized storage of your Rubrics. In terms of actually using these tables for building queries, they essentially provide named labels/descriptions as Foreign Keys to the  corresponding 'Score' tables described in 'Score Tables' below.

The tables are:

  1. templates
  2. sections
  3. questions
  4. custom_options
  5. feedback_options

Score Tables

There are 5 tables which hold the information of each grade you make. There is one score table per Rubric Table, which represent the parts of a  template 'filled out' .  These tables actually hold all your QA scores, and will be the primary tables you use to create reports from.  As mentioned above each table has a foreign key(s) into one or more 'Rubric Tables'. These will be described in detail in the 'Tables Descriptions' section.

The tables are:

  1. answers
  2. section_scores
  3. question_scores
  4. option_selections
  5. feedback_selections

Annotations Table

There is 1 table that holds the information for the annotations made on grades. This table has foreign keys to the answers table and to the templates table.

The table is:

  1. annotations

Agents / Group Tables

There are 2 tables which hold basic info of your agents & the Maestro groups they are in. This allows you to easily create reports for certain groups, by joining into these tables & filtering on the relevant groups.

The tables are:

  1. helpdesk_id_email
  2. user_groups

Appeals Tables

There are 3 tables that hold the information for appeals to grades. Each appeal has a unique appeal_id. Comments exchanged during the appeal process are in appeal_comments, and the original and updated grades are in appeal_answers.

The tables are:

  1. appeals
  2. appeal_comments
  3. appeal_answers

Tables Descriptions

Here we in detail describe the tables and their columns

Rubric Tables

templates   


sections 


questions   


custom_options    


feedback_options

Score Tables

answers     


section_scores   

question_scores  


option_selections       


feedback_selections


Annotations Table

annotations

Agents / Group Tables

helpdesk_id_email


user_groups


Appeals Tables

appeals


appeal_comments


appeal_answers

Example Query 

To give you a concrete example of how to use this data, we'll mimic a basic Maestro Report. Let's mimic this group report, as an example

This report is for 1 group 'Test Group',  split on 3 specified rubrics, graded in March.

To mirror this report we'd use this query:

We first set the relevant time zone. Since all dates are stored in UTC & we are based out of NYC, we'll use America/New_York, i.e:

Then to get those 3 values, we would use this query:

There is a lot going on here, so let me point out 3 important pieces:

  1. Time filtering: 

To mimic the Dashboard's 'graded at' time axis, we use answers.updated_at field. 

2. Agent availability:

Some default Maestro reports will only counting grades whose 'gradee_id' is an 'Available' agent. The question to include agents you are no longer grading doesn't have a consistent answer, it depends what you want!

3. 'default Score filters'

 By default almost all Maestros reports will include these first 3 filters, and if you are NOT doing calibration reporting, then you probably only want to look at answers whose 'answer_type' is 'grading'. 

Did this answer your question?