How the weighted forecast on your jobs dashboard is calculated
A line-by-line walk through how the Jobs dashboard forecast turns pipeline stages and fee schedules into a revenue number you can audit.
I get asked one question about the Jobs dashboard more than any other. Where does the Weighted Forecast number actually come from. People look at the five cards, see a figure that does not match the sum of their open fees, and assume the system is guessing. It is not guessing. Every pound in that forecast is derived from a rule I can write down, and this post writes all of them down.
This goes deeper than most product explainers because the forecast only makes sense once you can see the decisions underneath it. There are two kinds of job in any agency. They earn money in two completely different ways, and the forecast treats them as two completely different calculations. Once you understand that split, every number on the dashboard becomes readable, and the odd-looking figures stop looking odd.
Two kinds of job, two kinds of maths
A contingent job pays you only when you place someone. Nothing is owed until a candidate signs. A retained job, or any job carrying a fee schedule, is the opposite. The client has committed money before anyone is placed, and that money is billed in stages. A third on engagement, a third on shortlist delivery, a third on placement is the classic shape.
The forecast never mixes the two. A job is forecast one way or the other, never both, and never counted twice. If a job has fee stages saved on it, the system reads the schedule and ignores the contingent calculation entirely, including the placed-candidate contribution. If it has no fee stages, it takes the contingent path. The total you see for any single job is either its weighted contingent value or the sum of its forecast fee stages, never the two added together. That one rule prevents the most common forecasting bug, which is double-counting a retained job through both methods at once.
Contingent jobs are candidates times weighting times fee
For a contingent job the whole fee hangs on a placement, so the forecast asks two things. How likely the job is to produce revenue, and when. The likelihood comes from your pipeline. Each stage carries a weighting that represents the probability of a candidate at that stage converting to a placement. The defaults run roughly Sourced at 10 percent, Applied 15, Shortlist 25, CV Sent 40, Interview 60, Offer 80, Placed 100, and they are configurable per agency in your pipeline settings. These are not hard-coded. Raise the Interview weighting and you raise the forecast value of every job whose pipeline sits at Interview, so treat the numbers as your agency's honest conversion rates rather than wishful ones.
The forecast weights each job at a single stage. It picks the highest-weighted stage that currently has at least one active, non-rejected candidate, then multiplies the candidate count at that stage by the stage weighting by the job fee. With normal settings that strongest stage is simply the furthest one reached, so one candidate at Offer outranks five at CV Sent, and those five CV Sent candidates add nothing while the Offer candidate exists. A twenty thousand fee job with two candidates at Interview forecasts two times 0.60 times twenty thousand, which is twenty-four thousand. How you set that fee, fixed or a percentage of salary, is its own topic, and the guide on agency fee structures covers the trade-offs there.
That example also explains the figure people email me about most. The forecast for one job can be larger than the job's actual fee, because the calculation multiplies by candidate count. Two candidates at an 80 percent Offer stage on a twenty thousand job forecast thirty-two thousand, even though only one placement can ever happen. The forecast is a weighted expectation across your whole pipeline, not a cap per job. If that inflation bothers you it usually means several candidates are clustered at a late stage on one role, which is a good problem to have. The opposite case is cleaner. A contingent job with no candidates forecasts at exactly zero. The forecast believes in pipelines, not in hope.
How the forecast decides when the money lands
The five cards split your expected revenue by timing. NOW is money you could invoice today. The 30, 60 and 90 day cards hold money expected to become invoiceable in those windows, and the 120 day card holds everything beyond ninety days with no upper limit. A job's weighted value lands in the card matching its expected close date, and a job with a placed candidate goes straight to NOW.
The close date itself is derived in a strict order, and this is the part people assume is a black box. If you set an Estimated Closing Date on the job and it is in the future, that date is used as-is. Otherwise the system suggests one by adding a time-to-fill estimate to the job's created date. The estimate falls back through a chain. The gap to any Estimated Closing Date you set, even one now in the past, then the client company's own average time to fill, then your agency's average, then a default of thirty days. So a client who historically takes ninety days to hire pushes that job's value into the 90 DAYS card on its own, without you touching anything. One subtlety worth knowing. An open contingent job whose close date has already slipped into the past shows in the 30 DAYS card, not NOW, because NOW is reserved for money that is genuinely invoiceable today.
Retained jobs are read straight off the fee schedule
A retained role is a different animal because the client has committed money before a single candidate exists. For these jobs the forecast drops the contingent calculation completely and reads your fee schedule stage by stage, sorting each stage into one of three kinds of money.
Committed and due now goes to NOW at full value. A stage lands here when its trigger has already been met and it has not been invoiced. On-engagement retainers are always in NOW the moment the job is engaged. Fixed-date stages whose date has passed, days-after-engagement stages whose date has passed, pipeline-milestone stages your pipeline has already reached, and post-placement stages once the placement is made all sit here too. This is the big shift. A signed retainer is real money at 100 percent today, even if you have not sourced a single candidate yet.
Committed but future-dated goes to the matching card, still at full value. Stages contractually owed but not yet due land in the card their due date falls in, with no probability discount, because the client owes the money whether or not the search is finished. A fixed-date stage with no date set is assumed due around the job's expected close date.
Placement-linked money is weighted like a contingent fee. Stages that only pay out if a placement happens, anything payable after placement or start date or guarantee end before the placement exists, unreached pipeline milestones, and custom stages, get multiplied by the job's current pipeline stage weighting. The one difference from contingent jobs is that this value is not multiplied by candidate count. A retained fee does not grow because you have five people at Interview. With no candidates at all the placement-linked stages forecast at zero, while the committed stages still show in full. The moment a placement is actually made, those weighted stages flip to full value and move to the card their due date falls in.
A worked example you can check by hand
Take a retained search with a thirty thousand euro fee, split one third on engagement, one third on shortlist, one third thirty days after placement. The job opened last week, it is expected to close in about seventy-five days, three candidates are sourced with none shortlisted yet, and nothing has been invoiced. The ten thousand on engagement is committed and due now, so it shows as ten thousand in NOW. The ten thousand on shortlist is placement-linked because the pipeline has not reached shortlist, so it forecasts at ten thousand times 10 percent for the Sourced stage, which is one thousand in the 90 DAYS card. The final ten thousand, payable thirty days after placement, forecasts the same way at one thousand, landing in 120 DAYS because the close date plus thirty days pushes it past ninety.
The job's total forecast today is twelve thousand, against the three thousand it would show if the system wrongly treated it as a single contingent fee weighted at the Sourced stage. As candidates progress to Shortlist, CV Sent and Interview, the weighted stages climb toward full value. When the shortlist stage is reached, its ten thousand jumps to NOW at 100 percent. Invoice the engagement retainer and that ten thousand drops out of the forecast entirely. Every one of those movements is a rule you just read, which is the point. You can audit the number line by line, the same way I walked through our candidate dedup pipeline rather than asking you to trust a black box.
Already-invoiced money is subtracted before anything is forecast
The forecast only ever shows money you have yet to invoice. Every fee stage tracks its own invoices, and the total already invoiced against a stage is subtracted from the stage value before it is forecast, floored at zero. A fully invoiced stage disappears. A partially invoiced stage keeps only its remainder. Invoice a ten thousand engagement retainer and the NOW card drops by ten thousand, because that money now lives in your billing reports as invoiced revenue, not in a forward forecast. If you watch the forecast and the KPI and reporting numbers side by side, that handover is exactly where forecast revenue becomes booked revenue.
Written-off amounts behave the way an accountant would expect. A write-off still counts as invoiced, so it does not come back into the forecast. Writing an invoice off records that the money will not arrive. It does not make the stage forecastable again. Disputed and unpaid invoices stay out of the forecast too. Chasing them is a billing job, not a forecasting one, and keeping the two separate is what stops the forecast quietly inflating itself with money you have already given up on.
Why we built it to be this literal
There is a version of this feature that hides everything behind one confident number and a smooth animation. We deliberately did not build that. A forecast a recruitment business actually runs on has to be one you can take apart when a figure looks wrong, because sooner or later a figure will look wrong and the first question your finance person asks is why. Every rule above exists so that question has an answer. Empty pipeline forecasts at zero because hope is not revenue. A signed retainer shows at full value because the client owes it. Foreign-currency fees are converted into your agency's base currency so the cards add up in one denomination. Nothing on the dashboard is doing anything you cannot reconstruct on paper.
If you want to push the forecast further, the levers are all in your hands. Keep your pipeline stages honest and the weightings reflect reality. Set Estimated Closing Dates and the timing cards sharpen up. Build proper fee schedules on retained work and the committed money surfaces the day you sign rather than the day you place. The same thinking runs through how we approach performance and revenue reporting across the product, and if you would rather see the forecast move against your own jobs than read about it, the fastest route is to book a walkthrough and bring a retained role with you. The numbers are far more convincing when they are yours, and there is no black box waiting at the end of the demo either.


