-
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
[Product Pull Request] fix: increase grading rounding precision to avoid incorrect grades #238
Comments
Thanks for your submission, @openedx/open-edx-project-managers will review shortly. |
Information from the original PR Enabling the rounding in #16837 has been causing noticeable (up to 1 percentage point) differences between non-rounded subsection grades and a total grade for a course. This increases the grade precision to reduce the negative implications of double rounding. JiraSandboxhttps://pr27788.sandbox.opencraft.hosting/ Testing instructions
ExplanationThis course contains two subsections graded as
In the current approach, the grades of subsections are rounded. Therefore, in this case, we're getting This PR changes these calculations to DeadlineNone. Reviewers
Other informationPrivate-ref: BB-4210 |
Additional information from the author: Hi @ProductRyan, thank you for checking. That's correct - the subsection grades calculated by the platform are inaccurate because of the double rounding. Therefore, we want to increase the rounding precision to produce correct results. |
Pending edX platform wide review as of 2/23/23 |
@jmakowski1123, just checking on the status of this. Is there anything we can do to help moving this forward? |
|
@Agrendalath sorry for the long wait here, but we want to make sure we nail this cross-platform once and for all. The Aurora team is starting to open up some capacity and @Daniel-hershel is working to build out a roadmap now that he's been on board for a few months. I've given Daniel all the details and he's working to incorporate it into his plans. |
MY 2Cent, This change can probably lead to performance issue, in a nutshell to be comre accurate you need more compute time, thus more cost more relevant to high scale Below is a script that it shows it would add around 30% time when grades where 100K in a row. Other un related issue is what would happen if instructor run compute grade by mistake of a certfication that has been already issued... this probably might not be related depening on the platform certifcation policy. Lastly the pattern it seems to get something in which is controversial, is just to wrap it around a feature flag, which might not be alway the prefect solution but it be comers more releavnt path if the end goal in the frist place is just to get it to be in as quickly as possible from datetime import datetime
from numpy import around
def do_100000_round(decimals):
for i in range(100000):
around(34.37625 / 100 ,decimals)
# without decimal
t_befre_2 = datetime.now()
do_100000_round(decimals=2)
t_after_2 = datetime.now()
t_befre_4 = datetime.now()
do_100000_round(decimals=4)
t_after_4 = datetime.now()
result_2 = t_after_2 - t_befre_2
result_4 = t_after_4 - t_befre_4
print(f"result for 2 round {result_2 }\n")
print(f"result for 4 round {result_4 }\n")
print(f"Increase of run time { (1 - around( result_4 / result_2, decimals=4) ) * 100} % ") |
@ghassanmas, I ran this locally, and the result was
Yes, I already mentioned this in the PR:
The current grades generated by Open edX are inaccurate, though. It could be better to call this a
Well, this PR (openedx/edx-platform#27788) has been in product review since May 31, 2021... |
I need to give a another look, it also definilty would vary from machine to machine, intel vs ARM...etc, it was just one guess.
Yes It was suffienct, I didn't meant to remention it, but rather there might be probably cases where an insturctor need to consider what those in case: where a student had a passing grade and then after this changes they get fail or vis-versa, I speculate there might be buecray dpeending on the program, org author..etc of the a course. Again I am just speculating |
Hi @Daniel-hershel! Just checking to see if there's any update on this? Thanks! |
@mphilbrick211 hi! So we definitely recognize the need to address grade rounding in some way, so appreciate this work. For this (or any rounding solution) to work it would need to be implemented holistically system wide, which would include places like:
So for this solution to be accepted from a Product perspective it would have to represent a holistic implementation. The issues with rounding is also on my radar as a potential place the Aurora team will make an investment, and I can keep you posted on those developments as well. |
Thanks, @Daniel-hershel! |
Hi @Daniel-hershel - following-up to see if there's any update here? |
@mphilbrick211 Let's move this PR to draft mode until we can find an owner to drive product specs for a platform-wide solution to rounding issues in grading. |
Hi @jmakowski1123, do we know who will be leading the product review process as coordinator here? |
CC @ali-hugo ⬆️ |
@itsjeyd I don't think this update would require more than one reviewer (which means we wouldn't really need a coordinator). However, I would like to check this in the next Core Product meeting on 30 July. I'd be happy to be a product reviewer for this. @Agrendalath Is there a sandbox or similar where I can see the change in action? |
Sounds good, thanks @ali-hugo! And just to understand better: I see you already marked this ticket as done. Since the July 30 meeting hasn't happened yet, what does that mean for the status of the product review process? CC @Agrendalath |
@itsjeyd Sorry, I have no idea how I did that - it was a mistake! I have reopened the ticket. |
There used to be a sandbox for this PR, but it doesn't seem to be working anymore. @gabor-boros, do you know if we have a simple way to prepare one with openedx/edx-platform#27788 and openedx/frontend-app-learning#1397? In any case, I described all impacted platform areas in this comment. |
In that case, don't worry about the sandbox. I should have everything I need in that comment. Thanks! |
@jmakowski1123 I've reviewed the changes outlined in this comment and everything looks good to me from a product perspective. The changes have been implemented with a broader platform perspective in mind. However, there is a question that I can't answer, namely:
Should the two decimal points be shown on the Gradebook, or should they be hidden? P.s. I just noticed that this ticket's status has been set to "abandoned". Any idea why that would be? |
@itsjeyd A quick update on this:
Unfortunately, there was no time to ask about this in the Core Product Meeting yesterday as there were two presentations scheduled. That said, I'm pretty sure that my review, along with @jmakowski1123's answers to my questions here, will be sufficient. I know this isn't really your "domain", but do you have any idea why this ticket's status may have been set to "abandoned"? |
@ali-hugo Sorry for the delayed reply. Scrolling up on this ticket, I found this: So it looks like there is some automation in place that updates statuses on both the Contributions board and the Open edX Roadmap when someone closes an issue. Which makes sense, but unfortunately the automation doesn't seem to make any additional updates when the issue gets reopened: I went ahead and reverted the status manually on the Contributions board. Couldn't do the same for the roadmap as I don't seem to have permission to change ticket statuses there. --
Sounds good, thanks for the update! |
Thanks for the before and after data and for driving the check on this. What was the rationale for including the more precise grade for learners when they hover over the progress bar? I'm questioning whether that should be presented to learners, especially if the additional decimals are hidden from course teams in the gradebook. |
As you can see in the PR, we didn't explicitly change anything on the Progress page. Both the Progress and Gradebook pages were designed to show more precise grades:
We only increased the precision of the values passed to these pages. |
@jmakowski1123, is there anything we should discuss before moving this forward? |
Got it. I think this is ok to move forward, thanks |
@jmakowski1123 @mphilbrick211 It looks like this is done; the PR for it (openedx/edx-platform#27788) has been merged. Can we close this ticket and move it to Shipped on the roadmap? |
Thanks for the quick follow-up @feanil! It looks like the bot is moving roadmap tickets from Shipped to Abandoned. Do you know why that is? Doesn't seem like the right thing to do in this context, but maybe I'm missing something. |
For Contributing Author:
This is the Primary Product Ticket for the following community contribution: increase grading rounding precision to avoid incorrect grades
Checklist prior to undergoing Product Review:
The following information is required in order for Product Managers to be able to review your pull request:
Only if necessary:
Related PRs
For Product Manager doing the review:
What criteria should be analyzed from Product to approve a PR?
The text was updated successfully, but these errors were encountered: