Every PtahCast forecast already answers the question a client asks: when will this be done? Since 8 September it's also answered the question an agency owner asks privately, five minutes before that same client call: are we actually making money on this?
That second answer — Cost & Margin — has just had its most important fix since it shipped. Not a new field, not a new page. A correction to what “projected cost” actually means once a project has been running for a few weeks. If you've been watching a margin number on a board that's more than a month or two old, it's been quietly wrong, and it's worth understanding exactly how.
What it does, in one sentence
Set a currency, a weekly burn rate, an overhead lump sum, and the sale value you agreed with the client, and a board's Commercial (P85) forecast stops being just a date — it becomes a projected total cost, a margin or loss against what you're being paid, and a suggested sale price from a target margin percentage.
That part hasn't changed. What's changed is how the projected cost is worked out once the burn rate itself has changed partway through the project — which, for anything longer than a few weeks, it eventually does.
The bug, in one sentence
Projected cost used to be: today's rate × however many weeks are left. That's the right answer on day one, when “weeks left” is the whole project. It quietly stops being the right answer the moment a single ticket gets marked done, because “weeks left” starts shrinking — and it becomes actively wrong the moment you change the rate, because the new rate gets applied to the entire remaining calculation with no memory of what the old rate actually cost you to get this far.
Here's what that looked like in practice. Say a project is forecast at 8 weeks, weekly burn rate $2,000. Six weeks in, you add a second developer and the rate goes to $3,500/week — the extra headcount also means the forecast re-runs and now says 3 weeks remain instead of 2, because there's more capacity chewing through what's left.
The old formula: $3,500 × 3 weeks = $10,500 projected cost. Against a $25,000 sale value, that's a margin of $14,500 — looking healthy.
The actual cost: six weeks already run at $2,000/week is $12,000, spent and unrecoverable, plus three more weeks at the new $3,500 rate is $10,500. $22,500 total. Against the same $25,000 sale value, the margin is $2,500 — not $14,500. The old number wasn't a rounding error. It was off by $12,000, in exactly the direction that makes a project look more profitable than it is, at exactly the moment — a rate change, a team change — when you most need the real figure.
The fix: cost has a memory now
Every time a board's weekly burn rate changes — through board settings, the only place it's ever set — PtahCast now banks the cost of the segment that just closed, at the rate that actually applied to it, and locks that number in permanently. A later rate change can adjust everything going forward. It can never rewrite what already happened.
Projected cost is now:
Cost already banked at earlier rates (a running, locked total — each closed segment computed once, from real elapsed calendar time × whatever the rate was during that segment, never recalculated afterward) + the current rate applied from the last change through to the Commercial (P85) date + the one-off overhead/preliminaries lump sum.
Run that formula against the example above and you get the honest $22,500, every time, regardless of how many more times the rate changes after this point. Nothing about using the feature is different — you still just update the rate in board settings when your team changes. The only thing that's different is that the number on screen finally means what it's always claimed to mean: the real total cost of the project, not the cost of whatever's left as of this afternoon.
Why this couldn't just be “always use the current rate, but faster”
The honest fix here isn't a smarter live calculation — it's tracking history at all. There is no formula that takes “current rate” and “time remaining” and correctly reconstructs “what six weeks at a since-changed rate actually cost,” because that information doesn't exist anywhere unless something wrote it down at the time. So PtahCast now writes it down: every rate change creates a permanent record, the moment it happens, of exactly what the segment before it cost. Ticket creation, deletion, and scope changes never touch any of this — they only ever affect how much time is left, which only ever feeds the forward portion of the calculation. Overhead is unaffected too; it's a one-off, not something with a time dimension to track.
If a board's rate has never changed, none of this is visible — the calculation falls back to exactly the number it's always produced, because there's nothing to bank yet. This only starts to matter, and it starts to matter a lot, the first time a rate does change.
It works everywhere the old figure did
The forecast page's Cost and margin section, the What-If page's scenario cost (including a hypothetical rate override — modelling “if we lose someone” still only ever changes the forward-looking portion, never the history), and the agency-wide Portfolio Overview's Financial risk rollup all read from the same corrected calculation with zero changes of their own. If you've been watching a portfolio-level margin total across several clients, it just got more accurate without you doing anything.
There's one small addition worth knowing about: once a board has any rate history at all, the forecast and What-If pages now show a line underneath the cost figure — “Of which $X already spent at earlier rates — the rest is projected forward from today's rate.” It's the one piece of transparency the old, single-number version couldn't offer: not just what the total is, but how much of it is locked-in history versus what's still a forward-looking estimate.
What it still isn't
Cost & Margin remains a strictly internal, agency-side view. None of it — cost, margin, the banked-history breakdown, the calculator — appears on the client-facing shared report or the client portal. A client still sees a delivery date and a confidence level. What it costs you to hit that date, and whether the deal is still profitable, stays exactly where it belongs.
Turning it on
If you're already using Cost & Margin, there's nothing to do. Existing boards with a rate already set were backfilled automatically the moment this shipped — tracking simply starts from now, since cost from before the tool knew a rate existed can't be honestly reconstructed. The very next time you change a rate on any board, the history starts recording, and the number in front of you starts meaning what you always assumed it meant.
If you haven't set this up yet: it's four optional fields on a board's own settings page (Owner/Admin only). Fill in a currency and a weekly rate and the Cost and margin section appears on that board's forecast page. Leave them blank and nothing changes.
If you're running a handful of client engagements longer than a month or two, this is worth checking today — not because anything about how you use PtahCast changed, but because a number you've been trusting quietly got more honest, and it's worth knowing by how much.