> For the complete documentation index, see [llms.txt](https://resources.unizin.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://resources.unizin.org/products/data-and-analytics/unizin-data-platform/release-notes/udp-marts-release-notes/1.0.78.md).

# 1.0.78

UDP Marts

## Taskforce, Tool Usage Metrics, and Student Activity Score Logic/Calc Changes

| Version      | 1.0.78            |
| ------------ | ----------------- |
| Release Date | November 21, 2024 |

## Key Features

### [Taskforce Marts](/products/data-and-analytics/unizin-data-platform/data-stores/data-marts/taskforce.md)

* Adding considerations for `academic_session` dates when resolving `week_in_term` numbers. Making this logic consistent with the student activity score and other UDP data marts.
* Introducing a new helper table called `mart_helper.context__taskforce__assignments_submissions` that helps pre-aggregate assignment and submission data. Within this helper table, we introduce an `is_quiz` boolean field to designate whether assignments and submissions are quizzes.
* Introducing `_cumulative_` fields for submission scoring fields (e.g. `avg_published_score` now has a cumulative variant called `avg_published_score_cumulative`). The non-cumulative field only has scope of its `week_in_term`. The corresponding cumulative fields have scope of the its `week_in_term` and all previous weeks.

### [Tool Usage Metrics](/products/data-and-analytics/unizin-data-platform/data-stores/data-marts/tool-usage-metrics.md)

* Introduced new helper table called `mart_helper.event__general__tool_usage_preagg` that helps preaggregate the Caliper tool usage data. This allows us to make some schema and granularity improvements to the final mart.
* We introduce 1-hour, 6-hour, and 12-hour metric fields in `mart_general.tool_usage_metrics`. This now allows usage tracking of each Caliper-emitting tool to be done at an hourly level. The datamart now updates once-per-hour instead of once-per-day.
* A new flag called `low_hourly_events_flag` that signals if we see strangely low activity in the last hour for a tool. The logic for setting the values of this flag is tiered and explained in the mart documentation page linked above. This flag can be leveraged for any reporting or alerting; however, it is a downstream calculation and is not on its own authoritative to denote an outage.

### [Student Activity Score](/products/data-and-analytics/unizin-data-platform/data-stores/data-marts/student-activity-score.md)

* We removed a filter to require `sis_ext_id` for students to be included in the student activity score marts. Removing this filter makes these marts more useful for tenants without SIS data ingested into the UDP.
* We removed a hard filter for requiring 10 enrolled students in courses/course\_sections to compute a student activity score. We now added a boolean flag called `course_has_10_or_more_students` in the `course_final` and `course_section_final` table. If users wish to replicate results that stay true to the 10-student requirement, including `WHERE course_has_10_or_more_students = 1` in user queries will make that happen.
* The 10-enrolled student filter is still enforced in the `final` mart table. The scope of this mart is beyond any single course, so we decided to keep the 10-student filter for the `final` mart table.
