Why Use Prioritization Helper?

Businesses need a fair and organized way to make large decisions that affect multiple stakeholders, but many run into deadlocks since judgments and opinions vary.

Prioritization Helper is broken up into three parts: Pairwise Comparisons, Matrix Scoring, and Value Scoring. Pairwise Comparisons are used for making critical business decisions that possibly need input from a lot of stakeholders. This would replace a traditional poll or in-person vote at a meeting. Matrix Scoring and Value Scoring are both used to prioritize Objects inside of Salesforce so all team members can efficiently attack their to-do lists while being on the same page

Pairwise Comparisons are used for a winner-take-all situation. There are many options, but only one choice will be decided. Some use cases include hiring a candidate from a group interview, software selection, or deciding what restaurant will cater a company event. More use case suggestions here.  

This takes care of two types of opinions: importance of criteria (what Admin Ann finds important won’t always match Sales Sam or Finance Fran) and how well each option compares to the criteria.

To eliminate deadlocks, Prioritization Helper pairs criteria against each other for individuals to rate the importance of each. This way Finance Fran and Sales Sam are able to have their voices heard while contributing to the group decision.

But how is Prioritization Helper better than taking a vote? After all, wouldn’t it be faster and easier to send a poll to everyone? Truth is, people are imperfect beings. There are plenty of obstacles that get in the way of rational reasoning such as cognitive bias, sunk cost fallacy, or deciding with emotions and backing up with logic later.

While it’s possible to hold a vote for stakeholders, they might not make the most sound decision, or even pick the decision that truly holds all of their values. By relying on the Analytical Hierarchy Process (described below), it will do all of the calculations and work for you, ranking the most optimal choices for each individual. And the results may not always be what you’d expect if it was a simple poll where you input the answer.


Matrix scoring is better used for individuals or groups to decide a priority scoring. Here all of the tasks or items will be completed, but it’s a matter of ranking from most to least important. Common use cases for this would be ranking bug fixes based on importance, or ordering marketing projects. More use case suggestions here

The ultimate product of a matrix scoring table is a Salesforce formula field, therefore it is always up to date with zero delays, can be used in reports, and does not require database updates. It is a stable, but less flexible, alternative to other processes such as Process Builder or custom apex code.

Building a formula field via a matrix provides a more straightforward visual input, which makes it easier to create formula fields for prioritization. It also ensures higher maintainability of the established fields, where shifting priorities can be easily projected to the formula field without diving into the formula code itself. Plus the clear presentation of the underlying prioritization system for each formula field makes it easier to communicate with those who are less familiar with coding. 

A matrix scoring field’s advantage over pairwise comparison is that one formula field can be applied to all records under an object. By defining a matrix once, all records of that object will have a priority score immediately, regardless of how many alternatives there are to prioritize, where as a pairwise comparison can only apply to a limited quantity of the alternatives and requires intensive manual input for each set of alternatives.


Value scoring is similar to matrix scoring as it will also decide priority scoring on Salesforce objects. It will also be up to date when entries get updated. Common use cases for this would be ranking bug fixes based on importance, or ordering marketing projects. More use case suggestions here.

Creating a value scoring entry is easier than a matrix as you only need to have one relevant field you are taking into consideration, whereas a matrix needs to have at least two. Different fields are then added together to get a final score. This will likely give you a smaller range of numbers since fields are getting added, rather than multiplied like in a matrix.

Pairwise Comparison Definitions

Analytic Hierarchy Process (AHP) - Analytic hierarchy process is a decision making method created by Thomas L. Saaty to organize complex decisions. AHP helps teams and individuals find the best solution to their problem with “a comprehensive and rational framework for structuring a decision problem, for representing and quantifying its elements, for relating those elements to overall goals, and for evaluating alternative solutions.

“What-if?” Analysis - When running the final results, you will have the option to conduct a “what-if” analysis. Here, you can exclude certain criteria that may no longer be relevant, or was deemed least important by everyone. This will re-calculate the results excluding the unchecked criteria, and final results may change based on this new information.

Inconsistency Rating - This percentage will show people’s biases or mistakes. The higher the percentage, the more their results don’t line up with each other. You should aim to have your score under 10%, however you can move on to the next step no matter what score you get. This just gives you a chance to go back and fix any mistakes, or think about your choices longer.

