Portfolio – Project Selection and Prioritisation

Portfolio – Project Selection and Prioritisation

As Portfolio / Program Manager, you will have lot of projects in your project backlog. As an effective Portfolio/Program Manager, you should prioritise the right project and select it for further planning and execution.

You need to prioritise projects by scoring/ranking projects on different prioritisation criteria. Some of prioritisation criterias that I recommend portfolio/program managers to prioritise projects are listed below :

  1. Strategic Alignment – You need to see if your projects is aligned to your organisation/department strategic goals and score it accordingly
  2. Financial Criteria – You need to see your projects ROI , Savings and Cost vs Benefit. Based on this , you can score the projects
  3. Risk Criteria – You need to also check how much risk is involved.

You can give different weightage and score for each of the above criteria and then prioritise your projects based on final scores.

This exercise will help convert your project list to prioritised project list. You can start planning and executing projects based on projects ranking in prioritised project list

Also, it is important to revisit the prioritised project backlog on monthly or quarterly basis to make sure you are working right projects which are high value to your organisation at that point of time

Author : Santosh Kumar Singh – Program & Product Management Professional

Product Metrics and KPI to Forecast Business Sucess of Product

 Metrics to forecast business success of a product

1. Monthly recurring revenue (MRR)

These metrics measure a product’s total revenue in one month. 

What are the different components of MRR?

MRR metric can be broken down to help you understand how your business is performing in terms of acquisition, retention, and scaling.

  • New MRR: This is the revenue your business makes from all the new customers gained during a month. This can be directly attributed to all your new customer acquisition strategies and help mark out the channels that contribute to revenue.

  • Upgrade MRR: This is the additional MRR from all customers who have upgraded to a higher pricing plan from a lower-priced plan, or purchased a recurring add-on. Upgrade MRR gives you a fair representation of how well your product scales with the growth of your customers.

  • Expansion MRR: Often confused with Upgrade MRR, Expansion MRR also takes into account MRR contribution from reactivation of a previously canceled subscription and free-to-paid conversions. Especially useful for subscription businesses that use a freemium model, contrasting Expansion MRR with Upgrade MRR gives a deeper level of understanding of how well you are able to convert free customers to paid customers, and how often canceled subscribers return to you.

  • Contraction MRR: This metric reports the MRR lost due to cancellations, downgrades to lower price plans, removal of recurring add-ons, or even because of availing discounts. It is useful for understanding how well your business is able to retain the MRR from existing subscribers, indirectly indicating the capability of your product/service to scale with your customers’ needs.

  • Churn MRR or Cancellation MRR: A component in the calculation of Contraction MRR, Churn MRR or Cancellation MRR takes into account the MRR lost due to canceled or churned subscriptions. Churn is useful in understanding how well your product stays relevant to your customers’ needs. During the early stages of a subscription business, a high or a rising churn MRR or cancellation MRR may indicate poor product-market fit, while a similar trend during later stages may point towards a recent marketing campaign that brought in customers with the wrong promise.

  • Downgrade MRR: This is the other component that drives Contraction MRR. Downgrade MRR is the sum total of all reductions in MRR from existing customers, excluding those from cancellations. 

  • Reactivation MRR: Additional MRR from customers who had previously churned or canceled. Reactivation MRR is a component of expansion MRR. It is important for these customers to have contributed $0 to the MRR in the previous month (does not include users in free trials).

    Why MRR is important for your business?

    If your business revolves around subscriptions, this should be a fair representation of the money your customers will be bringing in. It depicts the health of a business, something an investor will look at before he or she invests in the business. That makes MRR the one number metric you should strive to be growing every month.

2. Average revenue per user (ARPU) 

Average revenue per user (ARPU)  allows you to count the revenue generated per user monthly or annually. You need these metrics to define the future service revenue, in case you’re going to change the pricing plan or roll out a promotion.

There are two types of ARPU: per new account and per existing account. ARPU per new account refers to metrics based on new accounts appearing after the subscription plan or product price was changed. ARPU per existing account involves the data from accounts established before the price change. This is the ARPU formula:

Monthly recurring revenue / total number of accounts = ARPU

Use ARPU to compare yourself to competitors, consider different acquisition channels, or segment which tier of customers brings more value.

