Skip to content
Ben edited this page Dec 19, 2013 · 12 revisions

Achievement attempts to capture the question, "Are you doing what set out to do?"

Single Indicator

Outputs

  • Number from 0 to 1
  • MISSING

Inputs

Either one impact or performance indicator.

Algorithm

Legend

reported_value: MYR or YER

goal_value: Standard or Target

Pseudo-code

function achievement(indicator):
  achievement = NULL
  
  if (not reported_value or not goal_value or not ol_budget)
    achievement = 'MISSING'
    return

  if (indicator is performance)
    achievement = minimum(reported_value / goal_value, 1)
    return
  else (indicator is impact)
    if (reported_value is equal to goal_value)
      achievement = 1
      return
    
    if (indicator is not reversed)
      if (reported_value < goal_value)
        if (baseline >= reported_value)
          achievement = 0
          return
        else (baseline < reported_value)
          achievement = (reported_value - baseline) / (goal_value - baseline)
          return
      else (reported_value >= goal_value)
        achievement = 1
        return
    else (indicator is reversed)
      if (reported_value > goal_value)
        if (baseline <= reported_value)
          achievement = 0
          return
        else (baseline > reported_value)
          achievement = (baseline - reported_value) / (baseline - goal_value)
          return
      else (reported_value <= goal_value)
        achievement = 1
        return

Examples