Inconsistency Rating Screenshot

Pairwise Comparisons

Click on a section below to learn more

How to Create Pairwise Comparisons

We will use our own example to walk through creating a pairwise comparison.

  1. Decide on an objective - Our example will be choosing a theme to have at our Dreamforce ‘18 booth.
  2. Enter your alternatives - Alternatives are all of the possible options. Our options were between Rockstar or Toolbelt.Pairwise goal and alternatives
  3. Enter comparison criteria - These are the different ways you will evaluate the alternatives. Our list was:
    • Willingness of booth team to participate
    • Swag appeals to visitors
    • Fits with current branding
    • Interactive elements appeal to visitors
    • Theme feels exciting to visitors
    • Theme is memorable to visitors
    • Pairwise criteria
  4. Send it to all decision makers - We sent it to everyone in the company as all of the different departments (marketing, sales, leadership team, developers, etc.) would be affected by the decision.

Pairwise Invitation

Evaluating Pairwise Comparisons

Here are the steps all of the stakeholders and record owner will go through to submit their result. 
  1. Assign weights to criteria - Using the sliders, choose a number between 0-9 to indicate which of the two criteria are more important, with 0 being a tie and 9 indicating a criteria extremely more important than another.

    Weighing Criteria
  2. Weigh alternatives - This is the same process as weighing criteria, except this time you are judging each of the options against the criteria. The sliders will work the same way.

    Weighing Alternatives
  3. Individual results are calculated automatically - There will be a popup letting you know your results are sent. Afterwards, the owner and yourself may also view your individual results. All of the individual results will eventually be calculated together to decide an order of preferences, including their percentages.

Both when weighing criteria and the alternatives, there will be an inconsistency rating (for criteria it’s in the top left corner, for alternatives it’s at the top of each section). This percentage will show people’s biases or mistakes. The higher the percentage, the more their results don’t line up with each other. You should aim to have your score under 10%, however you can move on to the next step no matter what score you get. This just gives you a chance to go back and fix any mistakes, or think about your choices longer.

Inconsistency Rating

Button Menu

To see all of the button menu items, click the down arrow next to each pairwise comparison.

Pairwise Comparison Button Menu

View - You are able to check the objective, alternatives, and criteria for this comparison.

Result -  Aggregate everyone’s evaluations into a final result. Results can be saved as Salesforce files or exported as a PDF. In our case, Rockstar was the winner.

If you want to view individual results, you must click the number in the “participants” column.

Pairwise Comparison Results

You may also perform a “what-if” analysis on the results. Here you can exclude certain criteria that may no longer be relevant, or was deemed least important by everyone. This will re-calculate the results excluding the criteria unchecked, and final results may change based on this new information. In this example, if we only consider if the theme fits with current branding and the interactive elements appeals to visitors, the winner is Toolbelt.

Pairwise Comparison What-If Analysis

Evaluate - Cast your vote by weighing the criteria and alternatives.

Invite - Invite internal or external users to evaluate the pairwise comparison through email. Instructions on how to invite external users further down.

Clone - Create a duplicate of the pairwise comparison.

Access Restriction

This feature leverages Apex Managed Sharing, which is only available in certain Salesforce editions. Please reference the “Required Editions” section on this page for a list of supported editions.

Access Restriction allows granting or revoking access to individual pairwise comparisons. Users who do not have access are unable to see results or participate in the selected pairwise comparisons.

This effect can apply to any group of users (Setup -> Manage Users -> Public Groups) or individual users who does not have permissions that ignores sharing rules.