How to use MRR and ARPU. It’s an effective KPI to use to monitor a company’s current health and it’s especially valuable in SaaS businesses working on a subscription basis. Since you don’t need to worry about one-off sales after acquiring a recurring customer, MRR is easily calculated and predictable.

3. Customer Lifetime Value (CLTV or LTV)

CLTV is the total worth to a business of a customer over the whole period of their relationship. It’s an important metric as it costs less to keep existing customers than it does to acquire new ones, so increasing the value of your existing customers is a great way to drive growth.

If the CLTV of an average coffee shop customer is $1,000 and it costs more than $1,000 to acquire a new customer (advertising, marketing, offers, etc.) the coffee chain could be losing money unless it pares back its acquisition costs.

Knowing the CLTV helps businesses develop strategies to acquire new customers and retain existing ones while maintaining profit margins.

Average Revenue Per User (ARPU) * Average customer lifetime = CLTV 

How to use CLTV

It is useful metric used by marketing managers especially at a time of acquiring a customer. Ideally, lifetime value should be greater than the cost of acquiring a customer. Some also call it a break-even point. 

The basic formula for calculating CLTV is the following (1):
(Average Order Value) x (Number of Repeat Sales) x (Average Retention Time) 

For example, let’s say you run a Health Club where customers pay Rs 1000 per month and the average time that a person remains a customer in your club is 3 years. Then the lifetime value of each customer is (according to the formula above): 

Rs 1,000 per month x 12 months x 3 years = Rs 36,000. This means each customer is worth a lifetime value of Rs 36,000. 

Once we calculate CLTV we know how much the company can spend on paid advertising such as Facebook ads, YouTube ads, Google Adwords etc. in order to acquire a new customer.

4. Customer Acquisition Cost (CAC)

This metric covers all the costs spent on attracting customers: marketing spendings, sales team work, advertising. Sometimes these costs include salaries of marketing and sales professionals. Usually, customer acquisition cost involves setting a specific period of time and total revenue. There are several formulas to calculate CAC, but the simplest one is:

Sales & marketing spendings for a period of time / total # of customers generated for a period of time = CAC

How to use CAC. Use CLTV and CAC together to identify whether customers bring you less profit than what you spend on them, and whether it’s time to reconsider pricing and product marketing strategy to attract more users.

Importance of Customer Acquisition Cost

CAC is a key business metric that many businesses and investors look at. In fact, many companies end up failing due to not fully understanding their customer acquisition cost.


1. Improving return on investment

Understanding the cost to acquire new customers is crucial to analyzing marketing return on investment. For example, consider a company that uses several channels to acquire customers:



By using CAC, a company is able to determine the most cost-effective way to acquire customers. In the table above, we can see that Social Media provides the lowest acquisition cost while Social Events cost the most. A company presented with this data may consider using social media marketing more to generate more customers.


2. Improving profitability and profit margin

Understanding its CAC provides a business with the ability to fully analyze the value per customer and improve its profit margins. For example, assume that the value of each customer to a business is $60.

Relating it to the example above, which channel would you choose to use? A business that does not understand CAC would adversely affect profitability by choosing to use Social Events as a channel. The channels Social Media and Posters would improve profitability for the company as the CAC is lower than the value per customer.

Four Components of Product Success

 These four components of product success are :

  • The Problem
  • The Market
  • The Solution
  • The Product

Please find a high level approach on working on these four components for product success

  • Clearly articulate the problem you are solving
  • Before solutioning, go to the market and validate the problem really exists and is worth solving
  • Research, Document and Articulate the solution
  • Before Implementing, validate your solution in market to confirm if your solution is right approach to solve the problem
  • Determine MVP and Implement MVP and then do product validation before launching to market

What is purpose of Product Roadmap

Product Roadmap helps create alignment across different functions. It helps align engineering , sales, marketing, human resource , legal and product management team towards product roadmap ( features and milestones ).

It helps involve product stakeholders early when product roadmap is being created. In some organisations, product manager need to align all product stakeholders before finalising product roadmap.

This gives product managers an opportunity to ask for product stakeholders’ feedback and address their feedback.

Also, as and when updates are made to product roadmap , it is good to involve product stakeholders and share updated product stakeholders to product stakeholders.

