Commit graph

53 commits

Author SHA1 Message Date
rebuilt
513445dc74 feat: ECP-126 Add measure and scale level graphs for parents by language
WIP: refactor so multiple graphs can be defined for a given slug

WIP: fixed scale view but broke 'All Parent' graph

WIP: working state.  All views working properly

WIP: Refactor graph_map into two collections; measure_level_graphs and scale_level_graphs

WIP: refacter GroupedBarColumnPresenter to accept a 'construct' instead of specifying measure or scale

WIP: fix scale graphs being shown on incorrect view

WIP: Merge parents_by_language class with parents_by_language_by_scale so it can handle display of both measure-level and scale-level graphs
2025-05-09 15:54:43 -07:00
rebuilt
0f457becf0 feat: create a parents by language graph
Update demographics table with lanugage options

Create a lanugage table to hold the new languages

Update the demographic loader to input languages into the database

Update the cleaner to read the language column

Update the parent table to hold a reference to a language

Update the data uploader script to read the language from the csv and update the language information for any parent items that already exist (or create database entries if none already exist)

update the analyze interface to add controls for selecting ‘parents by group’ and a dropdown for ‘parent by language’

Update the analyze controller to read the parent-by-group parameter

Create a graph for the parent-by-group view

Bubble up averages for language calculations.

Make sure n-size only counts responses for a given measure.
2025-04-28 16:42:11 -07:00
Nelson Jovel
7d4db37ee7 feat: show parent scales on variance chart 2024-10-11 10:19:23 -07:00
Nelson Jovel
e5e969b968 feat: add parent survey gauges 2024-09-16 15:24:43 -07:00
Nelson Jovel
3f2aa63bfd fix: correctly memoize student_survey_items_with_sufficient_responses so that on the analyze page, when the first year has insufficient responses, it doesn't affect all subsequent years 2024-06-12 16:28:15 -07:00
Nelson Jovel
edbfd833e9 chore: Only memoize functions primary functions, not every function in the
file.  This should reduce memory use
2024-05-17 10:58:06 -07:00
2f1cf8b9fd Chore: Reduce queries 2024-05-10 14:00:31 -04:00
Nelson Jovel
ee4343383c feat: create a score csv report for measures 2024-03-06 15:32:10 -08:00
Nelson Jovel
f026ea22ef perf: reduce number of queries by requesting grouped_responses once instead of for each measure 2023-12-23 21:18:09 -08:00
Nelson Jovel
ed8e621333 chore: remove method that wasn't needed 2023-12-21 20:29:18 -08:00
rebuilt
f035c4d9ad fix: Filter out responses that don't correspond to the grades the school serves 2023-08-04 17:11:02 -07:00
rebuilt
fae530d21f perf: Reduce number of queries. Remove unneeded methods. Combine
subcategory and measure queries in controller
2023-06-19 20:51:24 -07:00
rebuilt
452876ef09 perf: Add another index to surveyitemresponses. Implement bullet suggestions. Memoize a function in measure.rb 2023-06-10 10:30:29 -07:00
rebuilt
2e3461b685 Add subcategory report 2023-05-22 16:36:12 -07:00
rebuilt
d48a4efda2 Round all averages to two decimal places 2023-05-12 13:08:25 -07:00
rebuilt
28f7d5647e Set a minimum threshold of 10 survey item responses to calculate scores per survey item 2023-04-18 14:05:09 -07:00
rebuilt
128748addd Update logic for calculating student response rate. Remove references
to survey table.  We no longer check or keep track of the survey type.
Instead we look in the database to see if a survey item has at least 10
responses.  If it does, that survey item was presented to the respondent
and we count it, and all responses when calculating the response rate.

Remove response rate timestamp from caching logic because we no longer
add the response rate to the database. All response rates are calculated
on the fly

Update three_b_two scraper to use teacher only numbers

