-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/participating student #247
base: main
Are you sure you want to change the base?
Conversation
… feature/participating_student
- includes changes to course-structure to map to appropriate content areas - creates 2 reporting tables. TBD if these should be views rather than fct tables
…docs to describe the fct tables.
… feature/participating_student
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left some comments mostly in the base models, about grouping modular content.
Everything else looks good.
Date: 11/30/24 | ||
Purpose: Used for establishing 2030 participating student goals | ||
Description: | ||
This dim file creates a row for each student, grade band, course_or_module and then the qualifying date (1 day for ES, 5 days for HS) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One row by school year?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, one for each school year - will correct that
Purpose: Used for establishing 2030 participating student goals | ||
Description: | ||
This dim file creates a row for each student, grade band, course_or_module and then the qualifying date (1 day for ES, 5 days for HS) | ||
NOTE: int_participating_students can have multiple rows for a given student, school_year, and grade band. This file cannot - we show only their first qualifying date |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First qualifying date for a student by grade band and school year? So, a student can have one record each for different school year-grade band combinations
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I will clarify that
Edit log: | ||
|
||
Description | ||
- Unique US students with 1+ touchpoint of ES curriculum + 40% uplift |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does the 40% uplift mean? Is this for this model or for the goals calculation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
40% is Karim's expectation of how many new students we'll get at the elementary level when we can bring in anonymous students. It's imperfect and will be replaced with actual numbers we get user-reconciled data from statsig. But in the meantime, that 40% bump is baked into both the 2024 numbers and the 2030 numbers, so I want the tables to reflect it so there's less confusion.
when dssla.content_area = 'curriculum_9_12' then 'HS' | ||
else NULL | ||
end grade_band | ||
, case when dssla.course_name like '%special topics' then unit_name |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some of the standalone units are different units of the same topic, for example, under the general topic of Exploring Gen AI there are two units, under four scripts:
Unit 1 = foundations-gen-ai
and exploring-gen-ai1
Unit 2 = customizing-llms
and exploring-gen-ai2
So I would treat all special topics as one course, or classify each of them by grouping the units. Otherwise, you only count students who do five days of each specific unit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good callout - thank you! Will work on this.
…e and simply making it 5 days of activity within the special topics for that grade band
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks good, I left some suggestions for formatting and to add the week number and day of the week to enable easier comparisons
dbt/models/reporting_views/participating_students/daily_participating_students.sql
Outdated
Show resolved
Hide resolved
dbt/models/reporting_views/participating_students/daily_participating_students.sql
Outdated
Show resolved
Hide resolved
dbt/models/reporting_views/participating_students/daily_participating_students.sql
Show resolved
Hide resolved
dbt/models/reporting_views/participating_students/yearly_participating_students.sql
Outdated
Show resolved
Hide resolved
dbt/models/reporting_views/participating_students/yearly_participating_students.sql
Outdated
Show resolved
Hide resolved
dbt/models/reporting_views/participating_students/yearly_participating_students.sql
Outdated
Show resolved
Hide resolved
dbt/models/reporting_views/participating_students/yearly_participating_students.sql
Outdated
Show resolved
Hide resolved
dbt/models/reporting_views/participating_students/yearly_participating_students.sql
Outdated
Show resolved
Hide resolved
dbt/models/reporting_views/participating_students/yearly_participating_students.sql
Outdated
Show resolved
Hide resolved
…ipating_students.sql Co-authored-by: Natalia Zacipa Mejia <[email protected]>
…ipating_students.sql Co-authored-by: Natalia Zacipa Mejia <[email protected]>
…ipating_students.sql Co-authored-by: Natalia Zacipa Mejia <[email protected]>
…cipating_students.sql Co-authored-by: Natalia Zacipa Mejia <[email protected]>
…cipating_students.sql Co-authored-by: Natalia Zacipa Mejia <[email protected]>
…cipating_students.sql Co-authored-by: Natalia Zacipa Mejia <[email protected]>
…cipating_students.sql Co-authored-by: Natalia Zacipa Mejia <[email protected]>
…cipating_students.sql Co-authored-by: Natalia Zacipa Mejia <[email protected]>
…cipating_students.sql Co-authored-by: Natalia Zacipa Mejia <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
Description
These models implement the 2030 goals for participating students that we have decided on with Karim. The logic is nuanced, so it's described in the header to each model. Essentially - 5 days of activity in a single course or unit for HS, 1 day for MS/ES. We also need a view that shows daily YOY numbers for each grade band so curriculum can easily see where they are in comparison to previous years.
Definitions: https://docs.google.com/spreadsheets/d/1gZR8yADB-kFoS_Bm6-yRb-SYl7KiNqwNxMvKNKNMeBM/edit?gid=300482234#gid=300482234
Testing story
Links
Jira ticket(s):
Testing story
https://docs.google.com/spreadsheets/d/1M6WplzPxHIVqfMJjA2XozwF_Kz1rlWbQDSm8GRWBrj8/edit?gid=0#gid=0
There have been several versions of this previously but nothing was actually released, so I'm not directly testing an existing source.
QC Check 1: Annual metrics for this measure based on the new course structure compared to the version I gave him based on the old course structure. All metrics 2019-2024 are changed <0.1%. There are some expected changes due to reallocation of some curriculum to the correct grade bands. There are also very small changes (<.05%) in the total # of students that I don't have an explanation for but am not worried about.
https://docs.google.com/spreadsheets/d/1M6WplzPxHIVqfMJjA2XozwF_Kz1rlWbQDSm8GRWBrj8/edit?gid=0#gid=0
QC Check 2:
Please make sure that all of these are valid courses or standalone units. Looks right to me but I am less practiced at this.
select course_or_unit, grade_band, count(*) from {{ref('int_participating_students')}}
group by course_or_unit, grade_band
order by count desc
course_or_unit | grade_band | count
csf | ES | 40999924
csd | MS | 5770887
csp | HS | 1234135
csc k-5 | ES | 398240
csa | HS | 43727
how-ai-works | MS | 34811
csppostap | HS | 16274
csc 6-8 | MS | 6814
foundations of cs | HS | 3082
coding-with-ai | HS | 181
exploring-gen-ai2 | HS | 99
computer-vision | HS | 84
foundations-gen-ai | HS | 68
gen-ai-customizing-pilot-v1 | HS | 66
csa-postap-se-and-computer-vision | HS | 50
exploring-gen-ai1 | HS | 32
computer-vision-pilot | HS | 11
gen-ai-customizing-pilot-v2 | HS | 8
blockchain | HS | 8
gen-ai-humanities | HS | 4
eg.
-
not_null
-
unique
- `dbt_utils.unique_combination_of_columns: , ["value","value","value"...]
Note: when submitting a new model for review please make sure the following have been tested:
dbt build -m 'your_model'
)or: has the dbt Cloud job succeeded?
dbt run -m 'your_model'
)select 1 from 'your_model'
)Privacy
i.
ii.
iii.
PR Checklist:
--> Note: if these are not all checked, the PR will be sent back.
.yml.
, diddbt docs generate
succeed?)dbt docs
has been updated successfully on Github Pageschore/
,feature/
,fix/
)