Methodology

A forecast designed to be revised

CashflowPot is a construction cash-flow simulation model. It separates the expected execution of the project from the contract terms and forecasting assumptions that determine when money is billed, received and paid.

The purpose is not to claim permanent precision. It is to create a transparent financial view from the information available now and make it quick to revise — in minutes, not weeks — when the project changes.

Purpose

Time-phased work or cost is not yet a commercial cash-flow forecast.

Detailed planning systems can provide programme logic and time-phased work or cost. CashflowPot focuses on the commercial layer that follows: expected receipts and payments after contract terms and forecasting assumptions are applied.

A current programme can inform activity timing. A mathematical execution profile can also be used when detailed loading does not yet exist, would take disproportionate effort for the decision, or has become stale after repeated project changes.

Main-contract inflow

Two ways to generate the contract-value work curve

Independent contract curve — default

Activities establish the execution duration and project outflow, while the contract value follows its own curve over that duration. Choose Linear or S-curve. For the S-curve, the timing can be Back-loaded, Balanced or Front-loaded. New scenarios default to a balanced S-curve.

Activity-linked inflow — alternative

The combined activity cost-work profile is scaled proportionally to the contract value. Use this when the expected contract-value profile should follow the execution profile.

Both methods preserve the same project contract value. Neither method tries to infer activity selling prices, markup allocation or a Schedule of Values.

Client side

Turn contract-value work into expected receipts

The chosen contract-value work curve is not yet cash received. CashflowPot next applies the relevant contract terms and forecasting assumptions.

  • Advance payment and recovery — generally a contract term.
  • Retention and release timing — generally contract terms.
  • Payment period — the model periods between billing and receipt.
  • Work in Excess of Billings (WIEB) — a forecasting assumption for the share of completed work not billed in the current period.
  • Defects Liability Period (DLP) — the period between the first and remaining retention releases.

WIEB

Performed work and billable work can occur in different periods

Work may be incomplete, awaiting inspection or approval, affected by an NCR, or otherwise not yet ready for certification. CashflowPot uses the WIEB percentage as a forecasting assumption to carry part of each period's otherwise billable work into the next period.

Billed(t) = Work(t) × (1 − WIEB) + Work(t−1) × WIEB

WIEB changes timing, not the lifetime value of the work.

Execution and outflow

Project outflow remains activity-based in both inflow methods

Activity work curve

Each activity has an estimated cost, timing and duration. It may use a linear distribution or a curved S-profile. Activity start and any pre-work period shift the work in time without changing total estimated cost.

Linear cumulative work(t) = Activity cost / Duration × t

Direct and subcontracted shares

Each period's activity cost is split between self-performed/direct work and the subcontracted share.

Self-performed cost(t) = Activity work(t) × (1 − Subcontracted share)

Subcontracted work(t) = Activity work(t) × Subcontracted share

Direct cost is paid as incurred. Subcontracted work follows its own commercial terms and assumptions, including any advance, WIEB, no-billing period, retention, payment period and DLP.

Activity-linked detail

How activity-linked inflow is scaled

When the activity-linked method is selected, CashflowPot scales the combined cost-work curve to contract value.

Value factor = Contract value / Total entered activity cost

Contract-value work(t) = Project cost work(t) × Value factor

This common factor describes the project-level profile. It does not assign an individual selling price or markup to an activity.

Cash position

Bring receipts and payments together

Once inflow and outflow exist by period, the model calculates net cash and carries the balance through time.

Net cash flow = Inflow − Outflow

Pre-finance balance(t) = Previous balance + Net cash flow(t)

When the balance is negative, the configured financing rate for that model period is applied. The current model does not add interest income to positive balances.

Time convention

The engine works in model periods

CashflowPot is normally used monthly, but the engine itself uses integer periods. Timing inputs within one scenario must use the same unit. A Payment period of 2 shifts the related receipt or payment by two model periods. A DLP of 12 releases the remaining retention twelve periods after the first retention-release point.

Model invariants

Commercial conditions change timing, not underlying value

Σ Activity work = Activity estimated cost

Σ Activity outflow = Activity estimated cost

Σ Project inflow = Contract value

Subject to valid inputs and normal floating-point precision.

Model limits

Use the model to support a decision, not to manufacture certainty.

CashflowPot produces a forecast, not a guarantee of future receipts, payments or funding needs. Results depend on the project information, contract terms and forecasting assumptions entered into the scenario.

The model deliberately does not require a detailed resource-loaded programme or infer activity selling prices. When better information becomes available, update the scenario and compare the revised cash position.

Advanced: non-linear activity curve

The raw cumulative curve used by the current engine is:

C_raw(t) = c × (s + 1) / ((s + 1) + exp(−(t / (0.1d) + s² − 5)))

The engine corrects the residual so the resulting marginal work returns to the activity's estimated cost. Normal users only need to choose a curve and its timing shape.