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
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
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.)
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 |
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 and duration 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 |
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 Waste
Purpose
Provides aggregated waste time data for learning sessions, capturing non-productive or off-task time identified by the insights system. 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) |
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)
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 and type. 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 |
Join Keys
- session_id: Join with Sessions dataset to get session details, timing, and student information