Skip to main content

Scoring Models

A scoring model defines how items are scored and ranked — for example, prioritizing a backlog by WSJF (Weighted Shortest Job First). Each model is a set of rated criteria combined by one or more output formulas, with one formula designated as the primary score.

Scoring models are managed under Settings → PPM → Scoring Models and require the Permissions.ScoringModels.* permissions to view and manage. Active models can be assigned to PPM portfolios so projects in that portfolio can be scored consistently.

How a model is built​

A scoring model is assembled from four kinds of building blocks. Criteria, rating scales and outputs each have their own section of the model detail page; the model's state and description sit in the details panel beside them.

Criteria​

Criteria are the inputs a person rates. Each criterion has:

  • Name — what is being assessed (e.g. Business Value).
  • Token — a short symbol (e.g. BV) used to reference the criterion in formulas. A token starts with a letter or underscore, contains only letters, digits, and underscores, and is at most 32 characters. Tokens are case-sensitive and must be unique within the model across criteria and outputs together.
  • Description — optional guidance for whoever does the rating.
  • Rating scale — optional. When a criterion references a scale, raters pick from that scale's defined levels. With no scale, the criterion accepts free numeric entry.
  • Weight — optional. A weight can be recorded for reference and is used by the Weighted Sum helper, but it is not authoritative: the formulas are the single source of truth for how the score is calculated.

Rating scales​

Rating scales standardize qualitative judgments into numbers. A model owns any number of named scales, and each scale holds an ordered list of levels, where each level pairs a Label with a numeric Value.

For example, a "Relative (Fibonacci)" scale might define the levels 1, 2, 3, 5, 8, 13, 20, while an "Impact" scale might map Very High = 5 down to Very Low = 1. Assigning the same scale to several criteria keeps their inputs comparable.

Scales are reusable across criteria and optional per criterion — use them where standardizing input matters, and leave a criterion scale-free where a raw number is more natural (e.g. Job Size in raw points).

Scale names must be unique within the model. A scale cannot be removed while a criterion uses it; reassign those criteria first.

Outputs (formulas)​

Outputs are the named formulas that turn rated inputs into results. Each output has:

  • Name — a human-readable label (e.g. Cost of Delay).
  • Token — referenced by later formulas (e.g. CoD).
  • Formula — an arithmetic expression over criterion tokens and earlier output tokens.
  • Is Primary — exactly one output is the primary one; its value is the score for the model. The first output added becomes primary, and marking another output primary moves the role to it.

Outputs are evaluated in order, so a later formula can build on an earlier one. This lets you express multi-step models — for example, summing several criteria into an intermediate value and then dividing by another criterion.

Formulas support standard arithmetic (+, -, *, /, parentheses) over decimal values. Function calls are not allowed, a formula is at most 1,000 characters, and parentheses nest at most 32 levels deep. A formula that references an unknown token or a later output, or is otherwise malformed, is refused when it is saved, and so is a reorder that would leave a formula referencing a later output. Removing a criterion or output, or changing its token, does not check the formulas that use it; activation does, and refuses the model until they are fixed. A formula that divides by zero produces an error rather than a score.

The Weighted Sum helper​

"Weighted sum" is not a separate model type — it is a convenience for getting started. On a Proposed model where at least two criteria have a weight above zero, the Outputs section offers Generate Weighted Formula. It opens the add-output form pre-filled with a primary output named Weighted Score (token Score) whose formula is the normalized weighted sum of the weighted criteria:

(BV * w1 + TC * w2 + ...) / (w1 + w2 + ...)

The form writes the sum of the weights as a single number, so BV at 30 and TC at 70 give (BV * 30 + TC * 70) / 100. Because the formula divides by the sum of the weights, the weights only need to be relative — weights of 30 / 30 / 40 rank identically to 3 / 3 / 4. The Criteria section shows a running Total weight: X%, with a tip when it is not 100%, but never blocks you on it. You can edit the generated formula before saving it, and afterward like any other output. A weight changed later does not update a formula already generated.

Worked example: WSJF​

Wayd seeds a starter WSJF model (in the Proposed state) on first run when no scoring models exist yet. It illustrates the building blocks working together:

  • Scale: Relative (Fibonacci) — 1, 2, 3, 5, 8, 13, 20.
  • Criteria (all rated on the Fibonacci scale):
    • Business Value (BV)
    • Time Criticality (TC)
    • Risk Reduction / Opportunity Enablement (RR)
    • Job Size (JS)
  • Outputs:
    • Cost of Delay (CoD) = BV + TC + RR — a secondary output.
    • WSJF (WSJF) = CoD / JS — the primary score.

Because WSJF references CoD, the Cost of Delay output must be ordered before it. The highest WSJF score is the most economically valuable item to deliver next.

Testing a model​

The Test report lets you preview the output formulas against sample inputs without saving anything — useful for sanity-checking a model before activating it, or for understanding how a change to a formula affects the score.

  1. Open a scoring model and select Test, under Reports in the section rail.
  2. Enter a value for each criterion. Criteria with a rating scale offer a dropdown of that scale's levels; criteria without one accept a raw number.
  3. Once every criterion has a value, click Calculate.
  4. The results show every output value (not just the primary), with the primary output tagged as the Score.

Editing any input clears the previously shown result, so the displayed numbers always reflect the current inputs. The test panel never persists data — it is purely a preview.

note

Testing requires only the View permission. You can preview a model in any state, including a published one, without affecting any real scores.

Model states​

A scoring model moves through a simple lifecycle:

StateEditable?Meaning
ProposedYesBeing designed. The name and description can be edited, and criteria, scales, and outputs can be added, edited, reordered, and removed.
ActiveNoPublished and locked. The definition, name, and description are frozen so that scores and rankings stay stable.
ArchivedNoRetired from use: it can no longer be assigned to a portfolio. A portfolio already using it keeps it, and its projects can still be scored with it.

State actions are available from the Actions menu on the model detail page:

  • Activate — move a Proposed model to Active. Once active, the model is locked: its criteria, scales, and outputs can no longer be changed (this protects the stability of any rankings built on it). Activation is refused unless the model has at least one criterion, every scale a criterion uses has at least two levels, there is at least one output with exactly one primary, and every formula is valid.
  • Archive — retire an Active model.
  • Delete — only available while a model is Proposed.

Because activation freezes the definition, use the Test report to validate the model thoroughly while it is still Proposed.

Activity​

A model's detail page carries an Activity section holding its recorded history, with who made each change and when: the model created, its name or description edited, activated, archived or deleted, and each change made to it while Proposed — criteria, scales, levels and outputs added, edited, reordered and removed, and the primary output moving from one output to another. An edit that changes several parts at once records one entry per part, so renaming a criterion and changing its weight shows as two entries. The starter WSJF model records its creation like any other. A model that existed before this history was recorded begins with a Baseline entry: the model as it stood when recording began. See Activity Log.

Using models in PPM​

Only Active scoring models can be assigned to portfolios, from Actions → Set Scoring Model on the portfolio page. Once a model is assigned, users with project update rights and project/portfolio/program management access can record scores on projects in that portfolio. See Portfolio Project Scoring and Project Priority Scores.

Recorded project scores are snapshots: Wayd stores the model name, criterion ratings, calculated outputs, scorer, and timestamp with each score. This means old scores remain interpretable if the model is later archived or the portfolio is assigned a different model.