The following users will ignore the restrictions:

  • Any user with the system permissions “Modify All Data” and/or “View All Data.” For example, users with the System Administrator profile.
  • Any user with  the “Modify All” and/or “Read All” permission on individual pairwise comparison objects, such as users with the “Prioritization Helper - All Access” permission set.
    • Use the “Prioritization Helper - External” permission set for users who need to follow the restrictions.
  • Any users targeted by specific custom sharing rules that allow them to bypass the private sharing model on the Pairwise Comparison related objects (see here).


  1. On the “All Pairwise Comparisons” tab, select one or more pairwise comparisons.
  2. Click the “Access” button located in the table footer to open the “Configure Access” modal*.
    • If the “Access” button is not clickable, please check if:
      1. Your Salesforce edition is in one of the applicable editions listed in the link above
      2. Org Wide Default Sharing Rules are set to private on all related pairwise comparison objects (App’s default setup) via Setup -> Security Controls -> Sharing Settings)
  3. In the “Configure Access” modal, the left side lists the groups and/or users who have access to this pairwise comparison. Click on each name to go to the user’s record page. Click on the ‘X’ to the right of each tag to revoke access.
    • By default, new pairwise comparisons created will automatically grant access to the “All internal users” group. If external evaluation (Salesforce Site Setup) is enabled, Site Guest Users will have access as well.Groups and Users that Have Access
  4. In the “Configure Access” modal, the right side contains a search panel. Type a group or user’s name to begin searching, then select the desired entries and press “Add Selected.”
    • The record owner (whoever created the pairwise comparison) cannot be added, and will always have access to the pairwise comparison.Search for Users or Groups
  5. In the “Configure Access” modal, while entries are selected in the search results table, press the “Remove Selected” button to revoke access for the selected user and/or groups.
  6. Press “Save” to update the access.

*The “Access” button can also be found in the button menu drop down or on the invitation modal. If accessed from the invitation modal, the email addresses of the user and/or groups who you granted access will be added to the invitation modal automatically.

External Evaluation Setup

This guide is only applicable to the following environments due to the Salesforce Sites dependency: Developer, Enterprise and Unlimited Editions

Your edition information can be found under Setup -> Company Profile -> Company Information, on the “Organization Edition” field.

To setup the site to enable external evaluation (one-time setup):

  1. Click “Setup” on the top right corner (or the gear icon in Lightning Experience)
  2. Click on the quick search input box on the left panel, type ‘Sites’. The search result will update as you type.
  3. Click “Sites
    • If the “Sites” option does not show up in the search results, your environment may not have access to Sites, or your user may not have the “Customize Application” permission to configure sites. In the latter case, contact your environment's administrator and request for the “Customize Application” permission, or ask the administrator to perform the following steps.
  4. If prompted, register a site domain. Please note the prompted instructions on the page and beware that the site domain cannot be easily changed.
  5. Press the “New” button to create a new site, complete the form as follows (bolded lines must be entered exactly as specified):
    • Site label - PRTZ External Evaluation (or any name of choice)
    • Site name - prtz_groupeval
    • Site description - For Prioritization Helper’s external group evaluation (or any description of choice.)
    • Site contact - The user will be responsible for maintaining this site
    • Default web address - prtz (or any name of choice)
    • Active Site Homepage - PRTZ_Evaluator_VF
    • Active - Checked
    • All other options can be left as default.
  6. On the configuration page for the newly created site, press the “Public Access Settings” button. This will open the Site’s profile page.
  7. On the profile page, press the “Assigned Users” button. This will open a page with the Site user listed.
  8. On the Site user list page, click on the User entry to open the user record page.
  9. On the user record page, press the “Edit Assignments” button on the “Permission Set Assignments” section header
  10. Select the “Prioritization Helper - External” entry, add to the box on the right, and press “Save”

After the above steps are completed, to generate the link for external users:

  1. Open the “Prioritization Helper Home” tab
  2. Select any pairwise comparison
  3. Press the “Invite” button to open a modal
  4. On the modal, press the template icon button on the top of the modal to open the dropdown menu.
    • If the icon button does not exist, please double check the bolded items above
  5. On the dropdown menu, select “Overwrite with external links
  6. The link will be generated in the email body.

Matrix Scoring

Click on a section below to learn more

