Progress

A progress status for each indicator can be automatically generated by analyzing indicator data. Indicator progress is calculated following Statistic Canada's progress measurement methodology.

Setup

The automated progress measurement functionality runs on Open SDG versions 2.4.0 or later.

To setup your site to display progress statuses, follow these steps: 1. In the site repo, go to _data/site_config.yml and find these lines: progress_status: status_heading: '' status_help: '' status_types: [] Replace the lines above with the following: progress_status: status_heading: status.progress_status status_help: '' status_types: - value: not_available label: status.progress_not_available alt: status.progress_not_available - value: deterioration label: status.deterioration image: assets/img/progress/red-gauge.png alt: status.deterioration - value: limited_progress label: status.limited_progress image: assets/img/progress/orange-gauge.png alt: status.limited_progress - value: moderate_progress label: status.moderate_progress image: assets/img/progress/yellow-gauge.png alt: status.moderate_progress - value: substantial_progress label: status.substantial_progress image: assets/img/progress/green-gauge.png alt: status.substantial_progress - value: target_achieved label: status.target_achieved image: assets/img/progress/target-achieved-gauge.png alt: status.target_achieved 2. In the same site_config.yml file, also add "Progress" as an ignored disaggregation. ignored_disaggregations: - Progress This is needed for the progress column functionality which allows data conversions and transformations prior to the progress calculation. 3. In the data repo, turn on the automated progress calculation by adding auto_progress_calculation: true to the indicator config file(s) of the indicator(s) for which you want to evaluate the progress. Take care to also setup the progress_calculation_options for each indicator so that the progress measurement is as accurate as possible.

Progress column

A data column named Progress can be used to run the progress calculations with different values than appear in the Value column. During the progress calculation, all values in the Progress column will override all values in the Value column. However, the values in the Value column will still appear on the indicator page. This can be useful when additional operations must be applied to the raw values before running the progress calculation without affecting the data displayed on the indicator page.

The progress column should be added to the ignored_disaggregations in the site configurations to prevent the progress column from appearing as a disaggregation drop-down menu.

ignored_disaggregations:
- Progress

Indicator-config progress settings

Input parameters such as the base year, the target, the target year, the desired direction of progress, and any limit to the indicator's allowed range may be specified using the progress_calculation_options in the indicator config file. These options also allow you to select which time series (specified by series name, unit, and/or disaggregation field) to use for the indicator's automated progress calculation.

Manually specifying the progress status

Instead of calculating the progress according to Statistics Canada's progress measurement methodology, the progress status can be manually specified in the metadata. To do so, the progress calculation must be turned off and the progress status can be specified with the progress_status field.

auto_progress_calculation: false
progress_status: substantial_progress

Any progress status defined in the site_config.yml file in the site repo can be specified.

Adding custom progress statuses

You can tweak the settings under progress_status > status_types in _data/site_config.yml of your site repo to edit the text labels and/or icons used to display the calculated progress level on the indicator and goal pages. The progress statuses that are available out-of-the-box are: - target_achieved - substantial_progress - moderate_progress - limited_progress - deterioration - not_available

It is possible to add a custom progress category by adding the value, label, image, and alt text for a new status types in _data/site_config.yml of your site repo.

status_types:
- value: custom_status
  label: My custom status label
  img: Link to image file for my custom status
  alt: Alt text for my custom status

Then, "My custom status label" alongside the selected image can be shown on the indicator and goal pages by setting auto_progress_calculation: false and progress_status: custom_status in the indicator config file.

The label and alt text may be translation keys.

Progress calculation components output

Optionally, for the sake of clarity and transparency, a yaml file containing the settings and values used to calculate the progress for each series and indicator may be saved to your data repository during the data build. The output file is named indicator_calculation_components.yml.

To enable this, you must edit the "Deploy to staging" workflow in your data repository at /.github/workflows/deploy-to-staging.yml. In between the Build data and the Place public files steps in the workflow, add the following steps: - name: Check if there are any changes to files id: verify_diff run: | if [[ `git status -s` ]]; then echo "DIFF=true" >> "$GITHUB_OUTPUT" else echo "DIFF=false" >> "$GITHUB_OUTPUT" fi - name: Commit files if: steps.verify_diff.outputs.DIFF == 'true' run: | git config --local user.email "github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git add . git commit -m "Add new progress measure updates" - name: Push changes if: steps.verify_diff.outputs.DIFF == 'true' uses: ad-m/github-push-action@master with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} BRANCH: ${{ github.ref }}

If there is no Place public files step in your deploy to staging workflow, then the new steps should be added in between the Build data and the Deploy to GitHub Pages steps.