Forecast a Single Contract
Open one contract's 12-month forecast, adjust its revenue, cost, and staffing lines, test alternatives safely in Sandbox mode, and commit the result — then push it through the submit/approve workflow.
This is the day-to-day loop for a controller or analyst who owns a book of contracts: pick a contract, get its forecast right, and lock it in.
Where it lives
In the left nav, open FP&A → Operations → Forecast (/forecast). It sits between Contract Portfolio and Pricing, and it appears for any tenant with the FP&A module enabled.
You can also reach a single contract's forecast directly: from a contract's info drawer elsewhere in FP&A, click the button that opens its forecast editor.
Once on the Forecast page you will see the Forecast Cockpit, Contract Forecasts, Budget Submissions, Growth Targets, and Pipeline Forecast tabs, in that order — they build up one P&L forecast, so working left to right follows the way the number is assembled. Users with admin-config access also see an Indirect Costs tab holding the division-level forecast Inputs and Parameters (relocated from the Admin console); any other role following a link into it is told who can open it, rather than being dropped on another tab without a word. At the top right, the year picker (labeled FY followed by the year) sets which fiscal year you are forecasting. It appears only on the tabs it drives: Contract Forecasts, Budget Submissions and Pipeline Forecast. Confirm it is the year you intend before editing.
Each panel on this page tells a failed load apart from an empty one. If the editor reads The contract editor could not be loaded, or a panel says it could not read its data, the request failed; it is not telling you the contract has no forecast, no staff or no submissions. Retry before acting on it.
Step 1 — Find the contract
- Click the
Contract Forecaststab. - Use the
Search contracts...box to filter by name or number. The count above the table tells you how many contracts match. - If the contract you want has ended, tick
Show Expiredto bring expired contracts into the list. - Scan the row. The table shows
Contract,Ceiling,YTD Revenue,Forecast Rev,GP %, andStatus. AGP %shown in red or yellow flags margins the platform considers thin.
If you want to review the contract's profile before editing — contract number, client, period of performance, funded value — click the info icon (ⓘ) on its row to open the read-only drawer first. From there, Open Forecast Editor takes you into the editor.
Step 2 — Open the forecast editor
On the contract's row, click Open. This opens the full-screen forecast editor for that single contract.
The editor header shows the contract name, its client, its Status, and its contract type. Below the header are three sub-tabs:
Forecast Grid— the 12-month spreadsheet where you edit numbers directly.Staffing Calculator— build the forecast up from positions, rates, and hours (shown when contract-level payroll is available for your entity).Summary— charts that show how the engine projects this contract across its full period of performance plus one year.
Step 3 — Adjust the forecast grid
Click Forecast Grid. Each editable row runs across the twelve months of the fiscal year with a Total column on the right. The editable lines include Revenue, Direct Labor, and the other direct-cost rows. Gross Profit and GP % are computed for you and cannot be edited.
To edit a value:
- Click the cell for the month and row you want to change.
- Type the new number and confirm.
Gross ProfitandGP %recalculate immediately so you can see the margin effect of each change. A month with no revenue shows a dash forGP %, not 0%.
A month is locked once it carries actuals, and also once the accounting close has passed it, whichever reaches further — those columns are frozen. You can forecast only the months after both. The grid offers only months a save will accept, so a locked month you did not touch never blocks your save.
Copy a month forward
If several future months should mirror an actual month you already have:
- Use the
Copy from...picker in the header to choose a source month. - Click the copy button beside it. The source month's values are copied into the editable months for you to adjust further.
Protect a month from recompute
The Lock toolbar sits above the grid. Each month has a lock toggle:
- Click a month to lock it — its icon switches to a closed lock and it is protected from being overwritten when the forecast is recomputed. You will see a
Lockedconfirmation. - Click again to unlock it. You will see an
Unlockedconfirmation, and a recompute may overwrite it.
Closed (actuals) months show as disabled here — they are already frozen.
Compare against last year
Click Prior Year in the header to overlay the prior fiscal year above your editable rows — every line the grid shows, the revenue and cost lines plus Gross Profit and GP % — so you can sanity-check this year's forecast against what actually happened last year. Click it again to hide them.
Step 4 — Build from staffing (optional)
If you would rather derive Revenue and Direct Labor from people rather than typing them in, click the Staffing Calculator sub-tab.
- Add positions one of three ways:
Add Positionto enter one by hand,Import from Pricing Proposalto pull LCATs, bill rates, pay rates, and headcount from a saved proposal, orDerive from Actualsto back-derive rates from the contract's revenue history. - For each position, set
Position Name,Bill Rate ($/hr),Pay Rate ($/hr), andVacancy %. ToggleEscalationon a position to model a mid-year rate change. - Click
Save Positionsto persist your staffing, thenPreview Forecastto generate a monthly revenue and labor projection. - In the preview, set the apply-month range if the contract does not run the full year, then push the numbers into the grid with
Apply Revenue,Apply Labor, orApply Both.
Applying sends those values into the Forecast Grid as unsaved edits and returns you to the grid so you can see them. Closed months are skipped automatically.
Step 5 — Test changes in Sandbox mode
Sandbox mode lets you try aggressive changes without touching your working forecast — nothing you do in the sandbox is committed until you deliberately promote it.
- In the editor header, click
Sandbox. The header button changes toExit Sandboxand the grid's row label column now readsSandbox. - Edit cells as usual.
Gross ProfitandGP %recompute from your sandbox values so you can see the impact of the what-if. - When you have a version you like, click
Apply to Baseto copy the sandbox values into your real working edits. To throw the experiment away instead, clickDiscard. - Clicking
Exit Sandboxreturns you to normal editing.
Use Sandbox mode to answer "what if we raised the bill rate" or "what if this position stays vacant" without risking the forecast you have already tuned. Only Apply to Base moves those numbers into what you will eventually save.
Step 6 — Commit your edits
Whenever the grid has unsaved changes, a Save button appears in the editor header.
- Click
Save. - If your edits move divisional revenue by more than a trivial amount, a rebalance prompt opens so you can reconcile against the division's target before the save completes. For small edits, the save goes through directly.
Closed months are never written — the save drops any edit that lands on a month at or before the close month.
Step 7 — Adjust contract settings that drive out-year forecasts (optional)
Below the header is a collapsible Contract Settings panel. Its summary line shows the current recompete, p(win), and growth values at a glance. Expand it to set the assumptions that feed the out-year projection:
Recompete— whether this contract is assumed to recompete.p(win) %— the probability the recompete is won.Annual Growth %— year-over-year escalation applied to option years.- Recompete size, transition months, and an optional successor contract link. The card names the successor contract rather than showing its internal id.
Make your changes and click Save Settings. Open the Summary sub-tab afterward to visually confirm the projection reflects them — the charts mark where the period of performance ends and where the engine assumes the recompete fires.
Step 8 — Submit for review, or approve
The workflow buttons in the header change with the contract's Status:
- When the forecast is in draft with no unsaved edits, click
Submitto send it for review. A confirmation tells you the fiscal-year forecast was submitted and out-year forecasts were regenerated. - If you are a reviewer and the forecast is submitted, click
Approveto accept it, orReturnto send it back to draft.
Choosing Return opens the Return to Draft dialog. Enter a reason and click Return to send it back to the owner, or Cancel to keep it as-is. The owner sees your reason when they reopen the contract.
Save commits your numbers. Submit moves the forecast into the review workflow. They are separate actions — save your edits first, then submit once the grid is clean.
The full loop, at a glance
Contract Forecasts→ find the contract →Open.- Edit the
Forecast Grid, or build it from theStaffing Calculator. - Test alternatives in
Sandbox, thenApply to Base. Saveto commit.Submitfor review — reviewersApproveorReturn.