Skip to content
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

Schedule quality score issues #1552

Closed
vstpme opened this issue Mar 15, 2023 · 3 comments
Closed

Schedule quality score issues #1552

vstpme opened this issue Mar 15, 2023 · 3 comments

Comments

@vstpme
Copy link
Member

vstpme commented Mar 15, 2023

  1. Not clear how the score is calculated, the "Calculation methodology" section should have more info + refer to a docs page with even more info. Currently the only info available for a user is "next 90 days are taken into consideration...":

Screenshot 2023-03-15 at 13 00 43

  1. "Overloaded users" section is sometimes not shown when it should be. For example, sometimes it shows that "schedule has balance issues", but doesn't tell how to fix it:

Screenshot 2023-03-15 at 13 03 05

  1. Not clear how "overloaded" users are on the "Overloaded users" section. Currently it's binary and doesn't tell anything like (10% more on-call time than average for this schedule).

Screenshot 2023-03-15 at 13 04 18

  1. Next 90 days are taken into account when calculating the score, but it can yield inconsistent / inaccurate results when the rotation frequency / interval are not aligned with this 90 days window.
@vstpme vstpme self-assigned this Mar 15, 2023
@raphael-batte
Copy link

  1. It seems that it would be good to add as an additional parameter the calculation of the average value between users outside the working hours.

If everything is outside working hours but evenly, then there is a balance. And if the load goes in the direction of overloading someone specific, then we just show it.

  1. Will be nice to collect all possible quality issues with solving tips in the documentation.
    Inside UI we can provide direct link to problematic place inside schedule (if its possible, fore example to focus on gaps) in the future + add link to problem resolving inside documentation.

@vstpme
Copy link
Member Author

vstpme commented Mar 20, 2023

Related to #118

vstpme added a commit that referenced this issue Mar 27, 2023
# What this PR does

Before:

<img width="281" alt="Screenshot 2023-03-23 at 16 56 42"
src="https://user-images.githubusercontent.com/20116910/227279464-c883ec05-a964-4360-bda2-3443409ca90a.png">

After:

<img width="338" alt="Screenshot 2023-03-23 at 16 57 41"
src="https://user-images.githubusercontent.com/20116910/227279476-468bffba-922a-45ea-b400-5f34d6bf0534.png">


- Add scores for overloaded users, e.g. `(+25% avg)` which means the
user is scheduled to be on-call 25% more than average for given
schedule.
- Add score for gaps, e.g. `Schedule has gaps (29% not covered)` which
means 29% of time no one is scheduled to be on-call.
- Make things easier to understand when there are gaps in the schedule,
add `(see overloaded users)` text.
- Consider events for next 52 weeks (~1 year) instead of 90 days (~3
months), so the quality report is more accurate. Also treat any balance
quality >95% as perfectly balanced. These two changes (period change and
adding 95% threshold) should help eliminate false positives for _most_
schedules.
- Modify backend & frontend so the backend returns all necessary user
information to render without using the user store.
- Move quality report generation to `OnCallSchedule` model, add more
tests.

## Which issue(s) this PR fixes
Related to #1552

## Checklist

- [x] Tests updated
- [x] `CHANGELOG.md` updated
(public docs will be added in a separate PR)
@joeyorlando
Copy link
Contributor

one other minor issue to point out. See the description of #1692. I believe there is a UI race condition on displaying the schedule quality results

@vstpme vstpme mentioned this issue Apr 18, 2023
3 tasks
@vstpme vstpme closed this as completed in 569c85d Apr 19, 2023
brojd pushed a commit that referenced this issue Sep 18, 2024
# What this PR does

Before:

<img width="281" alt="Screenshot 2023-03-23 at 16 56 42"
src="https://user-images.githubusercontent.com/20116910/227279464-c883ec05-a964-4360-bda2-3443409ca90a.png">

After:

<img width="338" alt="Screenshot 2023-03-23 at 16 57 41"
src="https://user-images.githubusercontent.com/20116910/227279476-468bffba-922a-45ea-b400-5f34d6bf0534.png">


- Add scores for overloaded users, e.g. `(+25% avg)` which means the
user is scheduled to be on-call 25% more than average for given
schedule.
- Add score for gaps, e.g. `Schedule has gaps (29% not covered)` which
means 29% of time no one is scheduled to be on-call.
- Make things easier to understand when there are gaps in the schedule,
add `(see overloaded users)` text.
- Consider events for next 52 weeks (~1 year) instead of 90 days (~3
months), so the quality report is more accurate. Also treat any balance
quality >95% as perfectly balanced. These two changes (period change and
adding 95% threshold) should help eliminate false positives for _most_
schedules.
- Modify backend & frontend so the backend returns all necessary user
information to render without using the user store.
- Move quality report generation to `OnCallSchedule` model, add more
tests.

## Which issue(s) this PR fixes
Related to #1552

## Checklist

- [x] Tests updated
- [x] `CHANGELOG.md` updated
(public docs will be added in a separate PR)
brojd pushed a commit that referenced this issue Sep 18, 2024
# What this PR does
Add docs for schedule quality report feature.

## Which issue(s) this PR fixes
#1552

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [x] Documentation added (or `pr:no public docs` PR label added if not
required)
- [x] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not
required)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants