-
Notifications
You must be signed in to change notification settings - Fork 603
Spec: Introduce Community Health Score panel #4367
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
Merged
Merged
Changes from 25 commits
Commits
Show all changes
27 commits
Select commit
Hold shift + click to select a range
ed1e417
insights dashboard spec
functionzz aed15b5
Update specs/0123-insights-dashboard.md
functionzz d7b4611
Update specs/0123-insights-dashboard.md
functionzz 3415ffc
Update specs/0123-insights-dashboard.md
functionzz c2e4648
Update specs/0123-insights-dashboard.md
functionzz 3bc62b6
Update specs/0123-insights-dashboard.md
functionzz 40c7f17
Update specs/0123-insights-dashboard.md
functionzz c47bfc8
Update specs/0123-insights-dashboard.md
functionzz f03d991
Update specs/0123-insights-dashboard.md
functionzz 48b75e5
Update specs/0123-insights-dashboard.md
functionzz 9298f1f
Update specs/0123-insights-dashboard.md
functionzz 8ccb308
edit docs to reflect requested changes
functionzz f7e7622
add chs context to docs
functionzz 70e7d27
reference locale insights page
functionzz aa8754c
revamp docs changes
functionzz d53c2c5
Update specs/0123-insights-dashboard.md
functionzz a7439fb
Update specs/0123-insights-dashboard.md
functionzz 3223c60
Update specs/0123-insights-dashboard.md
functionzz bc6e7e8
Update specs/0123-insights-dashboard.md
functionzz 0606367
reword CHS variable explanation
functionzz a8abf6e
remove useless score mentions
functionzz d72d4e5
Update specs/0123-insights-dashboard.md
functionzz 5ccdbfc
Update specs/0123-insights-dashboard.md
functionzz 14e869c
Update specs/0123-insights-dashboard.md
functionzz 1178461
expand on thresholds
functionzz 0c56a18
Update specs/0123-insights-dashboard.md
functionzz 8cba2de
add more information for CHS formula
functionzz File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,51 @@ | ||
| - Feature Name: Community health score (CHS) panel | ||
| - Created: 2026-08-04 | ||
| - Associated PR: [#4189](https://github.com/mozilla/pontoon/pull/4189) | ||
|
|
||
| # Summary | ||
|
|
||
| Introduce an admin-only Community health score panel within the global Insights dashboard that provides a monthly breakdown of the Community health score and its underlying metrics, along with historical score tracking. Also make the historical tracking available on locale Insights dashboards. | ||
|
|
||
| # Motivation | ||
|
|
||
| Currently, the Community health score is calculated via a series of moz-l10n scripts and Google Sheets formulas, collected manually on a monthly basis. Other than the tedious nature of needing to do this manually, PMs need better options to analyze CHS data directly from Pontoon. | ||
|
|
||
| # Feature explanation | ||
|
|
||
| ## Community health score aggregation | ||
|
|
||
| On the first day of each month, a scheduled job collects telemetry on the state of each locale for the **previous month**. The data collected for **each locale** is compiled into the following metrics: | ||
| - `active_managers`: Managers whose combined total of performed reviews and approved translations during the past 12 months exceeds 500. | ||
| - `active_translators`: Translators whose combined total of performed reviews and approved translations during the past 12 months exceeds 400. | ||
| - `active_contributors`: Contributors whose approved translations during the past 12 months meets or exceeds 200. | ||
| - `all_contributors`: Contributors whose combined total of approved translations, rejected translations and pending suggestions during the past 12 months meets or exceeds 200. | ||
| - `new_signups`: New signups whose approved translations during the past 12 months meets or exceeds 100. | ||
| - `key_projects_enabled`: Number of projects that are classified as key projects via the `is_chs_project` flag. | ||
| - `completion`: Locale completion, expressed as a percentage of **approved strings** + **strings with warnings** out of **total strings**. | ||
|
|
||
| The data used is then computed into scores based on predetermined metric thresholds, which are set as environment variables for admin customization. Finally the scores are summated to a **Community health score** for that locale on that month which is used for measuring locale health. | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Imagine you are a dev, presented with this spec. This information is insufficient for implementation of the computation of the scores. We should list the environment variables in question and describe the formula / algorithm for the calculation of the score. |
||
|
|
||
| ## Community health score panel | ||
|
|
||
| The new **Community health score** panel located at `/insights` consists of a widget, a table of locales and a graph. | ||
|
|
||
| The widget at the top of the panel contains **locale search** and buttons titled `Edit Locales` and `Show scores`. `Edit Locales` swaps the panel contents for a selector that enables admins to change locale availability on the CHS panel. `Show scores` toggles default and score view of components that make up the CHS. | ||
|
|
||
| The table of locales represents the locales the admin wishes to observe based on the most recent month's CHS data. Each table row contains the following information: | ||
| - **Locale code** linking to individual locale pages | ||
| - Number of **active managers** | ||
| - Number of **active translators** | ||
| - Number of **active contributors** | ||
| - Number of **all contributors** | ||
| - Number of **new signups** | ||
| - Number of **enabled key projects** | ||
| - Overall locale **completion** (%) | ||
| - CHS | ||
|
|
||
| Beside each statistic, an up or down arrow and a number indicate the change from the previous month. If there is no change, no delta is shown. Counts (e.g., contributors, translators, and managers) are displayed as integers, while scores and percentages are displayed to two decimal places. | ||
|
|
||
| The chart is a line chart that displays Community Health Score (CHS) values for the selected locales over the past 12 months. Hovering over any data point displays a tooltip with the exact CHS value for that month for all selected locales. The legend lists individual locales along with `Average (all locales)` and allows each line to be shown or hidden. | ||
|
|
||
| ## Locale Insights changes | ||
|
|
||
| A new graph called `Community health score` is added to the [locale insights page](https://github.com/mozilla/pontoon/blob/main/specs/0108-community-health-dashboard.md), which shows the CHS values for the locale over the past 12 months. | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.