TimeBack Analytics Documentation
Overview
This document provides a comprehensive catalog of all analytical views available in the TimeBack platform's AWS QuickSight environment. Each view is designed to support specific analytical use cases while maintaining consistency, performance, and data governance standards across the analytics environment.
Data Sources:
- Staging: analytics_staging schema
- Production: analytics_production schema
Available Views
The following views are available in the TimeBack QuickSight environment, as part of the above data source and schema. Each view is documented with its purpose, available fields, and recommended join keys for cross-view analysis. Under the subtabs of this section, you will find the available views. You can link them together as needed in your own data sets.
Aggregated Session Attempts
Purpose
Provides session-level aggregated metrics for student attempts on learning resources. This dataset summarizes student performance within each session by counting total questions answered, questions answered correctly, and average attempt duration. It enables analysis of session-level engagement patterns and performance trends across students and time periods.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| session_id | String | Unique identifier for the session |
| student_id | String | Unique identifier for the student |
| date | Date | Date when the session's first attempt started |
| total_questions_answered | Integer | Total number of questions answered in the session |
| total_questions_correct | Integer | Total number of questions answered correctly in the session |
| avg_duration_sec | Decimal | Average duration in seconds across all attempts in the session (rounded to whole number); uses client-provided duration if available, otherwise calculated from start and end times |
Join Keys
- session_id: Join with Sessions dataset to get session details and timing information
- student_id: Join with Students dataset to get student details
Attempts
Purpose
Provides detailed information about student attempts on learning resources, including timing, duration, correctness data, and session association. This dataset combines engagement metrics (for lessons and curriculum items) with performance results (for questions), enabling comprehensive analysis of both time-on-task and answer accuracy within the context of learning sessions.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| student_id | String | Unique identifier for the student |
| resource_id | String | Unique identifier for the learning resource (can be a lesson, test, question, or other assignable content) |
| session_id | String | Unique identifier for the session associated with this attempt |
| date | Date | Date when the attempt started |
| start_time | DateTime | Timestamp when the attempt started |
| end_time | DateTime | Timestamp when the attempt ended |
| duration_sec | Decimal | Attempt duration in seconds (rounded); uses client-provided duration if available, otherwise calculated from start and end times |
| is_correct | Boolean | Whether the answer was correct (true if score given equals max score); null for non-question attempts |
Join Keys
- student_id: Join with Students dataset to get student details
- resource_id: Join with Questions, Tests, Lessons, or other content datasets to get resource details (type-specific joining may be needed)
- session_id: Join with Sessions dataset to get session details and timing information
Case Courses
Purpose
Provides CASE (Competency and Academic Standards Exchange) framework course data. Each record represents a course defined in the CASE framework, sourced from cf_item rows classified as Course type, enabling analysis of CASE-backed curriculum structure and subject alignment.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| id | String | Unique identifier for the CASE course (from cf_item.identifier) |
| title | String | Full statement/title of the CASE course (from cf_item.full_statement) |
| case_subject_id | String | Unique identifier for the associated CASE subject (from cf_item_subject.subject_id, nullable if no subject mapping exists) |
Join Keys
- id: Primary key for joining with curriculum-related datasets
- case_subject_id: Join with Case Subjects dataset to get subject details
Case Subjects
Purpose
Provides CASE (Competency and Academic Standards Exchange) framework subject data. Each record represents an academic subject defined in the CASE framework, enabling subject-level analysis for placement, curriculum alignment, and standards-based features.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| id | String | Unique identifier for the CASE subject |
| title | String | Human-readable subject name (e.g., Math, Reading, Science) |
| hierarchy_code | String | Publisher-designated code for the subject's position in the hierarchy |
| description | String | Optional human-readable description of the subject (nullable) |
Join Keys
- id: Primary key for joining with placement results and other CASE-framework-based datasets
Courses
Purpose
Provides information about curriculum courses and their relationship to subjects. This dataset enables analysis of course-level organization, subject alignment, and curriculum structure within the educational hierarchy.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| id | String | Unique identifier for the course |
| subject_id | String | Unique identifier for the subject containing this course |
| title | String | Course title (defaults to 'N/A' if neither name nor description is available) |
Join Keys
- id: Primary key for joining with course-related datasets (units, lessons, tests, etc.)
- subject_id: Join with Subjects dataset to get subject details
Curriculum Items
Purpose
Provides curriculum framework item data including courses, sections, topics, levels, and standards. Each record represents a curriculum item with its classification and descriptive information, enabling analysis of curriculum structure and linking mastery data to specific learning outcomes.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| curriculum_item_id | String | Unique identifier for the curriculum item |
| curriculum_item_title | String | Full statement/description of the curriculum item (e.g., course name, section name) |
| curriculum_item_code | String | Human-readable code for the curriculum item (e.g., standard code like "CCSS.MATH.1.OA.1") |
| curriculum_item_type | String | Type/category of the curriculum item (e.g., course, section, topic, level, standard) |
Join Keys
- curriculum_item_id: Join with Students Mastery dataset to link student mastery to curriculum items
Grades
Purpose
Provides grade level reference data aligned with CEDS (Common Education Data Standards) education levels. Each record represents a grade level with its identifier, label, and ordering, enabling grade-based analysis and sorting across placement and curriculum datasets.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| id | String | Unique identifier for the grade level |
| grade_identifier | String | CEDS education level code (e.g., KG, 01, 02, 12, PS) |
| label | String | Human-readable grade label (e.g., Kindergarten, Grade 1, Grade 12) |
| order_number | Integer | Numeric ordering for grade precedence, enabling correct sorting of grade levels |
Join Keys
- id: Primary key for joining with Placement Results dataset and other grade-referencing datasets
Learning App Subjects
Purpose
Provides the relationship between learning applications and their associated subjects. This dataset enables subject-level analysis of learning app usage, time tracking by subject, and filtering dashboards by subject within learning app contexts.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| learning_app_id | String | Unique identifier for the learning application (foreign key to learning_apps.id) |
| subject_title | String | Subject name associated with the learning application |
Join Keys
- learning_app_id: Foreign key for joining with learning_apps.id
- subject_title: Can be matched with subjects.title for curriculum subject lookups
Learning Apps
Purpose
Provides information about learning applications integrated with the TimeBack platform. This dataset enables analysis of application usage patterns and supports filtering and grouping by specific learning tools.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| id | String | Unique identifier for the learning application |
| name | String | Name of the learning application |
Join Keys
- id: Primary key for joining with any dataset that references learning applications (events, sessions, usage data, etc.)
Lessons
Purpose
Provides information about curriculum lessons available in the platform. This dataset enables analysis of lesson-level engagement, content organization, and curriculum coverage.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| id | String | Unique identifier for the lesson |
| title | String | Lesson title (defaults to 'N/A' if neither name nor description is available) |
Join Keys
- id: Primary key for joining with lesson-related datasets (attempts, questions, sessions, etc.)
Placement Results
Purpose
Provides placement test results showing each student's placement status and assigned grade level per subject. Each record represents a student-subject placement, enabling analysis of placement progress, grade distribution, and assessment completion rates.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| student_id | String | Unique identifier for the student |
| subject_id | String | Unique identifier for the CASE subject being assessed |
| grade_id | String | Identifier for the current placement grade level (nullable when placement has not yet determined a grade) |
| placement_status | String | Current status of the placement process: NotStarted, InProgress, or Completed |
| last_updated | DateTime | Timestamp of the most recent update to this placement record |
Join Keys
- student_id: Join with Students dataset to get student demographic and profile information
- subject_id: Join with Case Subjects dataset to get subject details
- grade_id: Join with Grades dataset to get grade level details (nullable)
Proctoring Insights
Purpose
Provides detailed proctoring insight events for learning sessions, capturing individual confirmed proctoring violations with their type, timing, and duration. Only includes insights from proctored sessions where is_visible is true. Insight types that require review (per insights_config) are only included if they have a TruePositive review result. Each record represents a single proctoring event (e.g., Help From Another Person, Unauthorized App Use, Unauthorized Device Use) identified during a session.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| session_id | String | Unique identifier for the session where this proctoring event occurred |
| insight_type | String | Type of proctoring insight (e.g., HelpFromAnotherPerson, UnauthorizedAppUse, UnauthorizedDeviceUse) |
| started_at_time | DateTime | Timestamp when the proctoring event started |
| ended_at_time | DateTime | Timestamp when the proctoring event ended |
| duration_sec | Decimal | Duration of the proctoring event in seconds, calculated from the insight start and end times |
Join Keys
- session_id: Join with Sessions dataset to get session details, timing, and student information
Questions
Purpose
Provides information about assessment questions and their hierarchical relationships to tests and lessons. This dataset enables analysis of question-level performance, content organization, and curriculum mapping.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| id | String | Unique identifier for the question |
| title | String | Question title, derived from entity name or description (defaults to 'N/A' if neither is available) |
| test_id | String | Unique identifier for the test containing this question |
| lesson_id | String | Unique identifier for the lesson containing the test |
| type | String | Question type derived from the assessment item mediaType (e.g., quiz, guiding) |
Join Keys
- id: Primary key for joining with question-level datasets (responses, results, performance data, etc.)
- test_id: Join with Tests dataset to get test details
- lesson_id: Join with Lessons dataset to get lesson details
Resource Relations
Purpose
Provides relationship data between resources in the curriculum hierarchy. Each record represents a directional relationship from a source resource to a destination resource, enabling analysis of curriculum structure, content organization, and hierarchical navigation between entities like courses, units, lessons, tests, and questions.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| source_resource_id | String | Unique identifier for the source resource in the relationship |
| destination_resource_id | String | Unique identifier for the destination resource in the relationship |
| relationship_type | String | Type of relationship between resources (e.g., 'isPartOf' indicates the source is contained within the destination) |
| item_order | Integer | Ordering/sequence of the source resource within its relationship to the destination (nullable) |
Join Keys
- source_resource_id: Join with any resource dataset (Courses, Units, Lessons, Tests, Questions, etc.) using their id field
- destination_resource_id: Join with any resource dataset to get the related/parent resource details
Sessions
Purpose
Provides detailed information about learning sessions, including timing, duration, and proctoring data. This dataset enables analysis of student engagement patterns, time-on-task, and session-based learning activities across different applications.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| id | String | Unique identifier for the session |
| student_id | String | Unique identifier for the student |
| learning_app_id | String | Unique identifier for the learning application |
| date | Date | Date when the session started |
| start_time | DateTime | Timestamp when the session started |
| end_time | DateTime | Timestamp when the session ended |
| duration_sec | Decimal | Session duration in seconds |
| webcam_enabled | Boolean | Whether the webcam was enabled for this session |
| is_proctored | Boolean | Whether this session was proctored |
Join Keys
- id: Primary key for joining with event-level or session-related datasets
- student_id: Join with Students dataset to get student details
- learning_app_id: Join with Learning Apps dataset to get application details
Sessions Proctoring
Purpose
Provides aggregated proctoring violation time data for learning sessions, capturing total confirmed proctoring event duration per session. Only includes insights from proctored sessions where is_visible is true. Insight types that require review (per insights_config) are only included if they have a TruePositive review result. Overlapping proctoring events are merged to avoid double-counting. This dataset enables analysis of proctoring violation severity across sessions.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| session_id | String | Unique identifier for the session |
| proctoring_duration_sec | Decimal | Total proctoring violation time in seconds, calculated as the sum of all proctoring insight durations for the session (rounded, with overlapping events merged) |
Join Keys
- session_id: Join with Sessions dataset using the id field to get session details, timing, and student information
Sessions Waste
Purpose
Provides aggregated waste time data for learning sessions, capturing non-productive or off-task time identified by the insights system. Only includes insights where is_visible is true. Insight types that require review (per insights_config) are only included if they have a TruePositive review result. This dataset enables analysis of student focus, distraction patterns, and effective learning time across sessions.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| session_id | String | Unique identifier for the session |
| waste_duration_sec | Decimal | Total waste time in seconds, calculated as the sum of all insight durations for the session (rounded) |
Join Keys
- session_id: Join with Sessions dataset using the id field to get session details, timing, and student information
Student Journals
Purpose
Provides journal entries captured during learning sessions. This dataset enables analysis of student reflections, self-reported observations, and qualitative feedback recorded through the platform.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| id | String | Unique identifier for the journal entry |
| student_id | String | Unique identifier for the student who created the journal entry |
| session_id | String | Unique identifier for the session in which the journal was created |
| learning_app_id | String | Unique identifier for the learning application |
| journal_text | String | Content of the journal entry |
| date | Date | Date when the journal entry was created |
| timestamp | DateTime | Timestamp when the journal entry was created |
Join Keys
- id: Primary key for the journal entry
- student_id: Join with Students dataset to get student details
- session_id: Join with Sessions dataset using the id field to get session details and timing
- learning_app_id: Join with Learning Apps dataset to get application details
Students
Purpose
Provides core student identification and contact information. This is the foundational dataset for joining student-related data across all other datasets in the analytics environment.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| id | String | Unique identifier for the student |
| name | String | Full name of the student |
| String | Student email address |
Join Keys
- id: Primary key for joining with any student-related dataset (performance, events, enrollments, etc.)
Students Enrollments
Purpose
Provides information about student enrollments in organizations. This dataset enables analysis of student-organization relationships and supports filtering and grouping by organizational affiliation.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| student_id | String | Unique identifier for the student |
| organization_name | String | Name of the organization the student is enrolled in |
Join Keys
- student_id: Join with Students dataset to get student details
Students Mastery
Purpose
Provides student mastery data showing achievement levels across curriculum items. Each record represents a student's mastery percentage for a specific curriculum item, enabling analysis of learning progress, curriculum effectiveness, and student performance trends.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| student_id | String | Unique identifier for the student |
| mastery_percentage | Decimal | Student mastery level as a percentage (0-100), calculated from the credential result value |
| curriculum_item_id | String | Identifier for the curriculum item (e.g., learning objective, standard) that the mastery relates to (nullable) |
| mastery_timestamp | DateTime | Timestamp when the mastery credential was originally awarded (nullable) |
| learning_app_id | String | Unique identifier for the learning application associated with the mastered curriculum item (nullable) |
Join Keys
- student_id: Join with Students dataset to get student demographic and profile information
- curriculum_item_id: Can be used to link to curriculum_item data (nullable)
- learning_app_id: Join with Learning Apps dataset to get application details (nullable)
Students Xp
Purpose
Provides a comprehensive record of experience points (XP) earned by students across different learning applications and sessions. This dataset tracks all XP transactions, enabling analysis of student engagement patterns, learning progression, and gamification effectiveness. Each record represents an XP-earning event linked to its originating Caliper event and associated session.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| student_id | String | Unique identifier for the student who earned the XP |
| learning_app_id | String | Unique identifier for the learning application/tool where the XP was earned |
| session_id | String | Unique identifier for the session in which the XP was earned |
| date | Date | Date when the XP was earned (extracted from creation timestamp) |
| total_value | Decimal | Amount of XP earned in this transaction |
Join Keys
- student_id: Join with Students dataset to get student demographic and profile information
- learning_app_id: Join with Learning Apps dataset to get application details and metadata
- session_id: Join with Sessions dataset to get session context, timing, and related activities
Subjects
Purpose
Provides information about curriculum subjects available in the platform. This dataset enables analysis of subject-level organization, content categorization, and high-level curriculum structure.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| id | String | Unique identifier for the subject |
| title | String | Subject title (defaults to 'N/A' if neither name nor description is available) |
Join Keys
- id: Primary key for joining with subject-related datasets (courses, units, lessons, etc.)
Tests
Purpose
Provides information about assessments and their relationship to lessons. This dataset enables analysis of test-level performance, assessment organization, and curriculum alignment.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| id | String | Unique identifier for the test |
| lesson_id | String | Unique identifier for the lesson containing this test |
| title | String | Test title (defaults to 'N/A' if neither name nor description is available) |
Join Keys
- id: Primary key for joining with test-related datasets (questions, attempts, results, etc.)
- lesson_id: Join with Lessons dataset to get lesson details
Units
Purpose
Provides information about curriculum units and their relationship to courses. This dataset enables analysis of unit-level organization, course alignment, and detailed curriculum structure within the educational hierarchy.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| id | String | Unique identifier for the unit |
| course_id | String | Unique identifier for the course containing this unit |
| title | String | Unit title (defaults to 'N/A' if neither name nor description is available) |
Join Keys
- id: Primary key for joining with unit-related datasets (lessons, tests, questions, etc.)
- course_id: Join with Courses dataset to get course details
Waste Insights
Purpose
Provides detailed waste time insights for learning sessions, capturing individual waste events with their duration, type, and timing. Only includes insights where is_visible is true. Insight types that require review (per insights_config) are only included if they have a TruePositive review result. Each record represents a single insight/distraction event identified during a session, enabling granular analysis of waste patterns, distraction types, and their impact on learning time.
Fields
| Field Name | Data Type | Description |
|---|---|---|
| waste_duration_sec | Decimal | Duration of the waste/distraction event in seconds, calculated from the insight start and end times |
| waste_type | String | Type/category of the waste event (e.g., EyesOffScreen, Idling) |
| session_id | String | Unique identifier for the session where this waste event occurred |
| started_at_time | DateTime | Timestamp when the waste event started |
| ended_at_time | DateTime | Timestamp when the waste event ended |
Join Keys
- session_id: Join with Sessions dataset to get session details, timing, and student information
