I’ve seen a couple of questions posted to the online forums of late asking about how the Portfolio Management heuristics work in Project Server 2010.  Since I know that I will have to explain this to my own clients, I figured that I would take an initial stab at demystifying how the portfolio optimization calculations work.  As a disclaimer, note that I refer to this process as “Pairwise Analysis” because that’s just how I learned it in my Quality Management classes.  If you’re looking for additional information, type the term Analytical Hierarchy Process, or “AHP,” into your search engine of choice: Wikipedia and MSDN entries here.

To follow this discussion, please feel free to download the associated Excel workbook.  All of the examples in this posting are generated from that Excel worksheet. 

I should also point out that this is a description of some of the simpler elements of the portfolio analysis module and does not represent an exhaustive review of all of the portfolio analysis functionality in Project Server 2010.  Today’s post is only the tip of the iceberg.

Driver Prioritization

First off, let’s look at how the Business Driver Prioritization works.

image

In this example, each driver is ranked against each other driver.  The proper way to read a table like this is from left to right, and then up.  For instance if we look at the following example:

image

…we would read this as saying Driver 1 is extremely more important than Driver 2. 

Inversely, we would conclude that Driver 2 is extremely less important than Driver 1.  Because we can conclude both statements from the first statement, we only need to populate the top half of the table.  The bottom half can be logically derived from the top half.  Hence, as you populate the rows for each driver, you end up having to populate fewer and fewer cells – which is indeed the case in the Project Server Driver Prioritization interface.

image

Project Server 2010 provides us with the following 7 options for flagging driver relationships:

ID Description
1 is extremely more important than
2 is much more important than
3 is more important than
4 is as important as
5 is less important than
6 is much less important than
7 is extremely less important than

Each option corresponds to a specific score for each of the drivers.  I played around with different scores, and was unable to come up with numbers that produced results exactly like the calculations in Project Server.  I take that to mean that Project Server is either using a calculation so simple that I missed it, or some sort of complex statistical distribution that is beyond my own mathematical abilities to decipher.  Either way, the numbers I ended up identifying as relative scores suffice to rank the risks in the same way as Project Server – albeit with slightly different absolute scores.  These calculations are close enough for this exercise.

So based on that, I assign relative values to each of the 7 potential driver relationships:

ID Description

Value

1 is extremely more important than

9

2 is much more important than

5

3 is more important than

3

4 is as important as

1

5 is less important than

1/3

6 is much less important than

1/5

7 is extremely less important than

1/9

Translated, this means that the above table appears as follows – with a numerical value swapped out for each of the 7 relationship descriptions.

image

…to complete the driver prioritization calculations, we then want to normalize the results.  To do that, we divide each value by the sum of the column.  We then take the sum of each row, and divide it by the number of drivers (in this case, 5).  This yields the score, or relative ranking, for each of the drivers.

image 

As mentioned above, take these results for demonstration purposes only.  In preliminary testing on a 5 X 5 matrix in the Driver Prioritization module, I was able to get results pretty close, but not quite identical to what Project Server calculates.

Project Prioritization

Now that the business drivers are prioritized, let’s rank each project against the drivers.  In this case, Project Server 2010 allows us to choose from 6 options for assessing how well each project maps to each driver:

ID Description
1 Extreme
2 Strong
3 Moderate
4 Low
5 None
6 No Rating

Again, through trial and error, I identified the following relative scores which yield results not quite exactly the same as Project Server, but are close enough for discussion purposes.

ID Description Value
1 Extreme 225
2 Strong 150
3 Moderate 75
4 Low 25
5 None 0
6 No Rating 0

Applying the scoring system to the project-driver mapping, I can convert this:

image

to this:

image

To roll up the calculations, I then normalize each column by dividing the cell by the column total, and multiply the result of that times the driver prioritization from above.  (Check out the Excel worksheet for more specifics on the exact mechanics involved.)  That gives me a table that looks like this:

image

…which then yields the ranking of projects.

image 

Consistency Ratio

Consistency ratio then is the measure of how consistent each of the driver prioritization strings are.  Those calculations will have to be a topic for another post, but if you’d like a handy reference, this document seemed to point in the right direction: http://www.booksites.net/download/coyle/student_files/AHP_Technique.pdf