How to Create a Matrix Scoring Table

  1. Select an object to prioritize. Ultimately the formula field will be placed on this object.
  2. Select two picklist fields to use as the matrix's rows and columns. The columns are the "criteria" that can be weighed against the rows, which are the "alternatives." It’s important to determine which is the criteria as they have associated weights, while alternatives will have different numbers in each cell.
    • The chosen fields does not have to fit into the common meaning of a "criterion" - anything can a criterion, as long as it may weight differently overtime.
    • For example, when prioritizing cases, the criteria could be the impact to customers, and the alternatives could be the case type. With a setup like this, cases with an incident that highly impacts customers will be assigned a higher score, while product customizations with no impact to customers will have the lowest score. However, as time passes, if a different product should be given more attention, the priority can be easily adjusted by changing a couple weights of the products, serving as the criteria.
  3. After the fields are selected, the matrix will be generated below.
    • The picklists’ values will become the matrix's row and column labels.
  4. On the top row, rate the different criteria by importance. This number will ultimately be multiplied against each cell to get a final score. You can reuse numbers if multiple criteria carry the same weight, and you can use decimals, such as .5.           
  5. Assign ratings in the individual cells for each alternative (in this example case types) against each criterion (impact to customers). Same rules apply - you can reuse numbers and use decimals. 
    Each cell will hold the score of a record, which is the product from the numbers in the cell, multiplied against the criteria weight. 
    PH Matrix
    Given the above, when the picklist field’s values on a record are "Incident" and "High," then the final score will be 16.
  6. Remember to save your work frequently.
  7. On the “Label Value Ranges” tab, press the “New Condition” button located in the footer to define labels for the scores. This section is optional.
    • Numbers without context are meaningless. A priority field displaying a number 50 on a task record could mean anything. Is that based on a score out of 100 or 1,000? You can define a range of scores where the formula field should output text or an image instead. For example, if the score on a record is between 1 and 50, display 'Low', or if the score is between 51 and 100, then display a thumb up image.
    • Here is an example:
    • PH matrix scoring labels
  8. On the “Create/Update Field to Display the Result” tab, enter a field name and create the field.
    • The field will be automatically added to the page layout and become visible to all users. You can further configure that or other details of the field by clicking on the link to the field definition page.

Note: Changing the matrix or labels does not automatically change the formula. To write any changes, please navigate to the last tab where the field was created, and press “Update Formula Field.”

Value Scoring

Click on a section below to learn more

How to Create a Value Scoring Entry

  1. Select an Object to prioritize. Ultimately the formula field will be placed on this object.
  2. Add conditions for how to calculate scores.
    • Choose a field that will influence the object’s score. It can be a positive or negative impact.
    • Decide the comparison operator for that field
    • Input the number or text that fulfills the conditional statement
    • Put in the number of points this condition should add or subtract. Use negative numbers to subtract points.
    • Optionally add the point value that any other field option outside of the condition should have. Otherwise leave as 0.
    • Save your condition and repeat for any other conditions
      Value Scoring Conditions-1
  3. Create Range Labels. This section is optional.
    • Choose the number of labels, and whether you want them divided linearly or exponentially. The range increments will be automatically created for you.
    • Decide if you want a text or image label, then put in the text or image you would want displayed.
    • The algorithm next to each label quickly shows the range of point values each label covers. In our example each label covers two points. This is more useful when choosing exponential growth.
      Value Scoring Labels
  4. Records Preview. This step is optional.
    • Use this page to preview how the defined conditions will apply to the actual records. Press the "Find Records To Preview" button to search for records.
  5. Type in the Result Field Name, then press the “Create Field” button

How to Create a Custom Operator (Advanced)

  1. Navigate to Setup -> Objects -> Value Scoring Condition
  2. Click on the "Operator" field
  3. Add the desired operator name as a new picklist value, e.g. within the last X years (DateTime)
  4. Edit the new picklist value, enter the formula as the API Name, e.g., (now()-{0})>=0&&(now()-{0})<=({1}*365)
    1. {0} is the field value, {1} is the value to be compared to 
  5. Back on the Operator field's configuration page, look for the "Controlling Field" label and click the underlined "Change" link.
  6. Click "View All" on the dependency table
  7. Look for the column this new operator belongs to. For example, if we are adding the "within last X years" operator, it will be a DATETIME operator compared to a number (X years), so, the column will be DATETIME-NUMBER.
  8. Under the appropriate column, double click the new operator so it becomes yellow
  9. Press the "Save" button to save the dependency
  10. Navigate back to the Value Scoring tab in the app and refresh the page. The new operator should be available to select, in this case, for any datetime fields.