Skip to main content
    UpperClassUpperClass

    Student Content Impact

    Aggregate, platform-level statistics on student-generated content across every UpperClass institution. Every figure below is computed on a schedule and stored with its methodology, source-row count, and computation SQL. Nothing on this page is hardcoded or fabricated.

    Consent posture: individual institutions are named only if they have explicitly opted in. Platform-level figures never identify a single institution.

    Platform statistics

    Observed AI-referred visits, last 30 days (floor)

    5.4%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Aggregated server-side (no row-fetch cap). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 56 · Computed: 2026-07-23

    Observed AI-referred visits, last 30 days (floor)

    5.6%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 54 · Computed: 2026-07-16

    Observed AI-referred visits, last 30 days (floor)

    7.0%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Aggregated server-side (no row-fetch cap). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 43 · Computed: 2026-07-29

    Observed AI-referred visits, last 30 days (floor)

    6.1%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 49 · Computed: 2026-07-14

    Observed AI-referred visits, last 30 days (floor)

    7.5%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Aggregated server-side (no row-fetch cap). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 40 · Computed: 2026-08-01

    Observed AI-referred visits, last 30 days (floor)

    5.5%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Aggregated server-side (no row-fetch cap). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 55 · Computed: 2026-07-24

    Observed AI-referred visits, last 30 days (floor)

    5.5%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 55 · Computed: 2026-07-17

    Observed AI-referred visits, last 30 days (floor)

    6.8%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Aggregated server-side (no row-fetch cap). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 44 · Computed: 2026-07-27

    Observed AI-referred visits, last 30 days (floor)

    7.5%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Aggregated server-side (no row-fetch cap). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 40 · Computed: 2026-08-03

    Observed AI-referred visits, last 30 days (floor)

    5.4%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Aggregated server-side (no row-fetch cap). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 56 · Computed: 2026-07-22

    Observed AI-referred visits, last 30 days (floor)

    5.9%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 51 · Computed: 2026-07-15

    Observed AI-referred visits, last 30 days (floor)

    5.4%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 56 · Computed: 2026-07-18

    Observed AI-referred visits, last 30 days (floor)

    6.8%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Aggregated server-side (no row-fetch cap). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 44 · Computed: 2026-07-26

    Observed AI-referred visits, last 30 days (floor)

    7.3%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Aggregated server-side (no row-fetch cap). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 41 · Computed: 2026-07-31

    Observed AI-referred visits, last 30 days (floor)

    6.5%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 46 · Computed: 2026-07-13

    Observed AI-referred visits, last 30 days (floor)

    6.5%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 46 · Computed: 2026-07-13

    Observed AI-referred visits, last 30 days (floor)

    5.4%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Aggregated server-side (no row-fetch cap). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 56 · Computed: 2026-07-19

    Observed AI-referred visits, last 30 days (floor)

    6.5%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Aggregated server-side (no row-fetch cap). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 46 · Computed: 2026-07-25

    Observed AI-referred visits, last 30 days (floor)

    5.4%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Aggregated server-side (no row-fetch cap). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 56 · Computed: 2026-07-21

    Observed AI-referred visits, last 30 days (floor)

    7.5%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Aggregated server-side (no row-fetch cap). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 40 · Computed: 2026-08-02

    Observed AI-referred visits, last 30 days (floor)

    5.4%
    percent
    Methodology

    From engagement_events over the last 30 days, share of events whose classified referrer_class is 'ai_chat' or 'ai_search' (see src/lib/referrerClass.ts). Aggregated server-side (no row-fetch cap). Reported as a floor because many AI tools send no HTTP referrer — actual share is higher.

    Source rows: 56 · Computed: 2026-07-20

    Published-content growth, last 90 days vs prior 90 days

    +490.0%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 69 · Computed: 2026-07-20

    Published-content growth, last 90 days vs prior 90 days

    +330.8%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 69 · Computed: 2026-07-24

    Published-content growth, last 90 days vs prior 90 days

    +330.8%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 69 · Computed: 2026-08-02

    Published-content growth, last 90 days vs prior 90 days

    +490.0%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 69 · Computed: 2026-07-21

    Published-content growth, last 90 days vs prior 90 days

    +330.8%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 69 · Computed: 2026-07-23

    Published-content growth, last 90 days vs prior 90 days

    +490.0%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 69 · Computed: 2026-07-22

    Published-content growth, last 90 days vs prior 90 days

    +100.0%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 30 · Computed: 2026-07-14

    Published-content growth, last 90 days vs prior 90 days

    +330.8%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 69 · Computed: 2026-08-01

    Published-content growth, last 90 days vs prior 90 days

    +100.0%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 30 · Computed: 2026-07-15

    Published-content growth, last 90 days vs prior 90 days

    +330.8%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 69 · Computed: 2026-07-31

    Published-content growth, last 90 days vs prior 90 days

    +231.3%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 69 · Computed: 2026-08-03

    Published-content growth, last 90 days vs prior 90 days

    +120.0%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 32 · Computed: 2026-07-16

    Published-content growth, last 90 days vs prior 90 days

    +330.8%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 69 · Computed: 2026-07-29

    Published-content growth, last 90 days vs prior 90 days

    +100.0%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 30 · Computed: 2026-07-13

    Published-content growth, last 90 days vs prior 90 days

    +120.0%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 32 · Computed: 2026-07-17

    Published-content growth, last 90 days vs prior 90 days

    +330.8%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 69 · Computed: 2026-07-27

    Published-content growth, last 90 days vs prior 90 days

    +100.0%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 30 · Computed: 2026-07-13

    Published-content growth, last 90 days vs prior 90 days

    +120.0%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 32 · Computed: 2026-07-18

    Published-content growth, last 90 days vs prior 90 days

    +330.8%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 69 · Computed: 2026-07-26

    Published-content growth, last 90 days vs prior 90 days

    +490.0%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 69 · Computed: 2026-07-19

    Published-content growth, last 90 days vs prior 90 days

    +330.8%
    percent
    Methodology

    Compares count of published content_submissions rows created in the last 90 days against the prior 90-day window. If the prior window is zero, growth is reported as +100% when there is any recent activity, otherwise 0%.

    Source rows: 69 · Computed: 2026-07-25

    Published student stories on the platform

    30
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 30 · Computed: 2026-07-13

    Published student stories on the platform

    30
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 30 · Computed: 2026-07-13

    Published student stories on the platform

    30
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 30 · Computed: 2026-07-14

    Published student stories on the platform

    30
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 30 · Computed: 2026-07-15

    Published student stories on the platform

    32
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 32 · Computed: 2026-07-16

    Published student stories on the platform

    32
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 32 · Computed: 2026-07-17

    Published student stories on the platform

    32
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 32 · Computed: 2026-07-18

    Published student stories on the platform

    69
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 69 · Computed: 2026-07-19

    Published student stories on the platform

    69
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 69 · Computed: 2026-07-20

    Published student stories on the platform

    69
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 69 · Computed: 2026-07-21

    Published student stories on the platform

    69
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 69 · Computed: 2026-07-22

    Published student stories on the platform

    69
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 69 · Computed: 2026-07-23

    Published student stories on the platform

    69
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 69 · Computed: 2026-07-24

    Published student stories on the platform

    69
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 69 · Computed: 2026-07-25

    Published student stories on the platform

    69
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 69 · Computed: 2026-07-26

    Published student stories on the platform

    69
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 69 · Computed: 2026-07-27

    Published student stories on the platform

    69
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 69 · Computed: 2026-07-29

    Published student stories on the platform

    69
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 69 · Computed: 2026-07-31

    Published student stories on the platform

    69
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 69 · Computed: 2026-08-01

    Published student stories on the platform

    69
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 69 · Computed: 2026-08-02

    Published student stories on the platform

    69
    stories
    Methodology

    Count of content_submissions rows where status='published' AND deleted_at IS NULL. Excludes drafts, moderation holds, and soft-deleted rows. Includes every institution regardless of consent flag (aggregate only, no institution named).

    Source rows: 69 · Computed: 2026-08-03

    Active creator participation, last 90 days

    9.8%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 184 · Computed: 2026-07-29

    Active creator participation, last 90 days

    9.0%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 189 · Computed: 2026-07-13

    Active creator participation, last 90 days

    8.8%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 194 · Computed: 2026-07-15

    Active creator participation, last 90 days

    9.8%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 183 · Computed: 2026-07-26

    Active creator participation, last 90 days

    9.8%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 184 · Computed: 2026-08-02

    Active creator participation, last 90 days

    9.8%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 184 · Computed: 2026-07-31

    Active creator participation, last 90 days

    9.0%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 201 · Computed: 2026-07-17

    Active creator participation, last 90 days

    8.9%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 191 · Computed: 2026-07-14

    Active creator participation, last 90 days

    8.8%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 204 · Computed: 2026-07-24

    Active creator participation, last 90 days

    9.0%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 201 · Computed: 2026-07-18

    Active creator participation, last 90 days

    9.8%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 184 · Computed: 2026-08-01

    Active creator participation, last 90 days

    9.5%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 201 · Computed: 2026-07-21

    Active creator participation, last 90 days

    9.8%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 183 · Computed: 2026-07-27

    Active creator participation, last 90 days

    9.5%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 201 · Computed: 2026-07-22

    Active creator participation, last 90 days

    8.2%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 195 · Computed: 2026-08-03

    Active creator participation, last 90 days

    9.1%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 198 · Computed: 2026-07-16

    Active creator participation, last 90 days

    9.5%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 201 · Computed: 2026-07-19

    Active creator participation, last 90 days

    9.0%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 201 · Computed: 2026-07-23

    Active creator participation, last 90 days

    9.0%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 189 · Computed: 2026-07-13

    Active creator participation, last 90 days

    9.5%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 201 · Computed: 2026-07-20

    Active creator participation, last 90 days

    8.8%
    percent
    Methodology

    Distinct creator_profile_id values that authored at least one published, non-deleted content_submission in the last 90 days, divided by the total count of student_creator_profiles rows. Never derived from activity_points (known ledger drift).

    Source rows: 204 · Computed: 2026-07-25

    Average engagement events per campaign, last 30 days

    0.0
    events / campaign
    Methodology

    Sum of engagement_events with a non-null campaign_id over the last 30 days, divided by the count of distinct campaigns observed in the same window. Aggregated server-side so results don't cap at 1000 rows.

    Source rows: 0 · Computed: 2026-07-20

    Average engagement events per content item, last 30 days

    0.0
    events / item
    Methodology

    Sum of engagement_events with a non-null content_id over the last 30 days, divided by the count of distinct content items observed in the same window. Includes page views and link clicks tracked cookielessly on public tenant surfaces.

    Source rows: 0 · Computed: 2026-07-13

    Average engagement events per campaign, last 30 days

    0.0
    events / campaign
    Methodology

    Sum of engagement_events with a non-null campaign_id over the last 30 days, divided by the count of distinct campaigns observed in the same window. Aggregated server-side so results don't cap at 1000 rows.

    Source rows: 0 · Computed: 2026-07-19

    Average engagement events per campaign, last 30 days

    0.0
    events / campaign
    Methodology

    Sum of engagement_events with a non-null campaign_id over the last 30 days, divided by the count of distinct campaigns observed in the same window. Aggregated server-side so results don't cap at 1000 rows.

    Source rows: 0 · Computed: 2026-07-25

    Average engagement events per campaign, last 30 days

    0.0
    events / campaign
    Methodology

    Sum of engagement_events with a non-null campaign_id over the last 30 days, divided by the count of distinct campaigns observed in the same window. Aggregated server-side so results don't cap at 1000 rows.

    Source rows: 0 · Computed: 2026-08-02

    Average engagement events per content item, last 30 days

    0.0
    events / item
    Methodology

    Sum of engagement_events with a non-null content_id over the last 30 days, divided by the count of distinct content items observed in the same window. Includes page views and link clicks tracked cookielessly on public tenant surfaces.

    Source rows: 0 · Computed: 2026-07-18

    Average engagement events per campaign, last 30 days

    0.0
    events / campaign
    Methodology

    Sum of engagement_events with a non-null campaign_id over the last 30 days, divided by the count of distinct campaigns observed in the same window. Aggregated server-side so results don't cap at 1000 rows.

    Source rows: 0 · Computed: 2026-07-26

    Average engagement events per content item, last 30 days

    0.0
    events / item
    Methodology

    Sum of engagement_events with a non-null content_id over the last 30 days, divided by the count of distinct content items observed in the same window. Includes page views and link clicks tracked cookielessly on public tenant surfaces.

    Source rows: 0 · Computed: 2026-07-17

    Average engagement events per campaign, last 30 days

    0.0
    events / campaign
    Methodology

    Sum of engagement_events with a non-null campaign_id over the last 30 days, divided by the count of distinct campaigns observed in the same window. Aggregated server-side so results don't cap at 1000 rows.

    Source rows: 0 · Computed: 2026-07-27

    Average engagement events per content item, last 30 days

    0.0
    events / item
    Methodology

    Sum of engagement_events with a non-null content_id over the last 30 days, divided by the count of distinct content items observed in the same window. Includes page views and link clicks tracked cookielessly on public tenant surfaces.

    Source rows: 0 · Computed: 2026-07-16

    Average engagement events per campaign, last 30 days

    0.0
    events / campaign
    Methodology

    Sum of engagement_events with a non-null campaign_id over the last 30 days, divided by the count of distinct campaigns observed in the same window. Aggregated server-side so results don't cap at 1000 rows.

    Source rows: 0 · Computed: 2026-07-29

    Average engagement events per content item, last 30 days

    0.0
    events / item
    Methodology

    Sum of engagement_events with a non-null content_id over the last 30 days, divided by the count of distinct content items observed in the same window. Includes page views and link clicks tracked cookielessly on public tenant surfaces.

    Source rows: 0 · Computed: 2026-07-15

    Average engagement events per campaign, last 30 days

    0.0
    events / campaign
    Methodology

    Sum of engagement_events with a non-null campaign_id over the last 30 days, divided by the count of distinct campaigns observed in the same window. Aggregated server-side so results don't cap at 1000 rows.

    Source rows: 0 · Computed: 2026-07-31

    Average engagement events per content item, last 30 days

    0.0
    events / item
    Methodology

    Sum of engagement_events with a non-null content_id over the last 30 days, divided by the count of distinct content items observed in the same window. Includes page views and link clicks tracked cookielessly on public tenant surfaces.

    Source rows: 0 · Computed: 2026-07-13

    Average engagement events per content item, last 30 days

    0.0
    events / item
    Methodology

    Sum of engagement_events with a non-null content_id over the last 30 days, divided by the count of distinct content items observed in the same window. Includes page views and link clicks tracked cookielessly on public tenant surfaces.

    Source rows: 0 · Computed: 2026-07-14

    Average engagement events per campaign, last 30 days

    0.0
    events / campaign
    Methodology

    Sum of engagement_events with a non-null campaign_id over the last 30 days, divided by the count of distinct campaigns observed in the same window. Aggregated server-side so results don't cap at 1000 rows.

    Source rows: 0 · Computed: 2026-08-01

    Average engagement events per campaign, last 30 days

    0.0
    events / campaign
    Methodology

    Sum of engagement_events with a non-null campaign_id over the last 30 days, divided by the count of distinct campaigns observed in the same window. Aggregated server-side so results don't cap at 1000 rows.

    Source rows: 0 · Computed: 2026-07-22

    Average engagement events per campaign, last 30 days

    0.0
    events / campaign
    Methodology

    Sum of engagement_events with a non-null campaign_id over the last 30 days, divided by the count of distinct campaigns observed in the same window. Aggregated server-side so results don't cap at 1000 rows.

    Source rows: 0 · Computed: 2026-08-03

    Average engagement events per campaign, last 30 days

    0.0
    events / campaign
    Methodology

    Sum of engagement_events with a non-null campaign_id over the last 30 days, divided by the count of distinct campaigns observed in the same window. Aggregated server-side so results don't cap at 1000 rows.

    Source rows: 0 · Computed: 2026-07-23

    Average engagement events per campaign, last 30 days

    0.0
    events / campaign
    Methodology

    Sum of engagement_events with a non-null campaign_id over the last 30 days, divided by the count of distinct campaigns observed in the same window. Aggregated server-side so results don't cap at 1000 rows.

    Source rows: 0 · Computed: 2026-07-21

    Average engagement events per campaign, last 30 days

    0.0
    events / campaign
    Methodology

    Sum of engagement_events with a non-null campaign_id over the last 30 days, divided by the count of distinct campaigns observed in the same window. Aggregated server-side so results don't cap at 1000 rows.

    Source rows: 0 · Computed: 2026-07-24

    Institution statistics (opted-in only)

    No institutions have opted in to be named in public insights yet. When an institution enables the consent flag in their admin settings, their figures appear here.

    Methodology footnote

    Statistics are recomputed by a scheduled Supabase edge function (compute-published-insights, daily 06:00 UTC) and stored in the published_insights table. The public page reads through the get_published_insights() RPC and renders only rows that carry methodology and source-row-count evidence — a database CHECK constraint enforces this at write time. No figure on this page is derived from activity_points (known ledger drift).

    Machine-readable mirror: /insights/student-content-impact/index.md.txt. Same numbers, same rounding, plus a schema.org/Dataset block embedded in this page for AI ingestion.