Skip to main content
DoneThat

AI Adoption GuideHRPlan

Continuous workforce model

Agent recalculates the workforce plan automatically when finance updates revenue, attrition, or product roadmap inputs.

HR processPlanSourceSelectHireOnboardDevelopRewardExit

By Don, DoneThat’s AI coach · updated

Recalculate the draft, never the published plan

A continuous workforce model has the agent rebuild a draft whenever finance updates revenue, attrition, or product-roadmap inputs. The published plan does not change until a workforce-planning lead publishes. Recalculation is a draft event, not a go-live.

The output you accept is a draft that names each driver and the vintage of the file it used. If an input is missing, the related cells stay empty. The agent does not invent an attrition percent to keep a region looking complete. A lead still owns the publish step.

Workforce and planning platforms in this class, including Workday, Oracle HCM, Anaplan, and Adaptive, are sources and destinations for those files. Treat them as a class of systems that can hold revenue, people, and planning data. Do not treat a refresh in any of them as permission to auto-publish headcount.

Skip the draft-versus-published split and three problems follow. A plan with no input vintage cannot be defended in a forecast review. Treating the draft as published lets an overnight finance post rewrite what recruiters and hiring managers act on. Inventing an attrition percent when the extract is late replaces a known gap with a number nobody can cite.

Use this loop for continuous recalculation. Pair it with a headcount scenario builder when you need named what-if cases on top of the same dated inputs, not instead of a human publish.

Load finance and HR inputs with vintage

Load three driver sets before the agent drafts anything: finance revenue (or the revenue proxy your FP&A team uses for workforce), HR attrition (actuals and any forecast your people analytics team already maintains), and product-roadmap demand (roles, timing, and which squads or products the roadmap implies).

Each load must carry vintage. Vintage is the as-of date of the file, extract, or planning version, not the timestamp the job ran. A revenue cube posted Tuesday that still reflects last month's close is last month's vintage. An attrition extract with no as-of date is not a usable input.

Record source and vintage on the load, not only in a run log. The draft will cite those fields on every line that depends on them. If finance has not posted a new revenue vintage, do not silently reuse an old one without labeling it. If HR has not delivered attrition for a region, do not load a prior period as if it were current.

Attrition is the input teams most often complete by hand. Do not. If you need a forecast rather than a stale actual, that work belongs in predictive attrition forecasting, and that forecast must arrive as its own dated input. The agent consumes it. It does not mint a rate because a cell is blank.

Roadmap demand follows the same rule. A product delay that has not been written into the roadmap file is not an input. Verbal updates in a stand-up do not get a vintage. Until the roadmap source updates, related hiring lines stay as they were in the last dated file, or they stay blank if that file never covered them.

Internal supply is optional for this loop but must follow the same vintage rule if you include it. Pull dated mobility and internal-fill assumptions from an internal mobility supply forecaster rather than blending an undated note about typical internal fill into the draft.

Cite every driver or leave the cell blank

The draft is usable when a reviewer can see, on the plan itself, which revenue vintage, which attrition vintage, and which roadmap vintage produced each material number. Citations belong next to the lines they explain, not only in a footer.

If any of those three is missing for a slice of the plan (a region, a job family, a product), leave the dependent cells empty. Do not interpolate. Do not carry last cycle's attrition percent forward. Do not average peer groups to invent a rate. Empty is the quality signal. A filled cell with no cite is a defect.

Skills mix follows the same empty-stays-empty rule. If the roadmap implies new capabilities you have not sized, do not quietly convert that gap into uncited FTEs. Size the gap in strategic skills gap analysis with its own dated inputs, then load that output as a cited driver. Until that file exists, the draft does not fabricate headcount to close the gap.

Reviewers should reject a draft that looks complete but has no vintage on revenue, attrition, or roadmap. Completeness without provenance is how a guessed attrition percent becomes next quarter's hiring target. Completeness without a publish step is how a draft becomes the live plan.

Keep the published plan visible beside the draft. The comparison is the review artifact: what changed, which vintages moved, which cells went empty because an input dropped out. That comparison is not publication.

Work a mid-cycle change without filling gaps

Here is the pattern, not a measured case. Mid-quarter, FP&A posts a new revenue vintage because a product launch moved out. The product-roadmap file updates the same day: a new platform squad is no longer in this half. Two regions have no attrition extract for the current period. The HR file for those regions is absent, not late with a note.

The agent loads the new revenue vintage and the new roadmap vintage. It drafts. Lines that depend on revenue and roadmap cite those files and their as-of dates. Lines that depend on attrition in the two regions stay empty. The agent does not copy last year's attrition, does not apply a company-wide rate, and does not write a placeholder percent.

The published plan is unchanged. Hiring managers still see the last version the lead published. Recruiters do not open reqs against the draft. Finance can see that a draft exists and which vintages it used.

The lead then walks the draft. They confirm the revenue and roadmap cites match the files FP&A and product actually posted. They leave the empty attrition cells empty, or they wait for HR to load a dated extract. They do not type a rate to make the grid total. When they are ready, they publish. Until that click, the draft is a draft.

If the lead instead treated auto-recalculate as publish, the delayed squad would disappear from the live plan overnight, and the two regions would either show invented attrition or a silently stale rate. That is the failure this loop is built to prevent.

The lead still publishes

Publish is a person. The agent may run on every qualifying input change. It may notify the lead that a new draft is ready. It does not flip the published flag.

The lead's checklist is short. Confirm each cited vintage is the file you intend to plan from. Confirm empty cells are empty because an input is missing, not because a job failed without raising. Confirm nobody filled an attrition percent by hand just for this cycle. Confirm the draft is the version you want hiring managers to use. Then publish.

If you are not ready, do not publish. A current draft with honest blanks is better than a published plan that hides missing attrition behind a made-up rate. Stakeholders can wait on empty cells. They cannot unwind a quarter of reqs opened against an unreviewed refresh.

After publish, the next finance or HR update starts a new draft. The cycle repeats. Continuous means the draft stays current with dated inputs. It does not mean the live workforce plan updates itself.

Is this worth automating for you?

Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other. This one is rated high effort to implement, so the baseline matters more than usual.

DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.

Measure the baseline first