The initial and ongoing alignment to product roadmap with engineering and other teams are very important. At the end if product roadmap item milestone is not met , you do not want engineering leadership to say that he/she knew on day one that product roadmap items milestone cannot be met by engineering team.

Also this helps to get development time tentative estimates. These estimates are not accurate but lay a good foundation on timelines and better planning

Similarily at the end , you do not want Sales head to say that they did not sales target as features built was not the features customers wanted.

Hence you as product manager should share initial product roadmap and get alignment and buy in from all product stakeholders.

Who are stakeholders for Product Roadmap

Complete product stakeholders for Product Roadmap are listed below. Depending on product you are managing , some of them might be optional and not required

1. Customers
2. Customer Facing Groups
3. Leadership Team
4. Investors , Board Members and Sponsors
5. Engineering Management Team
6. Architects , Engineers and Designers
7. Sales , Marketing , Legal , Finance and Human Resources team

Algorithms : Given two strings , write a method to decide if one is permutation of other

Algorithms : Given two strings , write a method to decide if one is permutation of other 

// C# program to check whether two strings are permutations of each other
using System;

class AllTechnicalFAQs

/* function to check whether two strings are permutation of each other */
public bool isPermutation(String str1, String str2)
// Get lenghts of both strings
int n1 = str1.Length;
int n2 = str2.Length;

// If length of both strings is not same,
// then they cannot be Permutation
if (n1 != n2)
return false;
char [] ch1 = str1.ToCharArray();
char [] ch2 = str2.ToCharArray();

// Sort both strings

// Compare sorted strings
for (int i = 0; i < n1; i++)
if (ch1[i] != ch2[i])
return false;

return true;

/* Main Block*/
public static void Main(String[] args)
String str1 = Console.Readline();
String str2 = Console.Readline();
if (isPermutation(str1, str2))

// This code contributed by Rajput-Ji

Implement an algorithm to determine if a string has all unique characters. What if you cannot use additional data structures?

Implement an algorithm to determine if a string has all unique characters. What if you cannot use additional data structures?

// C# program to demonstrate
// ToCharArray() method
using System;
class AllTechnicalFAQs {

// Main Method
public static void Main()

String str = Console.ReadLine();

// copy the string str to chars
// character array & it will start
// copy from ‘G’ to ‘s’, i.e.
// beginning to ending of string
char[] chars = str.ToCharArray();

bool isFound = false;

// to display the resulted character array
for (int i = 0; i < chars.Length; i++)
                          for (int j = i+1; i < chars.Length; i++)
                               if ( chars[I] ==chars[j] )
                                   isFound = true
              if ( isFound == true )
                       Console.Writeline(“Not Unique”);

Database Capacity Estimation for Technical Program Manager or Technical Product Manager

To determine a database Capacity Estimation , we will consider BookmyShow.com as example

Requirements of BookmyShow.Com

Functional Requirements:
  1. Our ticket booking service should be able to list different cities where its affiliate cinemas are located.
  2. Once the user selects the city, the service should display the movies released in that particular city.
  3. Once the user selects a movie, the service should display the cinemas running that movie and its available show times.
  4. The user should be able to choose a show at a particular cinema and book their tickets.
  5. The service should be able to show the user the seating arrangement of the cinema hall. The user should be able to select multiple seats according to their preference.
  6. The user should be able to distinguish available seats from booked ones.
  7. Users should be able to put a hold on the seats for five minutes before they make a payment to finalize the booking.

Capacity Estimation

Storage estimates: Let’s assume that we have 10 cities and, on average each city has 10 cinemas. If there are 500 seats in each cinema and on average, there are 3 shows every day.
Let’s assume each seat booking needs 50 bytes (IDs, NumberOfSeats, ShowID, MovieID, SeatNumbers, SeatStatus, Timestamp, etc.) to store in the database. We would also need to store information about movies and cinemas; let’s assume it’ll take 50 bytes. So, to store all the data about all shows of all cinemas of all cities for a day:

10 cities * 10 cinemas * 500 seats * 3 shows * (50+50) bytes = 15 MB/ day

To store five years of this data, we would need around = 15 * 365 * 5 = 28 GB
For help bytes conversion , please refer below grid :
1 KB = 1000 bytes
1 MB = 1000 KB
1 GB = 1000 MB
1 TB = 1000 GB
1 PB = 1000 TB