multi-portfolios
sidebar_position: 25 title: "Multi-Portfolio Management" description: "Create and manage multiple portfolios within a workspace, add projects, set strategic objectives, and view aggregated KPIs."
Multi-Portfolio Management
ProBeya supports multiple concurrent portfolios within a single workspace, allowing PMO teams to segment their project landscape by fiscal year, business unit, strategic theme, or any other classification. Each portfolio is an independent container that groups projects, defines strategic objectives, and surfaces aggregated financial and schedule KPIs.
Overview
A portfolio in ProBeya is a named, versioned grouping of projects scoped to a specific organization. Portfolios support filtering by status (active or archived) and fiscal year, enabling PMOs to manage multi-year planning cycles without mixing current and historical data. The portfolio list page at /{workspaceSlug}/portfolios presents all portfolios as a card grid with project counts and ownership information at a glance.
Multiple portfolios coexist independently within the same workspace. A project can be included in more than one portfolio and can be removed from a portfolio without being deleted — inclusion is tracked through a separate join table that records when a project was added and its priority rank within that portfolio.
Getting Started
- Navigate to your workspace and click Portfolios in the sidebar.
- Click New Portfolio to open the creation dialog.
- Provide a name, description, fiscal year, and optional owner.
- Save. The portfolio is created in active status.
- Open the portfolio and click Add Project to include projects.
- Optionally define Strategic Objectives to track alignment.
Key Concepts
Portfolio Status
Portfolios have two statuses:
- Active — the portfolio is operational and appears in default list views.
- Archived — the portfolio is read-only and excluded from default views. Use the status filter to retrieve archived portfolios.
Archiving a portfolio does not affect the projects within it. Projects remain active in other portfolios and in the workspace.
Project Inclusion
Projects are added to portfolios via an explicit inclusion action. Each inclusion record stores:
- The priority rank of the project within the portfolio, used for drag-and-drop reordering.
- The includedAt timestamp for audit purposes.
Removing a project from a portfolio sets an excludedAt timestamp (soft exclusion) rather than deleting the record. This preserves the history of which projects were ever part of the portfolio.
Strategic Objectives
Each portfolio can have multiple strategic objectives that define the goals the portfolio is meant to achieve. Objectives are ordered alphabetically and serve as alignment anchors for scoring and selection models — see Scoring & Optimization for details on how objectives weight project scores.
Portfolio Summary KPIs
The getById procedure returns enriched portfolio data including:
- All active (non-excluded) projects with their priority rank.
- All strategic objectives linked to the portfolio.
The portfolio router also exposes financial aggregations (NPV, IRR, payback period, ROI) and pipeline analytics (funnel analysis, gate success rates, average time per stage) through the broader PPM financial and analytics utilities.
How It Works
Creating a Portfolio
Portfolios are created via ppmPortfolios.create. The input is validated against createPortfolioSchema from @probeya/shared. The organizationId is always taken from the authenticated server context — it is never accepted from the client, ensuring strict tenant isolation.
Listing Portfolios
ppmPortfolios.list returns a paginated set of portfolios filtered by:
| Filter | Type | Description |
|---|---|---|
status | active | archived | Include only portfolios with this status |
fiscalYear | integer | Include only portfolios for this fiscal year |
ownerId | string | Include only portfolios owned by this user |
limit / offset | integer | Pagination controls (max 100 per page) |
Results are sorted by fiscal year descending, then by name ascending. Each portfolio in the list is enriched with its active project count.
Adding and Removing Projects
- Add:
ppmPortfolios.addProjectvalidates that both the portfolio and project belong to the same organization before creating the inclusion record. If the project is already actively included, the operation is idempotent. - Remove:
ppmPortfolios.removeProjectsoft-deletes the inclusion by settingexcludedAt. The project remains in the workspace and any other portfolios. - Reorder:
ppmPortfolios.reorderProjectsaccepts an ordered list of project IDs and updates priority ranks accordingly.
Portfolio Optimizer
The portfolio router integrates with @probeya/shared/ppm/portfolio-optimizer to compute the optimal project mix given budget and resource constraints. This uses an efficient frontier algorithm to identify the set of projects that maximizes expected value for a given constraint boundary. See Scenarios & What-If for the planning interface built on top of this capability.
Configuration
| Setting | Location | Description |
|---|---|---|
| Portfolio name and description | Portfolio > Edit | Free-text fields |
| Fiscal year | Portfolio > Edit | Integer year for grouping and filtering |
| Owner | Portfolio > Edit | User assigned as portfolio owner |
| Budget total | Portfolio > Edit | Target budget envelope for the portfolio |
| Strategic objectives | Portfolio > Objectives tab | Weighted goals for project alignment scoring |
Permissions
- View portfolios: all organization members with PPM access.
- Create portfolio: PPM admin or portfolio manager role.
- Edit portfolio metadata: portfolio owner or PPM admin.
- Archive portfolio: PPM admin only.
- Add/remove projects: portfolio owner or PPM admin.
- Manage strategic objectives: portfolio owner or PPM admin.
Tips & Best Practices
- One portfolio per fiscal year per business unit: keeping portfolios narrowly scoped makes fiscal-year-end archiving straightforward and prevents the portfolio list from becoming unmanageable.
- Use strategic objectives early: defining objectives before adding projects enables the scoring model to rank candidate projects against them from the start of the intake process.
- Archive rather than delete: archiving preserves the historical record of past portfolios, which is valuable for trend analysis and governance reports.
- Priority rank matters for reporting: the order in which projects appear in a portfolio affects presentation in board-level reports. Set ranks deliberately to reflect strategic priority.
Set a fiscal year on every portfolio. The portfolio list page supports filtering by fiscal year, making it easy for PMO staff to jump between planning cycles without seeing irrelevant historical data.
Projects can only be added to portfolios within the same organization. The API validates this on every addProject call and rejects any attempt to include a project that belongs to a different tenant.
Related Features
- PPM Overview -- Introduction to the full PPM module
- Projects -- Project lifecycle management
- Scoring & Optimization -- Project scoring and portfolio selection
- Scenarios & What-If -- Constraint-based what-if planning using the portfolio optimizer
- Financial Reports -- Aggregated financial KPIs across a portfolio
- Governance Framework -- Gate reviews and health rules that apply at portfolio level