swap over to using https://profiles.doe.mass.edu/statereport/gradesubjectstaffing.aspx as the source of staffing information
2023-04-18 13:59:29 -07:00
rebuilt
72c90b8f47 Add selector for all data 2022-11-18 08:20:26 -08:00
rebuilt
89a7f27b88 Finishes #183092367. Adds ui and graphs to show grade level disaggregations 2022-10-16 22:03:25 -07:00
rebuilt
a4dbeb6718 Change logic on analyze page to include admin data when presenting insufficiency messages and enable/disable academic year checkboxes 2022-08-15 13:31:36 -07:00
rebuilt
105f30f220 Change race score calculations so the average bubbles up through survey_items
-> scales -> measure.
Precalculate averages for performance.
2022-08-10 09:58:11 -07:00
rebuilt
d44a5275b4 Address bug related to story #182855028 2022-07-29 16:04:43 -07:00
rebuilt
12e4e3f177 import students 2022-07-29 15:34:56 -07:00
rebuilt
e89358dacc implement suggestions from static code analysis tools 2022-07-12 19:15:54 -07:00
rebuilt
bb5f668497 Refactor code based on rubocop and reek suggestions 2022-07-11 16:46:30 -07:00
rebuilt
18b479b8b2 Refactor based on rubocop and reek suggestions 2022-07-08 19:07:23 -07:00
rebuilt
ea09fa06b7 Add popup message on admin data exclamation point indicators 2022-07-07 18:47:51 -07:00
rebuilt
deaf13c976 Modify behavior of insufficient data indicators for admin data items. Now we show indicators in line with the admin data item descriptions to indicate which items are missing data 2022-07-06 15:54:29 -07:00
rebuilt
01d4448fde Refactored score methods 2022-07-05 13:15:25 -07:00
rebuilt
a6ad132c81 Add counter caches 2022-06-16 16:14:03 -07:00
rebuilt
c03615cb43 Rename ResponseRate to ResponseRateCalculator. Create a new response
rate model.  Create a loader to refresh response rates for all
subcategories.

Use precalculated response rates in views

Wrap more elements in page caching

Calculate a response rate for a subcategory if one does not already
exist
2022-06-16 08:19:26 -07:00
rebuilt
d15e89f37c memoize all functions in measure 2022-06-14 15:26:41 -07:00
rebuilt
3778aeb1d6 alter logic for insufficiency so that a count of 0 survey item responses is enough to trigger insufficiency
Implement large speed improvements to score calculations.  Add page caching to all pages.  Small speed improvements to response rate by filtering out
survey items without responses with `none?` `method vs count == 0`.
2022-06-14 11:17:59 -07:00
rebuilt
ee80867609 memoize functions in measure.rb 2022-06-13 12:20:13 -07:00
rebuilt
50256cacce Create academic year checkbox selectors. Refresh page with years selected on
checkbox change.  Draw bar graphs for each academic year selected.
Center bar graphs in their column.  Color the columns to match the
sample colors on the checkboxes.  Add scores on beta to top of graph.
Automatically display the most recent year of data for the district.
Modify logic for the insufficient data message or the 'measure not based
on student/teacher surveys' message so it only shows if there are no
bars with data to display.
2022-06-08 15:42:54 -07:00
Nelson Jovel
3d7e62f21f Draw the teacher survey data bar. Finishes #182226823 2022-05-25 19:44:29 -07:00
Nelson Jovel
a134de3fdd Implement bullet suggestions and cache overview graph 2022-05-23 21:44:25 -07:00
Nelson Jovel
7a9830915b Create grouped bar chart on analyze page 2022-05-20 20:24:23 -07:00
Nelson Jovel
c475744939 Modify score calculations. Ignore any survey item scores of 0.
Never include zero when performing calculations for scores.
2022-04-20 13:49:27 -07:00
Nelson Jovel
9c954f97ec Update admin data collection rate numbers on browse page. Also, if all admin data has been collected, do not show 'insufficient data' indicator. Finishes #181754853 2022-04-13 20:14:25 -07:00
Nelson Jovel
9ecc501e24 Display measure scores. Finishes #181754978 2022-04-06 13:09:33 -07:00
rebuilt
2a2777745a Change the sufficiency threshold from a static number of minimum responses to a minimum response rate of 25 percent 2022-02-28 15:36:49 +01:00
rebuilt
d4df7cbc06 Add scales to framework. Change calculations to first group and then
average those groupings and the way up the framework.  Likert scores for
a survey_item are averaged.  Then all the survey_items in a scale are
averaged.  Then student scales in a measure are averaged.  And teacher
scales in a measure are averaged.  Then the average of those two
calculations becomes the score for a measure.  Then the measures in a
subcategory are averaged.
2022-02-24 14:53:06 +01:00
rebuilt
e69f850cc5 Add missing tests. Remove unused code. Filter out legacy specs from code coverage report 2022-02-01 19:33:24 +01:00
Nelson Jovel
3408ecd749 Show benchmark boundaries for subcategories that only include admin data 2022-01-03 13:14:22 +01:00
Nelson Jovel
ad03606d66 Add benchmarks to survey and admin data items. Remove them from measures. Modify seeder
Calculate benchmarks for measures based on a weighted average of survey
and admin data items

Added architectural records
2021-12-28 14:10:34 +01:00
Nelson Jovel
aeb6a45a45 Show partial data indicators on variance chart 2021-12-09 14:51:28 -05:00
Liam Morley
cf6e80ce6b Show modal when no measures for a school/year have meet their threshold 2021-11-10 15:46:49 -05:00
Alex Basson
228cf137ad Finishes #179904795. Adds prompts to measures section on browse page 2021-11-01 20:33:45 +01:00
Alex Basson
2abf2d352a Implement correct policy regarding whether there exist sufficient data for a measure 2021-10-22 16:02:03 -04:00