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

Feature request: enhanced outputs for create_rank() #170

Open
martinctc opened this issue Jul 7, 2021 · 2 comments
Open

Feature request: enhanced outputs for create_rank() #170

martinctc opened this issue Jul 7, 2021 · 2 comments
Assignees
Labels
enhancement New feature or request
Projects

Comments

@martinctc
Copy link
Member

Problem

The current create_rank() approach currently risks creating lots of really small groups that are outliers for the metric, and because of their size, might not be meaningful for a stakeholder.

Solution

To get around this, we could create an option that ranks subgroups based on a new calculated "delta", where delta equals how different would the population average be without the subgroup included. That means that big subgroups with moderately outlying metric values would get prioritized in the ranking over tiny subgroups with extreme outlying metric values.

A weight of population size could allow a stakeholder or a change management executive to target change programs based on population size. Knowing that they've selected a group ranked 5th but has a larger population could be helpful.

Notes

Above issue is abridged from a discussion with Jessalyn Uchacz and Carlos Shrimpton.

This issue is linked with the feature request in #102.

@martinctc martinctc added the enhancement New feature or request label Jul 7, 2021
@moralec
Copy link
Contributor

moralec commented Jul 7, 2021

Here an example of how this could work:

<style> </style>
  Collab Hours N Vs Mean Rank Mean without Delta Rank
Team 1 20.0 50 0.8x 3 32.1 -          7.1 3
Team 2 30.0 30 1.2x 2 22.3 2.7 1
Team 3 45.0 5 1.8x 1 23.8 1.3 2
Total 25.0 85          

@moralec
Copy link
Contributor

moralec commented Jul 7, 2021

Method is really simple:

  1. Calculate how will the average look if you excluded that group.

This is:
(TotalHours * N - GroupHours * n)/(N-n)

Total Hours: Average for the population
Group Hours: Average for the group in scope
N = Population Size
n = group size

  1. Then you can calculate the delta between the real (observed) average and the calculated one excluding that group.

  2. Finally you can rank from highest to lowest value of delta.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
v1.7.0
Awaiting triage
Development

No branches or pull requests

2 participants