# TSG Build or Buy: assumptions and their sources

All money is in Australian dollars unless a value says otherwise; prices set in US dollars are converted at the AUD/USD value. Every value below is a default that can be changed in the tool, and the organisations are illustrative, not empirical claims: every name is invented. The figures describe what the model gives for the values shown. They are not financial or procurement advice, and they do not say what any organisation ought to choose. Built by TSG Technology, which builds software for organisations, so it has a commercial interest in the choice to build. Every value, its basis and its sources are published so the figures can be checked.

Each value has three ends: one towards SaaS, a base, and one towards building, each with its basis. The base is used on the expected line; the runs draw each value between its two outer ends, most often near its base. 105 of 208 values rest only on reasoned ends: no study gives a figure for them, so all three ends are judgement.

## How the model works: The question

### The question the model answers

For one organisation and one use case, the model asks: over the horizon, does building the software cost less than buying it as SaaS? It answers for four ways of building at once, each against the same SaaS route.

It counts cost in Australian dollars, month by month, from the day the decision is made to the end of the horizon. It does not judge which software is better, only what each route costs to get and keep running.

### One way to buy, four ways to build

Every scenario prices five routes. SaaS is the yardstick: each build route is compared with it, never with each other directly.

The build routes differ in who does the work and at what rate. All four use AI to write code faster, by different amounts, which the AI uplift values set.

| Route | Who builds or runs it | What it pays for that SaaS does not |
| --- | --- | --- |
| Buy SaaS | The vendor; the organisation implements, configures and administers it | Seats, implementation and partner fees, training, vendor assessment, workarounds for missing features |
| In-house developers with AI agents | The organisation’s own developers, hiring any it lacks | Developer time, AI tokens, hosting, maintenance, compliance, the SaaS it runs until go-live |
| Business staff with AI app builders | Staff outside IT, on an AI app-builder platform | Staff time, platform fees per user and per builder, extra compliance effort |
| An agency | An outside development firm at a day rate | The agency’s build at its rate, then a yearly retainer |
| Open source or low code | The organisation’s developers, on an existing base | The share of the build the base leaves to do, any base licence, upstream releases |

### Fictional organisations and use cases

The organisations are made up, each typical of a kind of Australian organisation: a regional council, a charity, a bank, a hospital and so on. Each has a headcount, a team of in-house developers (or none), a regulatory regime and a tolerance for incidents. Each lists the use cases it is likely to have, but any use case can be paired with any organisation.

A use case is a kind of business software, such as a CRM, a helpdesk or timesheets. It sets how big the build is, what SaaS charges per seat, how many staff use it and how complex it is.

Headcount and seats differ: only the share of staff who use the software hold seats. The chip shows both, with seats as the users in year 1.

## How the model works: Counting the cost

### Cost lines, month by month

Each route is a set of cost lines over the months of the horizon: building or implementing it, hiring, running SaaS until go-live, cutting over, subscriptions and platform fees, hosting, AI tokens, maintenance and admin, compliance, and the expected cost of things going wrong. A line a route does not have is zero, and Show the math says why.

A build route goes live once its hours are done: build hours divided by what the team can do in a month, after any time to hire. Hosting, maintenance and compliance start from go-live.

Every amount is discounted to today’s dollars at a real discount rate, so a dollar spent in year five counts for less than one spent now.

### Where the organisation starts

The starting point chip sets where the organisation begins. Greenfields, with no system yet (the default), the work is done by hand until a route goes live: spreadsheets, email and re-keying, priced as a multiple of SaaS’s workaround hours, with the same chance of a data breach as an in-house app. SaaS pays to implement and every route trains its users at go-live.

Already on SaaS, the SaaS route has nothing left to implement. Until a build goes live it keeps paying for SaaS: that is the bridge. In its go-live month it pays to leave SaaS, moving the data and training its users; implementing the replacement is the build itself, so the cutover counts only the migration hours beyond SaaS’s own implementation.

A build that does not go live within the horizon is never counted as cheaper, whatever it costs.

### What SaaS costs beyond the seat price

SaaS pays more than its licences. It pays for implementation hours, which grow with the number of users, and a partner to help, at a partner day rate. It trains its users before go-live. Any custom development the partner does needs upkeep each year as the vendor releases new versions.

Once live, SaaS pays for admin, for connectors to other systems, and for vendor assessments under the organisation’s regime. Staff also spend hours working around features the product lacks, and that gap grows each year.

Seat prices rise at each renewal, and the organisation pays for a minimum number of seats and for seats bought but not used.

### Users and seats

Users are the share of staff who use the software, growing each year with headcount. SaaS bills seats: at least its minimum, and more than the users, because some seats are bought and never used. The app-builder and open-source routes pay per user where their platforms charge that way.

Build effort grows gently with the number of users, and a large buyer gets a negotiated discount off the seat price, rising to its full value at 1,000 seats.

### AI uplift: how much faster AI makes the work

An uplift is the share of the hours the work takes with AI. An uplift of 0.5 means half the hours. There are separate uplifts for building, for maintenance, for app builders, for migration and for admin.

The uplift improves each year by a set amount, down to a floor, so later work is cheaper than early work.

AI is not free: each developer hour burns tokens, priced in US dollars. Token use per unit of work is held flat, so tokens per hour rise as the uplift cuts the hours. The evidence on uplift is from 2026 only, because coding agents changed it quickly.

### Risks as events

Things go wrong on every route, differently. Each route faces its own hazards: a key person leaving and the software needing a rewrite, a security incident, an integration breaking, the platform reaching end of life, the agency failing, the app-builder platform changing, the SaaS vendor exiting the market or raising its price sharply at renewal.

Each hazard has a monthly chance and a cost when it happens. On the expected line it adds its chance times its cost. In the runs it either happens in a month or does not, so a run can be hit hard or not at all, which widens the range.

## How the model works: Uncertainty and the answer

### Every value has three ends

Each value the model uses has three ends: one towards SaaS, a base, and one towards building. An end says which way it pushes the answer, not who wins there. Each end has a basis: sourced from a study or price list, an estimate drawn from sources, a vendor claim, or reasoned where no study gives a figure.

Assumptions and sources lists every value with its ends, basis and sources. Moving a slider changes the value for this scenario; it stays within limits but can go beyond its ends, which the page flags.

### 2,000 runs, not one forecast

The model does not give one number. It runs the scenario 2,000 times. Each run draws every value between its two outer ends, most often near its base (a triangular draw), and draws each risk month by month. Any value set by hand is held fixed in every run.

The tiles show the middle run (the median) and the range from the 10th to the 90th percentile. The answer counts the share of runs in which each build route costs less than SaaS over the horizon.

The draws start from a fixed seed, so the same scenario gives the same answer every time.

### How the answer is worded

The answer is the share of runs in which a build costs less than SaaS. Above 80% the build is clearly cheaper; from 60% it leans cheaper; from 40% to under 60% it is too close to call; from 20% it leans dearer; below that it is clearly dearer.

The page leads with the build route that is cheaper in the most runs, and any route can be picked instead. The crossover is the month from which a route’s cumulative cost stays below SaaS’s to the end of the horizon; some routes never cross.

### The median and the expected line

Two figures can differ. The tiles show the median of the runs. Show the math and the cost breakdown show the expected line: every value at its base and each risk at its expected cost.

When a range is skewed, for example by a rare but costly risk, the median and the expected line come apart. Both are right; they answer different questions.

### What moves the answer

What moves this answer, in Adjust, lists the values that move the gap between the chosen route and SaaS the most, largest first. The tornado in Go deeper shows the same thing as bars: each value moved between its outer ends with every other value held at its base.

Most values barely move the gap; the few that move it most are where the answer is decided.

### Public claims, tested

Public claims about SaaS and AI-built software are restated as cost questions the model can answer, such as whether an in-house CRM build costs less than SaaS for a 500-person organisation over five years. Each is tested on a made-up organisation at the size the claim implies, over 2,000 runs, and stamped Holds, Too close to call or Fails. That is the As claimed stamp, and it stays put.

A second stamp, For you, asks the same question of the scenario on screen and moves with it. A claim about one product, such as Salesforce or a CRM, gets it only when the scenario is about that use case; a claim about software in general, such as that business apps are just databases, gets it on any use case, with the same route against SaaS. Load this claim’s test puts the claim’s own setup on screen to change. Claims about things the model takes as inputs, such as seat counts falling, are listed but not tested.

## How the model works: Limits

### What the model leaves out

It does not price how far the software sets the organisation apart, or regulatory penalties; these appear as notes beside the answer.

It does not forecast prices, vendor failures or token use; each is an input with three ends: one towards SaaS, a base, and one towards building.

It does not model business logic moving to an agent tier in place of business applications, as Microsoft’s CEO describes in claim C1; that claim is tested only as an in-house build against SaaS.

Seats bought for users who never use them stay bought: the model does not trim them at renewal.

How build effort grows with the number of users rests on judgement; no study measures it.

Time lost to a poorly fitting product rests on indirect evidence: studies of switching between apps set only the end towards building.

Each use case is priced alone unless the option to replace several products is set, and then every other product is taken to cost what this one does.

Each scenario starts either greenfields, with no system yet, or already on SaaS (the starting point chip); an organisation part-way between, with some of the work in a system, sits between the two.

The tiles show the median of the runs. Show-the-math and the cost breakdown show the expected line: every value at its base and each risk at its expected cost. When a range is skewed, the two can differ.

Greenfields, with no system yet, the work done by hand before a route goes live is priced as a multiple of the workaround hours set for a SaaS product’s missing features; no study gives a figure for it, so the multiple is judgement.

105 of 208 values rest only on reasoned ends: no study gives a figure for them, so all three ends are judgement. Assumptions and sources badges each one and can list only those.

Token use per developer hour is a 2026 snapshot taken at the base AI uplift; it rose about 18-fold in ten months. The model holds token use per unit of work flat over the horizon, so tokens per hour rise only as AI uplift cuts the hours.

The AUD/USD rate defaults to 0.67 US dollars per Australian dollar, the value’s base. A default taken from the Reserve Bank of Australia’s published rate is still to come.

### What the figures are, and are not

The figures describe what the model gives for the values shown. Every value is a sourced or labelled assumption that can be changed, and the organisations are made up.

They are not financial or procurement advice, and they do not say what any organisation ought to choose. Whether software sets an organisation apart, and what a regulator might do, are outside the arithmetic.

## Organisations

### Yarrabin Shire Council (Regional council, 350 staff)

A regional council of about 350 staff running roads, parks, halls and community grants across a large rural shire. A small IT team of four developers maintains a handful of internal systems alongside the corporate suite. Ratepayer records fall under the Privacy Act, and the council has little tolerance for incidents.

4 in-house developers; regime: Privacy Act; risk appetite: low. Use cases listed: Asset register, Grants management, WHS incident reporting, Room and resource bookings, Regulatory obligations register, Document approval workflow.

### Wattle Lane Community Care (Charity, 60 staff)

A community charity of about 60 staff and many volunteers, funded largely through grants and donations. It has no developers and buys most of its software. Client and donor records are personal information under the Privacy Act.

no in-house developers; regime: Privacy Act; risk appetite: medium. Use cases listed: CRM, Grants management, Forms and surveys, Expense approvals.

### Coralstone Mutual Bank (Mid-tier bank, 1,200 staff)

A customer-owned bank of about 1,200 staff with a 40-strong development team. It is regulated by APRA, and CPS 234 sets how it manages information security, including for its SaaS vendors. Its tolerance for incidents is low.

40 in-house developers; regime: APRA CPS 234; risk appetite: low. Use cases listed: Regulatory obligations register, Contract management, Procurement and purchase orders, Helpdesk and ticketing, Client portal.

### Harlow Pennick Lawyers (Law firm, 60 staff)

A 60-person commercial law firm with no developers of its own. Fee earners record time in six-minute units, and clients expect a secure place to exchange documents. Client confidentiality makes its tolerance for incidents low.

no in-house developers; regime: Privacy Act; risk appetite: low. Use cases listed: Client portal, Contract management, Project timesheets, Document approval workflow, Internal knowledge portal.

### Faculty of Applied Sciences, Tallowood University (University faculty, 400 staff)

A university faculty of about 400 academic and professional staff. Three developers sit within the faculty, separate from central IT. It manages research grants, lab and room bookings, and student surveys.

3 in-house developers; regime: Privacy Act; risk appetite: medium. Use cases listed: Grants management, Internal knowledge portal, Room and resource bookings, Forms and surveys, Helpdesk and ticketing.

### Gidgee Freight Lines (Logistics SME, 150 staff)

A family-owned freight business of about 150 staff, most of them drivers and warehouse workers. One developer looks after its systems. It is covered by the Privacy Act, and it accepts more risk than most.

1 in-house developers; regime: Privacy Act; risk appetite: high. Use cases listed: Project timesheets, WHS incident reporting, Asset register, Expense approvals, CRM.

### Bightwater Resources Authority (State agency, 900 staff)

A state government agency of about 900 staff that licenses and monitors water and mineral resources. A team of 12 developers works within a government security framework based on the ISM. Procurement, approvals and records follow formal policy, and tolerance for incidents is low.

12 in-house developers; regime: Australian Government ISM; risk appetite: low. Use cases listed: Procurement and purchase orders, Regulatory obligations register, Document approval workflow, Internal knowledge portal, HR and leave.

### Quokkaloop (Startup, 25 staff)

A software startup of about 25 people, six of them developers. It is growing quickly and has few formal compliance obligations. It accepts a high level of risk.

6 in-house developers; regime: Light regulation; risk appetite: high. Use cases listed: CRM, Helpdesk and ticketing, Expense approvals, HR and leave.

### Bellbird Coast Health Network (Hospital network, 3,000 staff)

A regional health network of about 3,000 staff across three hospitals and several community clinics. Its 25 developers support clinical and corporate systems. Patient and staff records are highly sensitive, and its tolerance for incidents is low.

25 in-house developers; regime: Privacy Act; risk appetite: low. Use cases listed: HR and leave, WHS incident reporting, Room and resource bookings, Procurement and purchase orders, Contract management, Asset register.

### Bandicoot Creek Civil (Construction contractor, 220 staff)

A civil construction contractor of about 220 staff working across several sites at once. It has no developers. Site safety reporting, plant and equipment, and subcontracts take much of its administration.

no in-house developers; regime: Privacy Act; risk appetite: medium. Use cases listed: WHS incident reporting, Project timesheets, Procurement and purchase orders, Contract management, Asset register.

## Use cases

| Use case | Complexity | Priced | Description |
| --- | --- | --- | --- |
| CRM | complex | US dollars | A mature, crowded market with per-seat prices that climb steeply by tier, and a build that has to cover pipelines, contact history and several integrations. |
| Helpdesk and ticketing | moderate | US dollars | Priced per agent rather than per employee, so only a small share of staff hold seats, and open-source service desks come close to feature parity. |
| HR and leave | moderate | Australian dollars | Every employee needs a seat, and Australian award rules, leave accrual and payroll links are where most of the build effort goes. |
| Expense approvals | complex | Australian dollars | Cheap per claimant, but card feeds, receipt capture and finance-system links make a build larger than the approval screens alone imply. |
| Asset register | simple | US dollars | Sold as a flat fee for a small team of users, with a free open-source product (Snipe-IT) whose fit gap is put at a tenth of a full build. |
| Grants management | moderate | Australian dollars | A flat-fee niche market; no open-source product was found, so a low-code base (Power Apps) is used, and assessment and acquittal workflows vary from one funder to the next. |
| Project timesheets | moderate | US dollars | A per-seat price at the low end of the library, across half the workforce, with payroll, finance and project links carrying most of the build effort. |
| Internal knowledge portal | simple | US dollars | A low price for nearly every employee, in a mature category with several open-source wikis. |
| Client portal | complex | US dollars | Priced per internal seat above a 30-seat floor, while a build carries external sign-in, separation of each client's data and branding. |
| Document approval workflow | simple | Australian dollars | Linear approvals sit close to what workflow tools bundled with office suites already do, so both the price and the build stay modest. |
| Regulatory obligations register | simple | Australian dollars | The register itself is simple, but specialist vendors charge a flat fee for obligation feeds and attestations that a build has to recreate. |
| Procurement and purchase orders | complex | US dollars | Sold as a flat fee over a buyer team, while a build has to add budget checks and links into finance or ERP systems. |
| WHS incident reporting | moderate | Australian dollars | A per-seat price at the low end of the library; the rules for incidents notifiable to WHS regulators and the sensitive records involved add to the cost of any build. |
| Room and resource bookings | simple | US dollars | Self-serve products with a per-seat price at the low end of the library, where calendar links are the main build effort and desk maps are extra. |
| Forms and surveys | simple | Australian dollars | Only the few staff who build forms hold seats, and mature open-source survey tools cover most of the job. |
| Contract management | complex | US dollars | Among the highest seat prices in the library; no open-source contract product was found, so a low-code base (Power Apps) is used, and redlining, a clause library and e-signature fall to the build. |

## Values: AI and the build

### Professional developers with AI coding agents, new code

`build-uplift`

towards SaaS 0.85× (estimate) · base 0.62× (estimate) · towards building 0.33× (estimate)

AI-era hours ÷ pre-AI hours for developers writing new code with AI coding agents; below 1 means fewer hours. It multiplies the build hours on the in-house, agency and open-source routes, and improves each year to the floor. Token use per hour rises as hours fall below the base, so tokens per unit of work stay the same.

Note: Revised 2026-10-14 (2026-only evidence, owner instruction). Was 0.9 / 0.75 / 0.5. Base: He et al. 1.72× merged PRs per developer (04:S1) → 0.58, plus 10% of saved hours back for review and rework (judgement) = 0.62. Bear 0.85 (04:S1 most conservative estimator; METR 04:S7). Bull 1 ÷ 3 (METR transcript median 04:S8 and Anthropic 4× 04:S18, cut by a quarter). Throughput, not hours. Bull 0.33 sits below uplift-floor bear 0.4 (C12). Also prices forced rewrites (C6). Vendor-at-base alternative 0.4 declined by the owner, 2026-10-14 (D3 kept).

Sources:
  - [“He, Agarwal, Denisov-Blanch, Azaletskiy, Koyejo, Vasilescu, AI Writes Faster Than Humans Can Review: A Longitudinal Study of an Enterprise 2x Mandate”](https://arxiv.org/abs/2607.01904), arXiv, 2026-07-02
  - [“Denisov-Blanch, Agarwal, Azaletskiy, He, Schaeffer, Miranda, Vasilescu, Koyejo, A Few Pages of Markdown: Committed AI Configuration and Lower Quality Cost after Coding-Agent Adoption”](https://arxiv.org/abs/2608.25241), arXiv (ASE 2026), 2026-08-26
  - [“DX releases Q2 2026 State of AI Impact in Engineering Report”](https://getdx.com/news/dx-releases-q2-2026-state-of-ai-impact-in-engineering-report/), DX, 2026-07-22
  - [“AI Engineering Report 2026: The Acceleration Whiplash”](https://faros.ai/research/ai-acceleration-whiplash), Faros AI, 2026
  - [“Saunders, New DORA Report Claims Strong Engineering Foundations Drive AI Return on Investment (on DORA, The ROI of AI-assisted Software Development, 2026.01)”](https://www.infoq.com/news/2026/05/dora-roi-ai-assisted-dev-report/), InfoQ, 2026-05-11
  - [“We are Changing our Developer Productivity Experiment Design”](https://metr.org/blog/2026-02-24-uplift-update/), METR, 2026-02-24
  - [“Deng, Analyzing coding agent transcripts to upper bound productivity gains from AI agents”](https://metr.org/notes/2026-02-17-exploratory-transcript-analysis-for-estimating-time-savings-from-coding-agents/), METR, 2026-02-17
  - [“When AI builds itself”](https://www.anthropic.com/institute/recursive-self-improvement), Anthropic, 2026-06-04

### Professional developers with AI coding agents, maintaining existing code

`maint-uplift`

towards SaaS 1.09× (sourced) · base 0.85× (estimate) · towards building 0.7× (estimate)

AI-era hours ÷ pre-AI hours for developers maintaining existing code with AI agents. It multiplies maintenance, integration-fix and risk-event hours on the in-house and open-source routes (risk events on agency too), improving each year to the floor. Token use per hour rises as hours fall below the base, so tokens per unit of work stay the same.

Note: Revised 2026-10-14 (2026-only evidence, owner instruction). Was 1.09 / 0.9 / 0.79. Base: He et al. legacy-repository share of the adoption effect (04:S1) → 0.84, plus review allowance = 0.85; consistent with METR 4–20% (04:S7, 04:S10). Bear: METR CI +9% (04:S7). Bull: pooled adoption effect on agent-ready repositories, e^−0.354 = 0.70 (04:S1). Applies to maint-share hours, upgrade-hours, integration fixes and oss-upstream-hours (C2), and to port and recovery events (C6). AI code-quality volume effect not in the base (C1). Vendor-at-base alternative 0.67 was declined by the owner on 2026-10-14 (D3 kept).

Sources:
  - [“He, Agarwal, Denisov-Blanch, Azaletskiy, Koyejo, Vasilescu, AI Writes Faster Than Humans Can Review: A Longitudinal Study of an Enterprise 2x Mandate”](https://arxiv.org/abs/2607.01904), arXiv, 2026-07-02
  - [“AI Engineering Report 2026: The Acceleration Whiplash”](https://faros.ai/research/ai-acceleration-whiplash), Faros AI, 2026
  - [“The State of AI in Software Engineering, H1 2026”](https://jellyfish.co/state-of-ai-software-engineering/), Jellyfish, 2026-06
  - [“Saunders, New DORA Report Claims Strong Engineering Foundations Drive AI Return on Investment (on DORA, The ROI of AI-assisted Software Development, 2026.01)”](https://www.infoq.com/news/2026/05/dora-roi-ai-assisted-dev-report/), InfoQ, 2026-05-11
  - [“We are Changing our Developer Productivity Experiment Design”](https://metr.org/blog/2026-02-24-uplift-update/), METR, 2026-02-24
  - [“Frontier Risk Report (February to March 2026)”](https://metr.org/blog/2026-05-19-frontier-risk-report/), METR, 2026-05-19

### Business staff with an AI app builder, as a multiple of a developer's baseline hours, new app

`vibe-build-uplift` · reasoned at all three ends

towards SaaS 1.3× (reasoned) · base 0.73× (reasoned) · towards building 0.33× (reasoned)

Business staff building with an AI app builder: their hours as a multiple of a developer’s traditional build hours. It multiplies the build hours on the vibe-coding route, where one staff member builds at the staff rate, and improves each year until it reaches the floor.

Note: Revised 2026-10-14 (2026-only evidence, owner instruction). Was 1.5 / 0.9 / 0.5. Base: build-uplift base 0.62 × 1.17 verified-success gap (04:S19, vendor figure used as an input) = 0.73. Bear: 0.62 × novice gap 2.0 (04:S19) ≈ 1.3. Bull equals build-uplift bull (C17). Least-supported base (see Gaps). Also prices vibe rewrites (C6).

Sources:
  - [“Aribe and Labastida, The Vibe Shift in Software Engineering: Evaluating AI-Led Conversational Programming for Performance, Cognition, and Responsible Adoption”](https://arxiv.org/abs/2609.09560), arXiv, 2026-09-09
  - [“Fawzy, Tahir, Blincoe, From Prompting to Verification: How Experience Shapes Vibe Coding Practices”](https://arxiv.org/abs/2605.24521), arXiv, 2026-05-23
  - [“Balepur et al., (Im)Paired Programming: Coding Agents Improve Productivity but Harm Understanding”](https://arxiv.org/abs/2607.26375), arXiv, 2026-07-29
  - [“When AI builds itself”](https://www.anthropic.com/institute/recursive-self-improvement), Anthropic, 2026-06-04
  - [“Agentic coding and persistent returns to expertise”](https://www.anthropic.com/research/claude-code-expertise), Anthropic, 2026-06-16
  - [“Stewart, Anise, Hogan, Griffin, Does AI Save Time on Product Design? A Randomized Controlled Experiment of AI Prompt-to-Design Workflows”](https://arxiv.org/abs/2609.26725), arXiv (Figma), 2026-09-22

### Business staff with an AI app builder, maintaining the app

`vibe-maint-uplift` · reasoned at all three ends

towards SaaS 1.8× (reasoned) · base 1.05× (reasoned) · towards building 0.7× (reasoned)

Business staff maintaining the app with an AI app builder: their hours as a multiple of a developer’s traditional maintenance hours. It multiplies maintenance and risk-event hours on the vibe-coding route, and improves each year until it reaches the floor.

Note: Revised 2026-10-14 (2026-only evidence, owner instruction). Was 2 / 1.1 / 0.79. Base: 0.85 × 1.17 (04:S19) + 0.05 comprehension loss (04:S15, 04:S20) ≈ 1.05. Bear: 0.85 × 2.0 + 0.05 ≈ 1.8. Bull equals maint-uplift bull (C17). Least-supported base (see Gaps). Applies to vibe maintenance, ports and recovery (C2, C6)

Sources:
  - [“Fawzy, Tahir, Blincoe, From Prompting to Verification: How Experience Shapes Vibe Coding Practices”](https://arxiv.org/abs/2605.24521), arXiv, 2026-05-23
  - [“Balepur et al., (Im)Paired Programming: Coding Agents Improve Productivity but Harm Understanding”](https://arxiv.org/abs/2607.26375), arXiv, 2026-07-29
  - [“Agentic coding and persistent returns to expertise”](https://www.anthropic.com/research/claude-code-expertise), Anthropic, 2026-06-16
  - [“How AI assistance impacts the formation of coding skills”](https://www.anthropic.com/research/AI-assistance-coding-skills), Anthropic, 2026-01-29

### Yearly fall in all uplift factors as tools improve

`uplift-improvement`

towards SaaS 10% a year (reasoned) · base 25% a year (estimate) · towards building 53% a year (estimate)

How much every uplift factor falls each year as AI tools improve. A build’s factor is fixed at the month the build starts; maintenance factors keep falling month by month. No factor falls below the floor.

Note: Revised 2026-10-14 (2026-only evidence, owner instruction). Was 5 / 15 / 40. Base: DX throughput +37% a year (04:S3) → 27% fall, cut to 25 for adoption spread. Bull: METR 130.8-day doubling (04:S12) with speedup ∝ horizon^0.39 (04:S11). Bear: review and QA bottlenecks (04:S1, 04:S4). Applies to all four uplift factors.

Sources:
  - [“He, Agarwal, Denisov-Blanch, Azaletskiy, Koyejo, Vasilescu, AI Writes Faster Than Humans Can Review: A Longitudinal Study of an Enterprise 2x Mandate”](https://arxiv.org/abs/2607.01904), arXiv, 2026-07-02
  - [“DX releases Q2 2026 State of AI Impact in Engineering Report”](https://getdx.com/news/dx-releases-q2-2026-state-of-ai-impact-in-engineering-report/), DX, 2026-07-22
  - [“AI Engineering Report 2026: The Acceleration Whiplash”](https://faros.ai/research/ai-acceleration-whiplash), Faros AI, 2026
  - [“Becker, Measuring the Self-Reported Impact of Early-2026 AI on Technical Worker Productivity”](https://metr.org/blog/2026-05-11-ai-usage-survey/), METR, 2026-05-11
  - [“Kwa and Cunningham, We spent 2 hours working in the future”](https://metr.org/notes/2026-03-19-org-uplift-game/), METR, 2026-03-19
  - [“Time Horizon 1.1”](https://metr.org/blog/2026-1-29-time-horizon-1-1/), METR, 2026-01-29

### Lowest uplift factor improvement can reach

`uplift-floor`

towards SaaS 0.4× (estimate) · base 0.21× (estimate) · towards building 0.12× (estimate)

The lowest an uplift factor can fall to through yearly improvement; a factor that starts below it stays where it started. It caps how far later builds and maintenance on the four build routes can speed up.

Note: Revised 2026-10-14 (2026-only evidence, owner instruction). Was 0.5 / 0.25 / 0.15. Base 0.62 ÷ 3 and bull 0.62 ÷ 5 (METR 3–5× over Feb-2026 work, 04:S11); bear 1 ÷ 2.5 (04:S9 forecast), since measured high adopters already reach 2× (04:S1, 04:S23). The build-uplift and vibe-build-uplift bulls (0.33) can now start below the floor; they stay at their start. Limits improvement only: uplift(t) = max(min(floor, uplift₀), uplift₀ × (1 − improvement)^(t/12)) (C12). Relative to pre-AI baseline hours.

Sources:
  - [“He, Agarwal, Denisov-Blanch, Azaletskiy, Koyejo, Vasilescu, AI Writes Faster Than Humans Can Review: A Longitudinal Study of an Enterprise 2x Mandate”](https://arxiv.org/abs/2607.01904), arXiv, 2026-07-02
  - [“Becker, Measuring the Self-Reported Impact of Early-2026 AI on Technical Worker Productivity”](https://metr.org/blog/2026-05-11-ai-usage-survey/), METR, 2026-05-11
  - [“Kwa and Cunningham, We spent 2 hours working in the future”](https://metr.org/notes/2026-03-19-org-uplift-game/), METR, 2026-03-19
  - [“AI benchmarks: What Jellyfish learned from analyzing 20 million PRs”](https://platformengineering.org/events/ai-benchmarks-what-jellyfish-learned-from-analyzing-20-million-prs-2026-03-05), Platform Engineering, 2026-03-05

### Share of build and maintenance hours that is coding

`coding-share`

towards SaaS 25% (estimate) · base 40% (estimate) · towards building 57% (estimate)

The share of build and maintenance hours that is writing or changing code, the part AI coding tools speed up. Analysis, design, testing, project management and change take their full time, so the AI factor applies to this share only.

Note: The AI uplift applies only to this share: share × uplift + (1 − share). Jones business-app phase shares (base), COCOMO II programming share (bull). Added 2026-10-18 (structural fixes).

Sources:
  - [“Julian Browne, Walking the Walk (reproduces the activity table from Capers Jones, Software Cost Estimating Methods for Large Projects, CrossTalk, April 2005)”](https://www.julianbrowne.com/article/walking-the-walk/), julianbrowne.com, 2009-05-05
  - [“MyFirstCOCOMO Tutorial (COCOMO II worked example, phase distribution)”](https://rose-hulman.edu/class/cs/csse372/201410/Readings/MyFirstCOCOMO_Tutorial.pdf), Rose-Hulman Institute of Technology, CSSE 372, 2014
  - [“Sukrit Kumar, Drishti Goel, Thomas Zimmermann, Brian Houck, B. Ashok, Chetan Bansal, Time Warp: The Gap Between Developers' Ideal vs Actual Workweeks in an AI-Driven Era (ICSE SEIP 2025)”](https://arxiv.org/html/2502.15287v1), arXiv, 2025-02
  - [“Paul Krill, Developers spend most of their time not coding: IDC report”](https://www.infoworld.com/article/3831759/developers-spend-most-of-their-time-not-coding-idc-report.html), InfoWorld, 2025-02
  - [“AI coding tools shift developers towards review work (BairesDev Q3 2026 Dev Barometer)”](https://itbrief.com.au/story/ai-coding-tools-shift-developers-towards-review-work), IT Brief Australia, 2026-09-28

### Traditional build hours, complex app (complex)

`build-hours.complex`

towards SaaS 4,500 h (estimate) · base 2,400 h (estimate) · towards building 1,400 h (estimate)

Hours a developer team needed to build the app before AI tools. Every build route starts from them, × the overrun and the route’s uplift, and maintenance, port and rewrite costs scale with them. The value shown is the one for the current use case’s complexity.

Note: Agency price ÷ A$180/h; 01's base agency rate A$171/h would add ~5% (C7, no change)

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07
  - [“Matt Hare, How Much Does Custom Software Cost in Australia? (2026 Practical Guide)”](https://hatchet.com.au/blog/how-much-does-custom-software-cost-in-australia-2026-guide/), Hatchet Pty Ltd, 2026-09-08
  - [“Harold van Heeringen, The value of benchmarking software projects (ISBSG PDR benchmark)”](https://www.slideshare.net/slideshow/the-value-of-benchmarking-software-projects/28954202), SlideShare, 2013-11-15

### Traditional build hours, moderate app (moderate)

`build-hours.moderate`

towards SaaS 1,800 h (estimate) · base 900 h (estimate) · towards building 500 h (estimate)

Hours a developer team needed to build the app before AI tools. Every build route starts from them, × the overrun and the route’s uplift, and maintenance, port and rewrite costs scale with them. The value shown is the one for the current use case’s complexity.

Note: Agency price ÷ A$180/h; 01's base agency rate A$171/h would add ~5% (C7, no change)

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07
  - [“Matt Hare, How Much Does Custom Software Cost in Australia? (2026 Practical Guide)”](https://hatchet.com.au/blog/how-much-does-custom-software-cost-in-australia-2026-guide/), Hatchet Pty Ltd, 2026-09-08
  - [“Harold van Heeringen, The value of benchmarking software projects (ISBSG PDR benchmark)”](https://www.slideshare.net/slideshow/the-value-of-benchmarking-software-projects/28954202), SlideShare, 2013-11-15

### Traditional build hours, simple app (simple)

`build-hours.simple`

towards SaaS 700 h (estimate) · base 350 h (estimate) · towards building 200 h (estimate)

Hours a developer team needed to build the app before AI tools. Every build route starts from them, × the overrun and the route’s uplift, and maintenance, port and rewrite costs scale with them. The value shown is the one for the current use case’s complexity.

Note: Agency price ÷ A$180/h; 01's base agency rate A$171/h would add ~5% (C7, no change)

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07
  - [“Matt Hare, How Much Does Custom Software Cost in Australia? (2026 Practical Guide)”](https://hatchet.com.au/blog/how-much-does-custom-software-cost-in-australia-2026-guide/), Hatchet Pty Ltd, 2026-09-08
  - [“Harold van Heeringen, The value of benchmarking software projects (ISBSG PDR benchmark)”](https://www.slideshare.net/slideshow/the-value-of-benchmarking-software-projects/28954202), SlideShare, 2013-11-15

### How build and maintenance effort grows with users (exponent)

`build-user-scale` · reasoned at all three ends

towards SaaS 0.35 (reasoned) · base 0.2 (reasoned) · towards building 0.05 (reasoned)

How a build’s hours grow with its users: build and maintenance hours × (users ÷ 50) raised to this. More users bring more roles, reporting, single sign-on groups, audit and testing. A small organisation’s build is never smaller than the base hours.

Note: Build and maintenance hours × (users ÷ 50) ^ this; ×1.82 at 1,000 users at base, below saas-impl-scale's 0.3. No measurement found. Added 2026-10-18 (structural fixes).

Sources:
  - [“COCOMO II Model Definition Manual (USC COCOMO II.1998.0)”](https://www.utdallas.edu/~John.Cole/CoCoMo2.pdf), University of Southern California, 1998
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07

### Actual ÷ estimated build hours

`build-overrun`

towards SaaS 1.6× (estimate) · base 1.3× (estimate) · towards building 1.1× (reasoned)

Actual build hours ÷ estimated build hours. It multiplies the build hours on all four build routes, which also lengthens each build and the months it pays for SaaS before going live.

Note: Applied once to build; not reapplied to events (C6). Not a double count with agency-price-derived hours: sourced overruns are against contingency-loaded budgets (C7).

Sources:
  - [“Bent Flyvbjerg and Alexander Budzier, Why Your IT Project Might Be Riskier Than You Think (HBR 2011; arXiv preprint)”](https://arxiv.org/abs/1304.0265), arXiv, 2013-03-28
  - [“Kjetil Moløkken and Magne Jørgensen, A Review of Surveys on Software Effort Estimation (ISESE 2003)”](https://static.aminer.org/pdf/PDF/000/435/238/a_review_of_surveys_on_software_effort_estimation.pdf), Simula Research Laboratory, 2003-09-30
  - [“Magne Jørgensen and Kjetil Moløkken-Østvold, How large are software cost overruns? A review of the 1994 CHAOS report (bibliography entry)”](https://ebse.webspace.durham.ac.uk/ebse-bibliography/how-large-are-software-cost-overruns-a-review-of-the-1994-chaos-report/), EBSE, Durham University, 2006
  - [“J. Laurenz Eveleens and Chris Verhoef, The rise and fall of the Chaos report figures”](https://ieeexplore.ieee.org/document/5232804), IEEE Software 27(1), 2010-01
  - [“Report blasts $1.4 billion blowout in Victorian ICT projects (Victorian Ombudsman own-motion investigation)”](https://idm.net.au/node/8759), IDM, 2011-11-24

### Business-side hours on a build, as a share of its build hours

`build-business-share`

towards SaaS 40% (estimate) · base 25% (estimate) · towards building 10% (estimate)

Hours the organisation’s own staff spend on an in-house, agency or open-source build (product owner, subject experts, acceptance testing, training and change), as a share of its build hours, at the staff rate over the build months. A business-staff build has none: the builder is the business.

Note: Product owner, subject experts, acceptance testing, training and change on in-house, agency and open-source builds, at the staff rate over the build months; not on business-staff builds. Added 2026-10-18 (structural fixes).

Sources:
  - [“Julian Browne, Walking the Walk (reproduces the activity table from Capers Jones, Software Cost Estimating Methods for Large Projects, CrossTalk, April 2005)”](https://www.julianbrowne.com/article/walking-the-walk/), julianbrowne.com, 2009-05-05
  - [“Ken Schwaber, Jeff Sutherland, The 2020 Scrum Guide”](https://scrumguides.org/scrum-guide.html), scrumguides.org, 2020-11
  - [“Markus Flückiger, A Gaping Hole in Agile Requirements Engineering”](https://www.zuehlke.com/en/node/697), Zühlke, 2020-04-06

### Developers on the build

`build-team-devs`

towards SaaS 1 developers (reasoned) · base 2 developers (reasoned) · towards building 3 developers (sourced)

Developers working on the build at once. More finish the in-house, agency and open-source builds sooner, so those routes stop paying for SaaS sooner. In-house teams are capped at the developers the organisation has; vibe-coding is one person.

Sources:
  - [“Matt Hare, How Much Does Custom Software Cost in Australia? (2026 Practical Guide)”](https://hatchet.com.au/blog/how-much-does-custom-software-cost-in-australia-2026-guide/), Hatchet Pty Ltd, 2026-09-08

### Months from approval to a developer starting

`time-to-hire` · reasoned at all three ends

towards SaaS 6 months (reasoned) · base 3 months (reasoned) · towards building 1.5 months (reasoned)

Months from approval until a hired developer starts. When the organisation has no developers, the in-house and open-source builds start this much later, so those routes pay for SaaS for longer before they go live.

Note: No source found.

### Cost to hire one developer

`recruitment-cost`

towards SaaS A$37,000 per hire (estimate) · base A$23,000 per hire (estimate) · towards building A$11,000 per hire (estimate)

The one-off cost of hiring one developer. It is paid at the start, once for each developer on the build team, on the in-house and open-source routes when the organisation has no developers of its own.

Sources:
  - [“How do recruitment agencies work in Australia (article)”](https://sprintlaw.com.au/articles/how-do-recruitment-agencies-work-in-australia/), Sprintlaw, 2025-12-12
  - [“The final SG rate increase is coming on 1 July (page undated; returned 403 to direct fetch, content confirmed via search result)”](https://www.ato.gov.au/businesses-and-organisations/small-business-newsroom/the-final-sg-rate-increase-is-coming-on-1-july), Australian Taxation Office, 2025

### Developer time kept after go-live when the organisation had to hire

`retained-dev-fte` · reasoned at all three ends

towards SaaS 1 FTE (reasoned) · base 0.5 FTE (reasoned) · towards building 0.2 FTE (reasoned)

When the organisation had to hire for the build, the share of one developer’s time it keeps paying for after go-live. It is a minimum on the in-house and open-source routes: maintenance hours count toward it.

Note: An organisation with no developers that hires for one app pays at least this fraction of one loaded developer each month after go-live (spec D11). Bear: the hire is dedicated; bull: most of the hire's time goes to other work. Added by plan 2 (R2).

## Values: SaaS price and seats

### Asset register price (Asset register)

`saas-price.asset-register`

towards SaaS US$3.33 per seat a month (estimate) · base US$12.5 per seat a month (estimate) · towards building US$28.56 per seat a month (estimate)

The SaaS product’s list price per seat a month, in the vendor’s currency. The SaaS route pays it on its billed seats from month 0, and each build route pays it until it goes live. The value shown is the one for the current use case.

Note: Currency: USD. pricing: "per-org": charge price × min-seats as a flat fee; shelfware-ratio and headcount-growth do not apply (C14).

Sources:
  - [“Snipe-IT pricing”](https://snipeitapp.com/pricing), Grokability, 2026
  - [“Reftab pricing”](https://www.reftab.com/pricing), Reftab, 2026
  - [“Asset Panda pricing”](https://www.vendr.com/marketplace/asset-panda), Vendr, 2026-02

### Booking system price (Room and resource bookings)

`saas-price.bookings`

towards SaaS US$3.73 per seat a month (estimate) · base US$10 per seat a month (sourced) · towards building US$16 per seat a month (sourced)

The SaaS product’s list price per seat a month, in the vendor’s currency. The SaaS route pays it on its billed seats from month 0, and each build route pays it until it goes live. The value shown is the one for the current use case.

Note: Currency: USD.

Sources:
  - [“Skedda pricing”](https://www.skedda.com/pricing), Skedda, 2026
  - [“Calendly pricing”](https://calendly.com/pricing), Calendly, 2026

### Client portal price per internal seat (Client portal)

`saas-price.client-portal`

towards SaaS US$3.3 per seat a month (estimate) · base US$26.5 per seat a month (reasoned) · towards building US$99.8 per seat a month (reasoned)

The SaaS product’s list price per seat a month, in the vendor’s currency. The SaaS route pays it on its billed seats from month 0, and each build route pays it until it goes live. The value shown is the one for the current use case.

Note: Currency: USD. Base and bull assume Assembly Enterprise priced per seat like its lower plans. Per-seat, converted over 30 internal seats (C14).

Sources:
  - [“Best SuiteDash alternatives in 2026: 13 client portal platforms compared”](https://resources.rework.com/tools/client-portal/best-suitedash-alternatives), Rework, 2026-09-09
  - [“Assembly pricing”](https://assembly.com/pricing), Assembly, 2026
  - [“Clinked pricing”](https://www.clinked.com/pricing), Clinked, 2026

### Contract management price (Contract management)

`saas-price.contracts`

towards SaaS US$25 per seat a month (sourced) · base US$260 per seat a month (estimate) · towards building US$334 per seat a month (estimate)

The SaaS product’s list price per seat a month, in the vendor’s currency. The SaaS route pays it on its billed seats from month 0, and each build route pays it until it goes live. The value shown is the one for the current use case.

Note: Currency: USD. Per-seat; seat basis consistent (Juro per user from 1 seat; Vendr medians over the 10-seat floor) (C14).

Sources:
  - [“Juro pricing 2026”](https://erpresearch.com/erp-add-ons/clm/juro/pricing), ERP Research, 2026
  - [“Juro pricing”](https://www.vendr.com/marketplace/juro), Vendr, 2026
  - [“Ironclad pricing”](https://www.vendr.com/marketplace/ironclad), Vendr, 2026-02

### CRM seat price (CRM)

`saas-price.crm`

towards SaaS US$67.73 per seat a month (estimate) · base US$100 per seat a month (sourced) · towards building US$195 per seat a month (sourced)

The SaaS product’s list price per seat a month, in the vendor’s currency. The SaaS route pays it on its billed seats from month 0, and each build route pays it until it goes live. The value shown is the one for the current use case.

Note: Currency: USD.

Sources:
  - [“Sales Cloud pricing (Australia)”](https://www.salesforce.com/au/sales/pricing/), Salesforce, 2026
  - [“HubSpot Sales Hub pricing”](https://blog.hubspot.com/sales/hubspot-sales-hub-pricing), HubSpot, 2026-09-09
  - [“Dynamics 365 Sales pricing (Australia)”](https://www.microsoft.com/en-au/dynamics-365/products/sales/pricing), Microsoft, 2026

### Approval workflow price (Document approval workflow)

`saas-price.doc-approval`

towards SaaS A$12.29 per seat a month (estimate) · base A$19 per seat a month (sourced) · towards building A$22.4 per seat a month (sourced)

The SaaS product’s list price per seat a month, in the vendor’s currency. The SaaS route pays it on its billed seats from month 0, and each build route pays it until it goes live. The value shown is the one for the current use case.

Note: Currency: AUD.

Sources:
  - [“monday.com pricing (AUD)”](https://www.monday.com/pricing), monday.com, 2026
  - [“Nintex pricing”](https://www.vendr.com/marketplace/nintex), Vendr, 2026-02
  - [“Power Automate pricing (Australia)”](https://www.microsoft.com/en-au/power-platform/products/power-automate/pricing), Microsoft, 2026

### Expense management price (Expense approvals)

`saas-price.expenses`

towards SaaS A$7 per seat a month (estimate) · base A$12.6 per seat a month (estimate) · towards building A$30 per seat a month (sourced)

The SaaS product’s list price per seat a month, in the vendor’s currency. The SaaS route pays it on its billed seats from month 0, and each build route pays it until it goes live. The value shown is the one for the current use case.

Note: Currency: AUD.

Sources:
  - [“Billing page (New Expensify help)”](https://help.expensify.com/articles/new-expensify/billing-and-subscriptions/Billing-page), Expensify, 2026
  - [“Zoho Expense pricing (Australia)”](https://www.zoho.com/au/expense/pricing/), Zoho, 2026
  - [“SAP Concur pricing 2026”](https://erpresearch.com/erp-add-ons/expense-management/sap-concur/pricing), ERP Research, 2026

### Forms and survey builder price (Forms and surveys)

`saas-price.forms-surveys`

towards SaaS A$23 per seat a month (sourced) · base A$26.15 per seat a month (estimate) · towards building A$75 per seat a month (sourced)

The SaaS product’s list price per seat a month, in the vendor’s currency. The SaaS route pays it on its billed seats from month 0, and each build route pays it until it goes live. The value shown is the one for the current use case.

Note: Currency: AUD.

Sources:
  - [“SurveyMonkey Team plans (AUD)”](https://www.surveymonkey.com/pricing/teams/), SurveyMonkey, 2026
  - [“Typeform pricing”](https://www.typeform.com/pricing/), Typeform, 2026

### Grants management price (Grants management)

`saas-price.grants`

towards SaaS A$33.33 per seat a month (estimate) · base A$89.17 per seat a month (estimate) · towards building A$292 per seat a month (estimate)

The SaaS product’s list price per seat a month, in the vendor’s currency. The SaaS route pays it on its billed seats from month 0, and each build route pays it until it goes live. The value shown is the one for the current use case.

Note: Currency: AUD. pricing: "per-org": charge price × min-seats as a flat fee; shelfware-ratio and headcount-growth do not apply (C14).

Sources:
  - [“SmartyGrants pricing (tiers from search-result extract; page redirect loop on fetch)”](https://www.smartygrants.com.au/pricing), SmartyGrants / Our Community, 2026
  - [“SmartyGrants pricing and inclusions”](http://www.smartygrants.com.au/sg/price), SmartyGrants / Our Community, 2026
  - [“Good Grants pricing”](https://www.goodgrants.com/pricing), Good Grants, 2026
  - [“Submittable pricing”](https://www.vendr.com/marketplace/submittable), Vendr, 2026

### Helpdesk agent price (Helpdesk and ticketing)

`saas-price.helpdesk`

towards SaaS US$19 per seat a month (sourced) · base US$51.5 per seat a month (estimate) · towards building US$115 per seat a month (sourced)

The SaaS product’s list price per seat a month, in the vendor’s currency. The SaaS route pays it on its billed seats from month 0, and each build route pays it until it goes live. The value shown is the one for the current use case.

Note: Currency: USD.

Sources:
  - [“Zendesk pricing (Australia)”](https://www.zendesk.com/au/pricing/), Zendesk, 2026
  - [“Freshdesk pricing”](https://www.freshworks.com/freshdesk/pricing/), Freshworks, 2026
  - [“Jira Service Management plans and pricing”](https://www.costbench.com/software/help-desk/jira-service-management/), CostBench, 2026-07-02

### HR and leave price per employee (HR and leave)

`saas-price.hr-leave`

towards SaaS A$10 per seat a month (estimate) · base A$14.2 per seat a month (estimate) · towards building A$24.42 per seat a month (estimate)

The SaaS product’s list price per seat a month, in the vendor’s currency. The SaaS route pays it on its billed seats from month 0, and each build route pays it until it goes live. The value shown is the one for the current use case.

Note: Currency: AUD. Employment Hero currency inferred (AUD)

Sources:
  - [“Pricing”](https://employmenthero.com/pricing/), Employment Hero, 2026
  - [“BambooHR pricing guide 2026 (Mathan Allington)”](https://www.compono.com/articles/bamboohr-pricing-guide-2026), Compono, 2026-09-30

### Knowledge portal price (Internal knowledge portal)

`saas-price.knowledge-portal`

towards SaaS US$5.68 per seat a month (estimate) · base US$10.49 per seat a month (estimate) · towards building US$20 per seat a month (sourced)

The SaaS product’s list price per seat a month, in the vendor’s currency. The SaaS route pays it on its billed seats from month 0, and each build route pays it until it goes live. The value shown is the one for the current use case.

Note: Currency: USD.

Sources:
  - [“Atlassian price updates effective October 2025”](https://www.adaptavist.com/blog/atlassian-price-updates-effective-october-2025), Adaptavist, 2025-08-19
  - [“Confluence pricing plans for Singapore”](https://wise.com/sg/blog/confluence-pricing), Wise, 2025-04-09
  - [“Notion pricing”](https://www.notion.com/pricing), Notion, 2026

### Procurement price per buyer seat (Procurement and purchase orders)

`saas-price.procurement`

towards SaaS US$17.54 per seat a month (estimate) · base US$62.5 per seat a month (estimate) · towards building US$250 per seat a month (estimate)

The SaaS product’s list price per seat a month, in the vendor’s currency. The SaaS route pays it on its billed seats from month 0, and each build route pays it until it goes live. The value shown is the one for the current use case.

Note: Currency: USD. pricing: "per-org": charge price × min-seats as a flat fee; shelfware-ratio and headcount-growth do not apply (C14).

Sources:
  - [“Procurify pricing”](https://www.procurify.com/pricing/), Procurify, 2026
  - [“Procurify pricing”](https://www.vendr.com/marketplace/procurify), Vendr, 2026
  - [“Zip pricing”](https://www.vendr.com/marketplace/zip), Vendr, 2026

### Regulatory register price (Regulatory obligations register)

`saas-price.reg-register`

towards SaaS A$12.45 per seat a month (estimate) · base A$45.4 per seat a month (estimate) · towards building A$322 per seat a month (estimate)

The SaaS product’s list price per seat a month, in the vendor’s currency. The SaaS route pays it on its billed seats from month 0, and each build route pays it until it goes live. The value shown is the one for the current use case.

Note: Currency: AUD. pricing: "per-org": charge price × min-seats as a flat fee; shelfware-ratio and headcount-growth do not apply (C14).

Sources:
  - [“Complynce listing (search-result extract; HTTP 403 on fetch)”](https://www.getapp.com.au/software/2095207/complynce), GetApp Australia, 2026
  - [“Regulatory compliance software listing (search-result extract; HTTP 403 on fetch)”](https://www.capterra.com.au/software/104833/regulatory-compliance-software), Capterra Australia, 2026
  - [“LogicGate pricing”](https://www.vendr.com/marketplace/logicgate), Vendr, 2026

### Timesheet price (Project timesheets)

`saas-price.timesheets`

towards SaaS US$9 per seat a month (sourced) · base US$13.6 per seat a month (estimate) · towards building US$20.88 per seat a month (estimate)

The SaaS product’s list price per seat a month, in the vendor’s currency. The SaaS route pays it on its billed seats from month 0, and each build route pays it until it goes live. The value shown is the one for the current use case.

Note: Currency: USD.

Sources:
  - [“Harvest pricing”](https://www.getharvest.com/pricing), Harvest, 2026
  - [“Toggl Track pricing”](https://toggl.com/track/pricing/), Toggl, 2026
  - [“monday.com pricing (AUD)”](https://www.monday.com/pricing), monday.com, 2026

### WHS incident price (WHS incident reporting)

`saas-price.whs-incidents`

towards SaaS A$5 per seat a month (sourced) · base A$13.1 per seat a month (estimate) · towards building A$34.48 per seat a month (estimate)

The SaaS product’s list price per seat a month, in the vendor’s currency. The SaaS route pays it on its billed seats from month 0, and each build route pays it until it goes live. The value shown is the one for the current use case.

Note: Currency: AUD.

Sources:
  - [“Mitti (by SafetyCulture) pricing”](https://mitti.com/pricing/), SafetyCulture, 2026
  - [“Vault listing (search-result extract; HTTP 403 on fetch)”](https://www.capterra.com.au/software/167720/vault), Capterra Australia, 2026
  - [“Donesafe pricing”](https://donesafe.com/pricing/), Donesafe, 2026

### Yearly seat price rise at renewal

`saas-annual-rise`

towards SaaS 3% a year (sourced) · base 6% a year (sourced) · towards building 9% a year (vendor claim)

How much the SaaS seat price rises at each yearly renewal, compounding from the start of the contract. It raises the SaaS subscription, and with it what each build route pays for SaaS until it goes live.

Note: **Changed (C13):** bull 13.2 → 9, the top of Tropic's 3–9% typical non-AI renewal uplift, labelled vendor-claim (Tropic is a procurement vendor; 02 trusts only its low end). The Vertice index (13.2) includes the step rises the shock levers add separately (spec §6.1). Base 6 = Salesforce's average list rise.

Sources:
  - [“SaaS inflation rate”](https://www.vertice.one/insights/saas-inflation-rate), Vertice, 2026-07
  - [“SaaS Inflation Index 2026 (report landing page)”](https://www.vertice.one/l/saas-inflation-index-report), Vertice, 2026
  - [“How to use a software pricing benchmark at renewal”](https://www.tropicapp.io/blog/software-pricing-benchmark-renewal), Tropic, 2026-09-04
  - [“Updated Product Packaging and Pricing Offer New AI Capabilities and More Ways to Scale AI Throughout Every Organization”](https://www.salesforce.com/news/?p=88023), Salesforce, 2025-06-17
  - [“Atlassian price updates effective October 2025”](https://www.adaptavist.com/blog/atlassian-price-updates-effective-october-2025), Adaptavist, 2025-08-19
  - [“Microsoft 365 boosts prices in 2026 to pay for more AI and security (Richard Speed)”](https://www.theregister.com/2025/12/05/microsoft_365_prices_up_2026), The Register, 2025-12-05
  - [“Microsoft 365 Prices Rise on 1 July: What IT Teams Need to Do Before the Deadline (Marcus Law)”](https://www.uctoday.com/unified-communications/microsoft-365-prices-rise-on-1-july-what-it-teams-need-to-do-before-the-deadline/), UC Today, 2026-05-19

### Inflation, to make SaaS price rises real

`cpi`

towards SaaS 3% a year (sourced) · base 2.5% a year (sourced) · towards building 2% a year (sourced)

Inflation, used to turn the SaaS price rise into a real one, as every other amount here is real. SaaS seats, app-builder fees and the open-source licence rise by (1 + yearly rise) ÷ (1 + inflation) − 1 a year.

Note: RBA target band and midpoint. SaaS, app-builder and open-source licence prices rise by (1 + saas-annual-rise) ÷ (1 + cpi) − 1 a year. Added 2026-10-18 (structural fixes).

Sources:
  - [“Australia's Inflation Target”](https://rba.gov.au/education/resources/explainers/australias-inflation-target.html), Reserve Bank of Australia, 2026
  - [“RBA flags inflation fight isn't over”](https://www.commbank.com.au/articles/newsroom/2026/08/rbs-flags-inflation-fight-interest-rates.html), Commonwealth Bank, 2026-08-11

### Negotiated SaaS discount at 1,000 seats

`saas-volume-discount`

towards SaaS 25% (vendor claim) · base 10% (estimate) · towards building 0% (sourced)

The discount off list price a large buyer negotiates, reached at 1,000 billed seats. It grows from none at 50 seats on a log scale and stays at this beyond 1,000.

Note: Off list price, from none at 50 billed seats to this at 1,000 on a log scale, held beyond. Base ≈ the DTA's IBM arrangement; bull: Microsoft ended volume levels in 2025; bear from Vertice's average (vendor). Added 2026-10-18 (structural fixes).

Sources:
  - [“Krishnendu Moulick, Gaurav Dewan, Microsoft's Elimination of Volume-Based Price Levels: A New Era in Enterprise Licensing Economics”](https://avasant.com/?p=226067), Avasant, 2025-11
  - [“Microsoft to hike enterprise SaaS prices (reporting Gartner)”](https://idm.net.au/node/15327), IDM, 2025-09-11
  - [“Average discount from list price”](https://www.vertice.one/insights/average-discount-from-list-price), Vertice, 2026-07
  - [“New IBM IT contract OK”](https://psnews.com.au/new-ibm-it-contract-ok/5697/), PS News, 2018-07-09

### Seats bought ÷ seats actively used

`shelfware-ratio`

towards SaaS 1.1× (reasoned) · base 1.33× (estimate) · towards building 1.43× (estimate)

Seats bought for every seat actively used. Billed seats are users × this ratio, and at least the vendor’s minimum, so it raises the SaaS subscription on use cases priced per seat. It has no effect where the use case is priced per organisation.

Note: **Changed (C3):** bull 1.85 → 1.43 = 1 ÷ 0.70, Gartner's ~30% of licences unused (03:S8); vendor "underutilized" shares count occasional users already in users-share. Base 1.33 (Gartner 25% of spend underutilised, 03:S7); bear 1.10 reasoned.

Sources:
  - [“SaaS License Management (blog, updated with 2026 SaaS Management Index data)”](https://zylo.com/blog/saas-license), Zylo, 2026-02-05
  - [“Why Understanding Application Usage Is Key to Optimizing SaaS”](https://zylo.com/blog/why-understanding-application-usage-key-begin-optimizing-saas), Zylo, 2026-04-16
  - [“2026 SaaS Management Index (download page)”](https://zylo.com/2026-saas-management-index-download-now), Zylo, 2026
  - [“53% of SaaS licenses remain unused (reporting Productiv data)”](https://www.helpnetsecurity.com/2023/07/04/saas-spend-management/), Help Net Security, 2023-07-04
  - [“Countering 4 "myths" of tech stack dysfunction: shrinkage, martech, shadow IT, and utilization”](https://chiefmartec.com/2023/07/countering-4-myths-of-tech-stack-dysfunction-shrinkage-martech-shadow-it-and-utilization/), chiefmartec.com, 2023-07-07
  - [“SaaS purchasing insights for March 2023”](https://vertice.one/blog/saas-purchasing-insights-for-march-2023), Vertice, 2023-02-28
  - [“How strong governance can reduce your SaaS spend”](https://okta.com/blog/2024/08/how-strong-governance-can-reduce-your-saas-spend), Okta, 2024-08-14
  - [“SaaS Licences: 30% of Them Go Unused”](https://silicon.eu/saas-licences-30-of-them-go-unused-8529.html), Silicon.eu, 2023-05-23
  - [“BetterCloud Announces a 3x ROI Guarantee Program to Help IT Rapidly Eliminate Wasted SaaS Spend (press release, via SHRM vendor directory; page returned 403, wording taken from search summary)”](https://vendordirectory.shrm.org/company/838073/news/3527274/bettercloud-announces-a-3x-roi-guarantee-program-to-help-it-rapidly-eliminate-wasted-saas-spend), BetterCloud, 2024-10

### Share of staff on asset register (Asset register)

`users-share.asset-register` · reasoned at all three ends

towards SaaS 3% (reasoned) · base 5% (reasoned) · towards building 10% (reasoned)

The share of the organisation’s staff who use this software; users are headcount × this share. Users set SaaS seats and, on every route, admin hours, hosting, per-user fees and the records exposed in an incident. The value shown is the one for the current use case.

Note: Who needs a seat, occasional users included; shelfware applies on top (C3).

### Share of staff booking (Room and resource bookings)

`users-share.bookings` · reasoned at all three ends

towards SaaS 10% (reasoned) · base 20% (reasoned) · towards building 50% (reasoned)

The share of the organisation’s staff who use this software; users are headcount × this share. Users set SaaS seats and, on every route, admin hours, hosting, per-user fees and the records exposed in an incident. The value shown is the one for the current use case.

Note: Who needs a seat, occasional users included; shelfware applies on top (C3).

### Share of staff on client portal (Client portal)

`users-share.client-portal` · reasoned at all three ends

towards SaaS 5% (reasoned) · base 15% (reasoned) · towards building 30% (reasoned)

The share of the organisation’s staff who use this software; users are headcount × this share. Users set SaaS seats and, on every route, admin hours, hosting, per-user fees and the records exposed in an incident. The value shown is the one for the current use case.

Note: Who needs a seat, occasional users included; shelfware applies on top (C3).

### Share of staff on contracts (Contract management)

`users-share.contracts` · reasoned at all three ends

towards SaaS 2% (reasoned) · base 5% (reasoned) · towards building 10% (reasoned)

The share of the organisation’s staff who use this software; users are headcount × this share. Users set SaaS seats and, on every route, admin hours, hosting, per-user fees and the records exposed in an incident. The value shown is the one for the current use case.

Note: Who needs a seat, occasional users included; shelfware applies on top (C3).

### Share of staff on CRM (CRM)

`users-share.crm` · reasoned at all three ends

towards SaaS 10% (reasoned) · base 20% (reasoned) · towards building 40% (reasoned)

The share of the organisation’s staff who use this software; users are headcount × this share. Users set SaaS seats and, on every route, admin hours, hosting, per-user fees and the records exposed in an incident. The value shown is the one for the current use case.

Note: Who needs a seat, occasional users included; shelfware applies on top (C3).

### Share of staff in approvals (Document approval workflow)

`users-share.doc-approval` · reasoned at all three ends

towards SaaS 30% (reasoned) · base 50% (reasoned) · towards building 80% (reasoned)

The share of the organisation’s staff who use this software; users are headcount × this share. Users set SaaS seats and, on every route, admin hours, hosting, per-user fees and the records exposed in an incident. The value shown is the one for the current use case.

Note: Who needs a seat, occasional users included; shelfware applies on top (C3).

### Share of staff claiming expenses (Expense approvals)

`users-share.expenses` · reasoned at all three ends

towards SaaS 20% (reasoned) · base 40% (reasoned) · towards building 70% (reasoned)

The share of the organisation’s staff who use this software; users are headcount × this share. Users set SaaS seats and, on every route, admin hours, hosting, per-user fees and the records exposed in an incident. The value shown is the one for the current use case.

Note: Who needs a seat, occasional users included; shelfware applies on top (C3).

### Share of staff building forms (Forms and surveys)

`users-share.forms-surveys` · reasoned at all three ends

towards SaaS 2% (reasoned) · base 5% (reasoned) · towards building 10% (reasoned)

The share of the organisation’s staff who use this software; users are headcount × this share. Users set SaaS seats and, on every route, admin hours, hosting, per-user fees and the records exposed in an incident. The value shown is the one for the current use case.

Note: Who needs a seat, occasional users included; shelfware applies on top (C3).

### Share of staff on grants system (Grants management)

`users-share.grants` · reasoned at all three ends

towards SaaS 3% (reasoned) · base 5% (reasoned) · towards building 8% (reasoned)

The share of the organisation’s staff who use this software; users are headcount × this share. Users set SaaS seats and, on every route, admin hours, hosting, per-user fees and the records exposed in an incident. The value shown is the one for the current use case.

Note: Who needs a seat, occasional users included; shelfware applies on top (C3).

### Share of staff who are agents (Helpdesk and ticketing)

`users-share.helpdesk` · reasoned at all three ends

towards SaaS 3% (reasoned) · base 5% (reasoned) · towards building 10% (reasoned)

The share of the organisation’s staff who use this software; users are headcount × this share. Users set SaaS seats and, on every route, admin hours, hosting, per-user fees and the records exposed in an incident. The value shown is the one for the current use case.

Note: Who needs a seat, occasional users included; shelfware applies on top (C3).

### Share of staff on HR (HR and leave)

`users-share.hr-leave`

towards SaaS 100% (sourced) · base 100% (sourced) · towards building 100% (sourced)

The share of the organisation’s staff who use this software; users are headcount × this share. Users set SaaS seats and, on every route, admin hours, hosting, per-user fees and the records exposed in an incident. The value shown is the one for the current use case.

Note: Who needs a seat, occasional users included; shelfware applies on top (C3).

Sources:
  - [“Pricing”](https://employmenthero.com/pricing/), Employment Hero, 2026
  - [“BambooHR pricing guide 2026 (Mathan Allington)”](https://www.compono.com/articles/bamboohr-pricing-guide-2026), Compono, 2026-09-30

### Share of staff on knowledge portal (Internal knowledge portal)

`users-share.knowledge-portal` · reasoned at all three ends

towards SaaS 50% (reasoned) · base 80% (reasoned) · towards building 100% (reasoned)

The share of the organisation’s staff who use this software; users are headcount × this share. Users set SaaS seats and, on every route, admin hours, hosting, per-user fees and the records exposed in an incident. The value shown is the one for the current use case.

Note: Who needs a seat, occasional users included; shelfware applies on top (C3).

### Share of staff with buyer seats (Procurement and purchase orders)

`users-share.procurement` · reasoned at all three ends

towards SaaS 5% (reasoned) · base 10% (reasoned) · towards building 20% (reasoned)

The share of the organisation’s staff who use this software; users are headcount × this share. Users set SaaS seats and, on every route, admin hours, hosting, per-user fees and the records exposed in an incident. The value shown is the one for the current use case.

Note: Who needs a seat, occasional users included; shelfware applies on top (C3).

### Share of staff on register (Regulatory obligations register)

`users-share.reg-register` · reasoned at all three ends

towards SaaS 5% (reasoned) · base 10% (reasoned) · towards building 20% (reasoned)

The share of the organisation’s staff who use this software; users are headcount × this share. Users set SaaS seats and, on every route, admin hours, hosting, per-user fees and the records exposed in an incident. The value shown is the one for the current use case.

Note: Who needs a seat, occasional users included; shelfware applies on top (C3).

### Share of staff on timesheets (Project timesheets)

`users-share.timesheets` · reasoned at all three ends

towards SaaS 30% (reasoned) · base 50% (reasoned) · towards building 80% (reasoned)

The share of the organisation’s staff who use this software; users are headcount × this share. Users set SaaS seats and, on every route, admin hours, hosting, per-user fees and the records exposed in an incident. The value shown is the one for the current use case.

Note: Who needs a seat, occasional users included; shelfware applies on top (C3).

### Share of staff with WHS seats (WHS incident reporting)

`users-share.whs-incidents` · reasoned at all three ends

towards SaaS 10% (reasoned) · base 30% (reasoned) · towards building 100% (reasoned)

The share of the organisation’s staff who use this software; users are headcount × this share. Users set SaaS seats and, on every route, admin hours, hosting, per-user fees and the records exposed in an incident. The value shown is the one for the current use case.

Note: Who needs a seat, occasional users included; shelfware applies on top (C3).

### Yearly headcount growth

`headcount-growth`

towards SaaS −0.5% a year (sourced) · base 2.2% a year (estimate) · towards building 5.7% a year (sourced)

How much the headcount grows each year, in one step a year. More people means more users: more SaaS seats and, on every route, more admin hours, hosting, per-user fees and records exposed in an incident.

Note: Does not grow per-organisation fees (C14).

Sources:
  - [“Labour Account Australia, June 2026”](https://www.abs.gov.au/statistics/labour/labour-accounts/labour-account-australia/jun-2026), Australian Bureau of Statistics, 2026-09-04
  - [“Australian Industry, 2024-25”](https://www.abs.gov.au/statistics/industry/industry-overview/australian-industry/2024-25), Australian Bureau of Statistics, 2026-06-19
  - [“APS headcount reflects strengthening regional presence”](https://psnews.com.au/?p=167234), PS News, 2025-09-30

### Asset register floor (Asset register)

`saas-min-seats.asset-register`

towards SaaS 10 seats (estimate) · base 10 seats (estimate) · towards building 10 seats (estimate)

The fewest seats the vendor bills. Billed seats never fall below it, and for a use case priced per organisation it is the number billed whatever the headcount. The value shown is the one for the current use case.

Note: pricing: "per-org": charge price × min-seats as a flat fee; shelfware-ratio and headcount-growth do not apply (C14).

Sources:
  - [“Snipe-IT pricing”](https://snipeitapp.com/pricing), Grokability, 2026
  - [“Reftab pricing”](https://www.reftab.com/pricing), Reftab, 2026
  - [“Asset Panda pricing”](https://www.vendr.com/marketplace/asset-panda), Vendr, 2026-02

### Bookings minimum seats (Room and resource bookings)

`saas-min-seats.bookings`

towards SaaS 1 seats (sourced) · base 1 seats (sourced) · towards building 50 seats (sourced)

The fewest seats the vendor bills. Billed seats never fall below it, and for a use case priced per organisation it is the number billed whatever the headcount. The value shown is the one for the current use case.

Sources:
  - [“Calendly pricing”](https://calendly.com/pricing), Calendly, 2026

### Client portal minimum seats (Client portal)

`saas-min-seats.client-portal`

towards SaaS 30 seats (estimate) · base 30 seats (estimate) · towards building 30 seats (estimate)

The fewest seats the vendor bills. Billed seats never fall below it, and for a use case priced per organisation it is the number billed whatever the headcount. The value shown is the one for the current use case.

Note: **Changed (C14):** 1 / 3 / 5 (Assembly plan user counts) → 30 / 30 / 30, the 0.15 × 200 seat basis 02 used to convert every client-portal price; per-seat above 30.

Sources:
  - [“Assembly pricing”](https://assembly.com/pricing), Assembly, 2026
  - [“Best SuiteDash alternatives in 2026: 13 client portal platforms compared”](https://resources.rework.com/tools/client-portal/best-suitedash-alternatives), Rework, 2026-09-09

### Contracts floor (Contract management)

`saas-min-seats.contracts`

towards SaaS 1 seats (sourced) · base 10 seats (estimate) · towards building 10 seats (estimate)

The fewest seats the vendor bills. Billed seats never fall below it, and for a use case priced per organisation it is the number billed whatever the headcount. The value shown is the one for the current use case.

Note: Per-seat; seat basis consistent (Juro per user from 1 seat; Vendr medians over the 10-seat floor) (C14).

Sources:
  - [“Juro pricing 2026”](https://erpresearch.com/erp-add-ons/clm/juro/pricing), ERP Research, 2026
  - [“Juro pricing”](https://www.vendr.com/marketplace/juro), Vendr, 2026
  - [“Ironclad pricing”](https://www.vendr.com/marketplace/ironclad), Vendr, 2026-02

### CRM minimum seats (CRM)

`saas-min-seats.crm`

towards SaaS 1 seats (reasoned) · base 1 seats (reasoned) · towards building 10 seats (sourced)

The fewest seats the vendor bills. Billed seats never fall below it, and for a use case priced per organisation it is the number billed whatever the headcount. The value shown is the one for the current use case.

Sources:
  - [“Sales Cloud pricing (Australia)”](https://www.salesforce.com/au/sales/pricing/), Salesforce, 2026
  - [“HubSpot Sales Hub pricing”](https://blog.hubspot.com/sales/hubspot-sales-hub-pricing), HubSpot, 2026-09-09
  - [“Dynamics 365 Sales pricing (Australia)”](https://www.microsoft.com/en-au/dynamics-365/products/sales/pricing), Microsoft, 2026

### Approval minimum seats (Document approval workflow)

`saas-min-seats.doc-approval`

towards SaaS 1 seats (sourced) · base 1 seats (reasoned) · towards building 3 seats (sourced)

The fewest seats the vendor bills. Billed seats never fall below it, and for a use case priced per organisation it is the number billed whatever the headcount. The value shown is the one for the current use case.

Sources:
  - [“monday.com pricing (AUD)”](https://www.monday.com/pricing), monday.com, 2026
  - [“Power Automate pricing (Australia)”](https://www.microsoft.com/en-au/power-platform/products/power-automate/pricing), Microsoft, 2026

### Expenses minimum seats (Expense approvals)

`saas-min-seats.expenses` · reasoned at all three ends

towards SaaS 1 seats (reasoned) · base 1 seats (reasoned) · towards building 1 seats (reasoned)

The fewest seats the vendor bills. Billed seats never fall below it, and for a use case priced per organisation it is the number billed whatever the headcount. The value shown is the one for the current use case.

Sources:
  - [“Billing page (New Expensify help)”](https://help.expensify.com/articles/new-expensify/billing-and-subscriptions/Billing-page), Expensify, 2026
  - [“Zoho Expense pricing (Australia)”](https://www.zoho.com/au/expense/pricing/), Zoho, 2026

### Forms minimum seats (Forms and surveys)

`saas-min-seats.forms-surveys`

towards SaaS 1 seats (sourced) · base 3 seats (sourced) · towards building 5 seats (sourced)

The fewest seats the vendor bills. Billed seats never fall below it, and for a use case priced per organisation it is the number billed whatever the headcount. The value shown is the one for the current use case.

Sources:
  - [“SurveyMonkey Team plans (AUD)”](https://www.surveymonkey.com/pricing/teams/), SurveyMonkey, 2026
  - [“Typeform pricing”](https://www.typeform.com/pricing/), Typeform, 2026
  - [“Jotform pricing”](https://www.jotform.com/pricing/), Jotform, 2026

### Grants floor (Grants management)

`saas-min-seats.grants`

towards SaaS 10 seats (estimate) · base 10 seats (estimate) · towards building 10 seats (estimate)

The fewest seats the vendor bills. Billed seats never fall below it, and for a use case priced per organisation it is the number billed whatever the headcount. The value shown is the one for the current use case.

Note: pricing: "per-org": charge price × min-seats as a flat fee; shelfware-ratio and headcount-growth do not apply (C14).

Sources:
  - [“SmartyGrants pricing (tiers from search-result extract; page redirect loop on fetch)”](https://www.smartygrants.com.au/pricing), SmartyGrants / Our Community, 2026
  - [“Good Grants pricing”](https://www.goodgrants.com/pricing), Good Grants, 2026

### Helpdesk minimum seats (Helpdesk and ticketing)

`saas-min-seats.helpdesk` · reasoned at all three ends

towards SaaS 1 seats (reasoned) · base 1 seats (reasoned) · towards building 1 seats (reasoned)

The fewest seats the vendor bills. Billed seats never fall below it, and for a use case priced per organisation it is the number billed whatever the headcount. The value shown is the one for the current use case.

Sources:
  - [“Zendesk pricing (Australia)”](https://www.zendesk.com/au/pricing/), Zendesk, 2026
  - [“Freshdesk pricing”](https://www.freshworks.com/freshdesk/pricing/), Freshworks, 2026
  - [“Jira Service Management plans and pricing”](https://www.costbench.com/software/help-desk/jira-service-management/), CostBench, 2026-07-02

### HR minimum seats (HR and leave)

`saas-min-seats.hr-leave`

towards SaaS 10 seats (sourced) · base 10 seats (sourced) · towards building 25 seats (estimate)

The fewest seats the vendor bills. Billed seats never fall below it, and for a use case priced per organisation it is the number billed whatever the headcount. The value shown is the one for the current use case.

Sources:
  - [“Pricing”](https://employmenthero.com/pricing/), Employment Hero, 2026
  - [“BambooHR pricing guide 2026 (Mathan Allington)”](https://www.compono.com/articles/bamboohr-pricing-guide-2026), Compono, 2026-09-30

### Knowledge portal minimum seats (Internal knowledge portal)

`saas-min-seats.knowledge-portal` · reasoned at all three ends

towards SaaS 1 seats (reasoned) · base 1 seats (reasoned) · towards building 1 seats (reasoned)

The fewest seats the vendor bills. Billed seats never fall below it, and for a use case priced per organisation it is the number billed whatever the headcount. The value shown is the one for the current use case.

Sources:
  - [“Confluence pricing plans for Singapore”](https://wise.com/sg/blog/confluence-pricing), Wise, 2025-04-09
  - [“Notion pricing”](https://www.notion.com/pricing), Notion, 2026

### Procurement floor (Procurement and purchase orders)

`saas-min-seats.procurement`

towards SaaS 20 seats (estimate) · base 20 seats (estimate) · towards building 20 seats (estimate)

The fewest seats the vendor bills. Billed seats never fall below it, and for a use case priced per organisation it is the number billed whatever the headcount. The value shown is the one for the current use case.

Note: pricing: "per-org": charge price × min-seats as a flat fee; shelfware-ratio and headcount-growth do not apply (C14).

Sources:
  - [“Procurify pricing”](https://www.vendr.com/marketplace/procurify), Vendr, 2026
  - [“Zip pricing”](https://www.vendr.com/marketplace/zip), Vendr, 2026

### Register floor (Regulatory obligations register)

`saas-min-seats.reg-register`

towards SaaS 20 seats (estimate) · base 20 seats (estimate) · towards building 20 seats (estimate)

The fewest seats the vendor bills. Billed seats never fall below it, and for a use case priced per organisation it is the number billed whatever the headcount. The value shown is the one for the current use case.

Note: pricing: "per-org": charge price × min-seats as a flat fee; shelfware-ratio and headcount-growth do not apply (C14).

Sources:
  - [“Complynce listing (search-result extract; HTTP 403 on fetch)”](https://www.getapp.com.au/software/2095207/complynce), GetApp Australia, 2026
  - [“LogicGate pricing”](https://www.vendr.com/marketplace/logicgate), Vendr, 2026

### Timesheets minimum seats (Project timesheets)

`saas-min-seats.timesheets`

towards SaaS 1 seats (sourced) · base 1 seats (sourced) · towards building 3 seats (sourced)

The fewest seats the vendor bills. Billed seats never fall below it, and for a use case priced per organisation it is the number billed whatever the headcount. The value shown is the one for the current use case.

Sources:
  - [“Harvest pricing”](https://www.getharvest.com/pricing), Harvest, 2026
  - [“Toggl Track pricing”](https://toggl.com/track/pricing/), Toggl, 2026
  - [“monday.com pricing (AUD)”](https://www.monday.com/pricing), monday.com, 2026

### WHS minimum seats (WHS incident reporting)

`saas-min-seats.whs-incidents` · reasoned at all three ends

towards SaaS 1 seats (reasoned) · base 1 seats (reasoned) · towards building 1 seats (reasoned)

The fewest seats the vendor bills. Billed seats never fall below it, and for a use case priced per organisation it is the number billed whatever the headcount. The value shown is the one for the current use case.

Sources:
  - [“Mitti (by SafetyCulture) pricing”](https://mitti.com/pricing/), SafetyCulture, 2026
  - [“Donesafe pricing”](https://donesafe.com/pricing/), Donesafe, 2026

### Implementation hours, complex (complex)

`saas-implementation-hours.complex` · reasoned at all three ends

towards SaaS 200 h (reasoned) · base 500 h (reasoned) · towards building 1,000 h (reasoned)

The organisation’s own staff hours to set up the SaaS product: configuration, data loading, SSO and testing, with integration set-up added on top. They grow with users by the implementation scale, are paid at the staff rate and set how many months SaaS takes to go live; partner days and end-user training are separate. The value shown is the one for the current use case’s complexity.

Note: Not re-added on a SaaS exit; migration-hours covers the replacement (C6).

Sources:
  - [“SAP Concur pricing 2026”](https://erpresearch.com/erp-add-ons/expense-management/sap-concur/pricing), ERP Research, 2026
  - [“Salesforce Sales Cloud Quick Start package”](https://www.girikon.com/salesforce-sales-cloud-quick-start-package/), Girikon, 2026

### Implementation hours, moderate (moderate)

`saas-implementation-hours.moderate` · reasoned at all three ends

towards SaaS 60 h (reasoned) · base 150 h (reasoned) · towards building 300 h (reasoned)

The organisation’s own staff hours to set up the SaaS product: configuration, data loading, SSO and testing, with integration set-up added on top. They grow with users by the implementation scale, are paid at the staff rate and set how many months SaaS takes to go live; partner days and end-user training are separate. The value shown is the one for the current use case’s complexity.

Note: Not re-added on a SaaS exit; migration-hours covers the replacement (C6).

Sources:
  - [“HubSpot Sales Hub pricing”](https://blog.hubspot.com/sales/hubspot-sales-hub-pricing), HubSpot, 2026-09-09
  - [“Salesforce Sales Cloud Quick Start package”](https://www.girikon.com/salesforce-sales-cloud-quick-start-package/), Girikon, 2026
  - [“Guided payroll implementation terms”](https://employmenthero.com/legals/implementation-terms/guided-payroll-implementation/), Employment Hero, 2026

### Implementation hours, simple (simple)

`saas-implementation-hours.simple` · reasoned at all three ends

towards SaaS 10 h (reasoned) · base 30 h (reasoned) · towards building 80 h (reasoned)

The organisation’s own staff hours to set up the SaaS product: configuration, data loading, SSO and testing, with integration set-up added on top. They grow with users by the implementation scale, are paid at the staff rate and set how many months SaaS takes to go live; partner days and end-user training are separate. The value shown is the one for the current use case’s complexity.

Note: Not re-added on a SaaS exit; migration-hours covers the replacement (C6).

Sources:
  - [“SurveyMonkey Team plans (AUD)”](https://www.surveymonkey.com/pricing/teams/), SurveyMonkey, 2026
  - [“Calendly pricing”](https://calendly.com/pricing), Calendly, 2026

### Partner days to implement, complex (complex)

`saas-partner-days.complex`

towards SaaS 33 days (estimate) · base 50 days (estimate) · towards building 77 days (estimate)

Days an implementation partner (a Microsoft, Salesforce or HubSpot partner) bills to set up the SaaS product, including any custom development; 0 is a self-serve product. × the partner day rate and the implementation scale, SaaS pays them over its implementation months. The value shown is the one for the current use case’s complexity.

Note: Added 2026-10-17 (owner request, R37). A$40k / A$90k / A$200k at the matching day rate: Salesforce standard single cloud A$35–75k and multi-cloud A$120–250k+ (S72), 25–100 users A$40–150k (S71), Power Apps enterprise A$80–250k+ (S70). Partner marketing ranges

Sources:
  - [“Power Apps development cost in Australia”](https://team400.ai/blog/2026-04-12-power-apps-development-cost-australia), Team 400, 2026-04-12
  - [“Salesforce implementation cost in Australia”](https://www.techforceservices.com/au/blog/salesforce-implementation-cost-in-australia/), TechForce Services, 2026-09-15
  - [“CRM implementation cost Australia 2026”](https://solbusiness.com.au/blog/crm-implementation-cost-australia-2026/), SOL Business, 2026-02-12

### Partner days to implement, moderate (moderate)

`saas-partner-days.moderate`

towards SaaS 12 days (estimate) · base 17 days (estimate) · towards building 23 days (estimate)

Days an implementation partner (a Microsoft, Salesforce or HubSpot partner) bills to set up the SaaS product, including any custom development; 0 is a self-serve product. × the partner day rate and the implementation scale, SaaS pays them over its implementation months. The value shown is the one for the current use case’s complexity.

Note: Added 2026-10-17 (owner request, R37). A$15k / A$30k / A$60k at the matching day rate: HubSpot mid builds A$18–35k (S73), Salesforce QuickStart A$15–25k for up to 20 users (S72), Power Apps mid A$25–80k (S70)

Sources:
  - [“Power Apps development cost in Australia”](https://team400.ai/blog/2026-04-12-power-apps-development-cost-australia), Team 400, 2026-04-12
  - [“CRM implementation cost Australia 2026”](https://solbusiness.com.au/blog/crm-implementation-cost-australia-2026/), SOL Business, 2026-02-12
  - [“How much does HubSpot implementation cost in Australia”](https://scalestation.io/blog/how-much-does-hubspot-implementation-cost-australia), Scale Station, 2026-03-26

### Partner days to implement, simple (simple)

`saas-partner-days.simple`

towards SaaS 0 days (reasoned) · base 2 days (estimate) · towards building 5 days (estimate)

Days an implementation partner (a Microsoft, Salesforce or HubSpot partner) bills to set up the SaaS product, including any custom development; 0 is a self-serve product. × the partner day rate and the implementation scale, SaaS pays them over its implementation months. The value shown is the one for the current use case’s complexity.

Note: Added 2026-10-17 (owner request, R37). Bear 0: self-serve (forms, bookings). Base about A$4k and bull A$12k at the matching day rate: below the lowest partner packages found (Power Apps simple A$8–25k incl. licences, S70; HubSpot Starter A$8–15k, S73)

Sources:
  - [“Power Apps development cost in Australia”](https://team400.ai/blog/2026-04-12-power-apps-development-cost-australia), Team 400, 2026-04-12
  - [“How much does HubSpot implementation cost in Australia”](https://scalestation.io/blog/how-much-does-hubspot-implementation-cost-australia), Scale Station, 2026-03-26

### Blended day rate of a SaaS implementation partner

`partner-day-rate`

towards SaaS A$1,200 a day (estimate) · base A$1,800 a day (estimate) · towards building A$2,600 a day (estimate)

What an implementation partner bills a day, in Australian dollars: the partner’s rate, not what its contractors are paid. × the partner days.

Note: Added 2026-10-17 (owner request, R37). Billed rate, not the contractor rate. Bear 1,200: boutique or offshore-blended, at the top of 2026 contractor rates (S68, S69: about 900–1,650). Base 1,800: Microsoft or Salesforce partner, A$200–350/h onshore (S70, S71). Bull 2,600: top-tier partner or Big 4 entry (S70: A$280–450/h). × saas-partner-days × the implementation scale

Sources:
  - [“Microsoft business applications hiring guide 2026 (contractor day rates)”](https://www.pearsoncarter.com/hiring-guides/microsoft-business-applications-2026), Pearson Carter, 2026
  - [“Salesforce hiring guide 2026 (contractor day rates)”](https://www.pearsoncarter.com/hiring-guides/salesforce-2026), Pearson Carter, 2026
  - [“Power Apps development cost in Australia”](https://team400.ai/blog/2026-04-12-power-apps-development-cost-australia), Team 400, 2026-04-12
  - [“Salesforce implementation cost in Australia”](https://www.techforceservices.com/au/blog/salesforce-implementation-cost-in-australia/), TechForce Services, 2026-09-15

### How SaaS implementation grows with users (exponent)

`saas-impl-scale` · reasoned at all three ends

towards SaaS 0 (reasoned) · base 0.3 (reasoned) · towards building 0.5 (reasoned)

How SaaS implementation grows with users. Implementation hours and partner days are × (users ÷ 50) to this power, so they shrink below 50 users and grow above. At 0 they are flat; at 0.3 a 500-user roll-out takes twice the work of a 50-user one, and a 5-user one half.

Note: Added 2026-10-17 (owner request, R38). Implementation hours and partner days × (users ÷ 50) ^ this, so they shrink below 50 users and grow above. Bear 0: flat, as before. TechForce size bands (S71: 5–25 users A$15–40k; 25–100 A$40–150k; 100+ A$150–500k+) imply about 0.9, but they mix scope with users, so base 0.3 (500 users × 2; 5 users × 0.5)

Sources:
  - [“Salesforce implementation cost in Australia”](https://www.techforceservices.com/au/blog/salesforce-implementation-cost-in-australia/), TechForce Services, 2026-09-15

### End-user training hours at go-live, complex (complex)

`training-hours-per-user.complex`

towards SaaS 8 h (estimate) · base 12 h (estimate) · towards building 16 h (estimate)

Hours each user spends in training when the app goes live, at the staff rate. Every route pays them, SaaS at the end of implementation and a build route at go-live; later new starters are not counted. The value shown is the one for the current use case’s complexity.

Note: Added 2026-10-17 (owner request, R39). Every route pays it at go-live, at the staff rate. ERP end users typically 8–16 hours (S75, undated); power users 32–60 hours are not modelled separately

Sources:
  - [“ERP training cost calculator (undated page)”](https://www.netray.co/tools/erp-training-cost-calculator), Netray, 2026
  - [“CRM system cost guide 2026”](https://ecosire.com/blog/crm-system-cost-guide-2026), ECOSIRE, 2026-06-06

### End-user training hours at go-live, moderate (moderate)

`training-hours-per-user.moderate` · reasoned at all three ends

towards SaaS 4 h (reasoned) · base 6 h (reasoned) · towards building 8 h (reasoned)

Hours each user spends in training when the app goes live, at the staff rate. Every route pays them, SaaS at the end of implementation and a build route at go-live; later new starters are not counted. The value shown is the one for the current use case’s complexity.

Note: Added 2026-10-17 (owner request, R39). Every route pays it at go-live, at the staff rate. Reasoned at half the complex class; training is 5–15% of a CRM project budget (S74)

Sources:
  - [“CRM system cost guide 2026”](https://ecosire.com/blog/crm-system-cost-guide-2026), ECOSIRE, 2026-06-06

### End-user training hours at go-live, simple (simple)

`training-hours-per-user.simple` · reasoned at all three ends

towards SaaS 1 h (reasoned) · base 1.5 h (reasoned) · towards building 2 h (reasoned)

Hours each user spends in training when the app goes live, at the staff rate. Every route pays them, SaaS at the end of implementation and a build route at go-live; later new starters are not counted. The value shown is the one for the current use case’s complexity.

Note: Added 2026-10-17 (owner request, R39). Every route pays it at go-live, at the staff rate (a build at cutover). No source for simple tools

### Share of the partner fee spent on custom development

`saas-custom-share` · reasoned at all three ends

towards SaaS 10% (reasoned) · base 20% (reasoned) · towards building 40% (reasoned)

The share of the partner’s fee spent on custom development on the SaaS platform (plugins, scripts, custom apps) rather than configuration. It sets how much custom code needs upkeep.

Note: Added 2026-10-17 (owner request, R40). Plugins, Apex, scripts and custom apps on the SaaS platform. Base 0.2: the 80/20 configuration-to-customisation rule partners quote for Dynamics 365 (second-hand blogs only)

### Yearly upkeep of platform customisation, as a share of its cost

`saas-custom-upkeep`

towards SaaS 10% a year (reasoned) · base 20% a year (estimate) · towards building 30% a year (estimate)

What keeping the custom development working costs a year, as a share of what it cost: retesting and fixing it across the vendor’s release waves. SaaS pays it in maintenance each live month.

Note: Added 2026-10-17 (owner request, R40). Retesting and fixing custom code across vendor release waves. S70: budget 20–30% of the initial build a year for improvements. Bear 0.1: bug fixes only (second-hand blogs: 10–15% of original hours). Cost a year = this × saas-custom-share × the partner fee, in SaaS maintenance

Sources:
  - [“Power Apps development cost in Australia”](https://team400.ai/blog/2026-04-12-power-apps-development-cost-australia), Team 400, 2026-04-12

### Workaround hours, complex (complex)

`saas-feature-gap-hours.complex`

towards SaaS 5 h a month per 100 seats (reasoned) · base 20 h a month per 100 seats (reasoned) · towards building 216 h a month per 100 seats (estimate)

Staff hours a month per 100 users spent working around what the SaaS product does not do: re-keying, spreadsheets, switching apps; builds pay them until go-live, then a leftover share. The building end comes from indirect studies of time lost to poorly fitting software. The value shown is the one for the current use case’s complexity.

Note: From 02; bull end from 11 (owner, 2026-10-18): time lost to a poorly fitting product, about 30 min per user a week (1 min/user/week ≈ 7.2 h a month per 100 users), scaled across complexity as the base is. Bear and base unchanged: the evidence is indirect (app toggling, a vendor survey), so it sets only the end that favours building. Also prices interim manual work on build routes before go-live (spec §5); understates that work (C16).

Sources:
  - [“Rohan Narayana Murty, Sandeep Dadlani, Rajath B”](https://hbr.org/2022/08/how-much-time-and-energy-do-we-waste-toggling-between-applications), Das, How Much Time and Energy Do We Waste Toggling Between Applications? Harvard Business Review, 2022-08-29
  - [“Eric Krapf, Communications integrations could make a real difference for users”](https://www.nojitter.com/workspace/communications-integrations-could-make-a-real-difference-for-users), No Jitter, 2022-11-18
  - [“Outdated IT driving Australian workers to despair (SafetyCulture, Feedback from the Field)”](https://ia.acs.org.au/article/2024/outdated-it-driving-australian-workers-to-despair.html), Information Age (ACS), 2024-10-22

### Workaround hours, moderate (moderate)

`saas-feature-gap-hours.moderate`

towards SaaS 2 h a month per 100 seats (reasoned) · base 8 h a month per 100 seats (reasoned) · towards building 87 h a month per 100 seats (estimate)

Staff hours a month per 100 users spent working around what the SaaS product does not do: re-keying, spreadsheets, switching apps; builds pay them until go-live, then a leftover share. The building end comes from indirect studies of time lost to poorly fitting software. The value shown is the one for the current use case’s complexity.

Note: From 02; bull end from 11 (owner, 2026-10-18): time lost to a poorly fitting product, about 12 min per user a week (1 min/user/week ≈ 7.2 h a month per 100 users), scaled across complexity as the base is. Bear and base unchanged: the evidence is indirect (app toggling, a vendor survey), so it sets only the end that favours building. Also prices interim manual work on build routes before go-live (spec §5); understates that work (C16).

Sources:
  - [“Rohan Narayana Murty, Sandeep Dadlani, Rajath B”](https://hbr.org/2022/08/how-much-time-and-energy-do-we-waste-toggling-between-applications), Das, How Much Time and Energy Do We Waste Toggling Between Applications? Harvard Business Review, 2022-08-29
  - [“Eric Krapf, Communications integrations could make a real difference for users”](https://www.nojitter.com/workspace/communications-integrations-could-make-a-real-difference-for-users), No Jitter, 2022-11-18
  - [“Outdated IT driving Australian workers to despair (SafetyCulture, Feedback from the Field)”](https://ia.acs.org.au/article/2024/outdated-it-driving-australian-workers-to-despair.html), Information Age (ACS), 2024-10-22

### Workaround hours, simple (simple)

`saas-feature-gap-hours.simple`

towards SaaS 0.5 h a month per 100 seats (reasoned) · base 2 h a month per 100 seats (reasoned) · towards building 22 h a month per 100 seats (estimate)

Staff hours a month per 100 users spent working around what the SaaS product does not do: re-keying, spreadsheets, switching apps; builds pay them until go-live, then a leftover share. The building end comes from indirect studies of time lost to poorly fitting software. The value shown is the one for the current use case’s complexity.

Note: From 02; bull end from 11 (owner, 2026-10-18): time lost to a poorly fitting product, about 3 min per user a week (1 min/user/week ≈ 7.2 h a month per 100 users), scaled across complexity as the base is. Bear and base unchanged: the evidence is indirect (app toggling, a vendor survey), so it sets only the end that favours building. Also prices interim manual work on build routes before go-live (spec §5); understates that work (C16).

Sources:
  - [“Rohan Narayana Murty, Sandeep Dadlani, Rajath B”](https://hbr.org/2022/08/how-much-time-and-energy-do-we-waste-toggling-between-applications), Das, How Much Time and Energy Do We Waste Toggling Between Applications? Harvard Business Review, 2022-08-29
  - [“Eric Krapf, Communications integrations could make a real difference for users”](https://www.nojitter.com/workspace/communications-integrations-could-make-a-real-difference-for-users), No Jitter, 2022-11-18
  - [“Outdated IT driving Australian workers to despair (SafetyCulture, Feedback from the Field)”](https://ia.acs.org.au/article/2024/outdated-it-driving-australian-workers-to-despair.html), Information Age (ACS), 2024-10-22

### Yearly growth of the SaaS feature gap

`saas-gap-growth` · reasoned at all three ends

towards SaaS 0% a year (reasoned) · base 10% a year (reasoned) · towards building 25% a year (reasoned)

How fast the SaaS workaround hours grow each year, as the organisation’s needs move and the vendor’s roadmap follows late or never. 0 is a vendor that keeps pace. It applies to SaaS’s workaround hours, and so to build routes while they still run on SaaS.

Note: Added 2026-10-14 (owner request, R33). From 02. Multiplies SaaS workaround hours (saas-feature-gap-hours) by (1 + g)^year from month 0, on SaaS's interim and maintenance lines and so on the bridge.

### Workaround hours a build still needs, as a share of SaaS's

`build-residual-gap` · reasoned at all three ends

towards SaaS 40% (reasoned) · base 20% (reasoned) · towards building 5% (reasoned)

The workaround hours a build still needs once live, as a share of SaaS’s (before growth). A build is not a perfect fit either, but the organisation closes its own gaps on its own schedule, so this share does not grow. Paid at the staff rate on every build route.

Note: Added 2026-10-14 (owner request, R34). From 02. Every build route pays this share × saas-feature-gap-hours per 100 users at the staff rate each live month, without growth.

### Manual work with no system, as a multiple of SaaS workaround hours

`manual-mult` · reasoned at all three ends

towards SaaS 6× (reasoned) · base 4× (reasoned) · towards building 2× (reasoned)

Greenfields (no system yet): the work is done by hand until a route goes live: spreadsheets, email and re-keying. This is that manual work as a multiple of SaaS’s workaround hours. Every route pays it until its own go-live, so the route that goes live later pays more.

Note: Each route does the work by hand until it goes live when the organisation starts with no system; the route that goes live later, usually a build, pays more. Added 2026-10-18 (structural fixes).

### Exchange rate over the horizon

`aud-usd`

towards SaaS US$0.76 per A$1 (sourced) · base US$0.67 per A$1 (estimate) · towards building US$0.6 per A$1 (sourced)

US dollars bought by one Australian dollar. Prices set in US dollars are divided by it: SaaS seat prices for use cases priced in US dollars, AI token prices, and the app-builder plan and user fees. A lower rate makes those costs higher in Australian dollars.

Note: Also converts USD token and builder prices; net direction still favours building.

Sources:
  - [“F11.1 Exchange Rates (daily, 2023–current)”](https://www.rba.gov.au/statistics/tables/csv/f11.1-data.csv), Reserve Bank of Australia, 2026-10-13
  - [“F11.1 Historical Daily Exchange Rates 2018–2022”](https://www.rba.gov.au/statistics/tables/xls-hist/2018-2022.xls), Reserve Bank of Australia, 2023-03-16

## Values: Running it

### Yearly maintenance as share of build hours

`maint-share`

towards SaaS 22% a year (reasoned) · base 15% a year (sourced) · towards building 10% a year (reasoned)

Yearly maintenance hours as a share of the traditional build hours. With upgrade hours it sets maintenance on the in-house, vibe-coding and open-source routes (the custom part only, for open-source), × the maintenance uplift.

Note: Changed (final review): bear basis `estimate` → `reasoned` (0.20 top of the rule plus a 0.02 judgement allowance for adaptive work). Multiplies baseline build-hours (pre-AI, before overrun); then the route's maintenance uplift applies once (C2). Excludes upgrades and integration fixes. AI code-quality volume effect carried in bear only (C1).

Sources:
  - [“Software maintenance costs explained”](https://www.codestringers.com/articles/software-maintenance-costs-explained), CodeStringers, 2026-07-26
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07
  - [“Matt Hare, How Much Does Custom Software Cost in Australia? (2026 Practical Guide)”](https://hatchet.com.au/blog/how-much-does-custom-software-cost-in-australia-2026-guide/), Hatchet Pty Ltd, 2026-09-08
  - [“Boehm's Software Maintenance Model”](https://www.geeksforgeeks.org/?p=431209), GeeksforGeeks, 2025-07-15
  - [“Total life cycle cost (CSE P503 lecture slide, citing Lientz & Swanson 1981)”](https://courses.cs.washington.edu/courses/csep503/01wi/lectures/class6/tsld009.htm), University of Washington, 2001

### Minimum support for a live build

`min-support-fte`

towards SaaS 0.17 FTE (estimate) · base 0.08 FTE (estimate) · towards building 0.04 FTE (estimate)

The least time a live build takes, as a fraction of one person: patching, monitoring, being on call and small fixes. Maintenance is at least this, however small the app, by developers or by the business staff who built it.

Note: Australian support plans of 20, 10 and 5 hours a month ÷ 120.8 productive hours. A live in-house, open-source or business-staff build's maintenance is at least this (business staff added 2026-10-18, owner). Added 2026-10-18 (structural fixes).

Sources:
  - [“Enterprise app maintenance plans”](https://ebpearls.com.au/enterprise-maintenance), EB Pearls, 2026
  - [“Web development cost in Australia”](https://whatsthedamage.com.au/web-development-cost/), What's the Damage, 2026-10

### Admin hours, complex (complex)

`saas-admin-hours.complex`

towards SaaS 48 h a month per 100 seats (estimate) · base 71 h a month per 100 seats (estimate) · towards building 138 h a month per 100 seats (estimate)

Staff hours a month per 100 users for user admin, configuration and support. Every route pays them once live, SaaS and builds alike, at the staff rate. The value shown is the one for the current use case’s complexity.

Note: **Changed (C10):** 1 FTE = productive-hours 1,450 ÷ 12 = 120.8 h/month (was 133): bear 120.8 ÷ 2.5 = 48; base 2.5 × 120.8 ÷ 4.25 = 71; bull 120.8 ÷ 0.875 = 138. US/global data.

Sources:
  - [“How many Salesforce admins do I need”](https://www.foundhq.com/blog/how-many-salesforce-admins-do-i-need), FoundHQ, 2026-09-15

### Admin hours, moderate (moderate)

`saas-admin-hours.moderate` · reasoned at all three ends

towards SaaS 5 h a month per 100 seats (reasoned) · base 12 h a month per 100 seats (reasoned) · towards building 30 h a month per 100 seats (reasoned)

Staff hours a month per 100 users for user admin, configuration and support. Every route pays them once live, SaaS and builds alike, at the staff rate. The value shown is the one for the current use case’s complexity.

Note: **Changed (C10):** base 0.1 FTE × 120.8 h = 12 (was 13); bear and bull reasoned, unchanged.

Sources:
  - [“How many Salesforce admins do I need”](https://www.foundhq.com/blog/how-many-salesforce-admins-do-i-need), FoundHQ, 2026-09-15

### Admin hours, simple (simple)

`saas-admin-hours.simple` · reasoned at all three ends

towards SaaS 1 h a month per 100 seats (reasoned) · base 3 h a month per 100 seats (reasoned) · towards building 8 h a month per 100 seats (reasoned)

Staff hours a month per 100 users for user admin, configuration and support. Every route pays them once live, SaaS and builds alike, at the staff rate. The value shown is the one for the current use case’s complexity.

Note: Reasoned; costed at the staff rate (spec D10)

### AI uplift on ongoing administration

`admin-uplift` · reasoned at all three ends

towards SaaS 1× (reasoned) · base 1× (reasoned) · towards building 0.6× (reasoned)

AI-era hours ÷ pre-AI hours for user admin, configuration and support. It multiplies the admin hours on every route, SaaS and builds alike, so it mostly cancels out; workaround hours are not admin and stay as they are.

Note: Added 2026-10-14 (owner request, R25/R26). From 02. Multiplies saas-admin-hours on every route (plan 2 R17); feature-gap hours take no uplift. It applies to both sides, so it mostly cancels; its direction depends on the scenario (R19).

### AI uplift on SaaS migration work

`migration-uplift` · reasoned at all three ends

towards SaaS 1× (reasoned) · base 1× (reasoned) · towards building 0.5× (reasoned)

AI-era hours ÷ pre-AI hours for moving off a SaaS product: data mapping, configuration and retraining. It multiplies the migration hours each build route pays at go-live and the SaaS route pays when a vendor exit forces a move. At 1, AI does not shorten migration work.

Note: Added 2026-10-14 (owner request, R25/R26). From 08. Multiplies migration-hours on the build routes' cutover (plan 3 R21) and the SaaS exit event (C6). Base 1 keeps C6: the AI evidence measures coding, not data mapping and configuration. Bull 0.5 assumes AI agents halve migration work. A lower value favours building, since build routes pay the cutover for certain and SaaS pays an exit only by hazard.

### Dependency and framework upgrade hours

`upgrade-hours` · reasoned at all three ends

towards SaaS 80 h a year (reasoned) · base 40 h a year (reasoned) · towards building 16 h a year (reasoned)

Hours a year to keep dependencies and frameworks up to date. Added to maintenance on the in-house, vibe-coding and open-source routes, × the maintenance uplift.

Note: Takes the route's maintenance uplift (C2). Flat, so simple apps sit above the 15–20% rule.

Sources:
  - [“Evolving the Node.js Release Schedule”](https://nodejs.org/en/blog/announcements/evolving-the-nodejs-release-schedule), Node.js project, 2026-03-10
  - [“Sonatype's 10th Annual State of the Software Supply Chain Report Reveals 156% Surge in Open Source Malware”](https://www.sonatype.com/en/press-releases/sonatypes-10th-annual-state-of-the-software-supply-chain-report), Sonatype, 2024-10-10

### Integrations, asset register (Asset register)

`integrations.asset-register` · reasoned at all three ends

towards SaaS 3 (reasoned) · base 2 (reasoned) · towards building 1 (reasoned)

The number of other systems the app connects to. On SaaS each one costs set-up hours and a connector fee; each can break separately, costing fix hours on SaaS and on the in-house, vibe-coding and open-source routes once live. The value shown is the one for the current use case.

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07

### Integrations, bookings (Room and resource bookings)

`integrations.bookings` · reasoned at all three ends

towards SaaS 4 (reasoned) · base 3 (reasoned) · towards building 2 (reasoned)

The number of other systems the app connects to. On SaaS each one costs set-up hours and a connector fee; each can break separately, costing fix hours on SaaS and on the in-house, vibe-coding and open-source routes once live. The value shown is the one for the current use case.

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07

### Integrations, client portal (Client portal)

`integrations.client-portal` · reasoned at all three ends

towards SaaS 5 (reasoned) · base 3 (reasoned) · towards building 2 (reasoned)

The number of other systems the app connects to. On SaaS each one costs set-up hours and a connector fee; each can break separately, costing fix hours on SaaS and on the in-house, vibe-coding and open-source routes once live. The value shown is the one for the current use case.

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07

### Integrations, contracts (Contract management)

`integrations.contracts` · reasoned at all three ends

towards SaaS 4 (reasoned) · base 3 (reasoned) · towards building 2 (reasoned)

The number of other systems the app connects to. On SaaS each one costs set-up hours and a connector fee; each can break separately, costing fix hours on SaaS and on the in-house, vibe-coding and open-source routes once live. The value shown is the one for the current use case.

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07

### Integrations, CRM (CRM)

`integrations.crm` · reasoned at all three ends

towards SaaS 5 (reasoned) · base 3 (reasoned) · towards building 2 (reasoned)

The number of other systems the app connects to. On SaaS each one costs set-up hours and a connector fee; each can break separately, costing fix hours on SaaS and on the in-house, vibe-coding and open-source routes once live. The value shown is the one for the current use case.

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07

### Integrations, document approval (Document approval workflow)

`integrations.doc-approval` · reasoned at all three ends

towards SaaS 3 (reasoned) · base 2 (reasoned) · towards building 1 (reasoned)

The number of other systems the app connects to. On SaaS each one costs set-up hours and a connector fee; each can break separately, costing fix hours on SaaS and on the in-house, vibe-coding and open-source routes once live. The value shown is the one for the current use case.

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07

### Integrations, expenses (Expense approvals)

`integrations.expenses` · reasoned at all three ends

towards SaaS 4 (reasoned) · base 3 (reasoned) · towards building 2 (reasoned)

The number of other systems the app connects to. On SaaS each one costs set-up hours and a connector fee; each can break separately, costing fix hours on SaaS and on the in-house, vibe-coding and open-source routes once live. The value shown is the one for the current use case.

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07

### Integrations, forms and surveys (Forms and surveys)

`integrations.forms-surveys` · reasoned at all three ends

towards SaaS 3 (reasoned) · base 2 (reasoned) · towards building 1 (reasoned)

The number of other systems the app connects to. On SaaS each one costs set-up hours and a connector fee; each can break separately, costing fix hours on SaaS and on the in-house, vibe-coding and open-source routes once live. The value shown is the one for the current use case.

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07

### Integrations, grants (Grants management)

`integrations.grants` · reasoned at all three ends

towards SaaS 4 (reasoned) · base 3 (reasoned) · towards building 2 (reasoned)

The number of other systems the app connects to. On SaaS each one costs set-up hours and a connector fee; each can break separately, costing fix hours on SaaS and on the in-house, vibe-coding and open-source routes once live. The value shown is the one for the current use case.

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07

### Integrations, helpdesk (Helpdesk and ticketing)

`integrations.helpdesk` · reasoned at all three ends

towards SaaS 4 (reasoned) · base 3 (reasoned) · towards building 2 (reasoned)

The number of other systems the app connects to. On SaaS each one costs set-up hours and a connector fee; each can break separately, costing fix hours on SaaS and on the in-house, vibe-coding and open-source routes once live. The value shown is the one for the current use case.

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07

### Integrations, HR and leave (HR and leave)

`integrations.hr-leave` · reasoned at all three ends

towards SaaS 4 (reasoned) · base 3 (reasoned) · towards building 2 (reasoned)

The number of other systems the app connects to. On SaaS each one costs set-up hours and a connector fee; each can break separately, costing fix hours on SaaS and on the in-house, vibe-coding and open-source routes once live. The value shown is the one for the current use case.

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07

### Integrations, knowledge portal (Internal knowledge portal)

`integrations.knowledge-portal` · reasoned at all three ends

towards SaaS 3 (reasoned) · base 2 (reasoned) · towards building 1 (reasoned)

The number of other systems the app connects to. On SaaS each one costs set-up hours and a connector fee; each can break separately, costing fix hours on SaaS and on the in-house, vibe-coding and open-source routes once live. The value shown is the one for the current use case.

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07

### Integrations, procurement (Procurement and purchase orders)

`integrations.procurement` · reasoned at all three ends

towards SaaS 5 (reasoned) · base 3 (reasoned) · towards building 2 (reasoned)

The number of other systems the app connects to. On SaaS each one costs set-up hours and a connector fee; each can break separately, costing fix hours on SaaS and on the in-house, vibe-coding and open-source routes once live. The value shown is the one for the current use case.

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07

### Integrations, regulatory register (Regulatory obligations register)

`integrations.reg-register` · reasoned at all three ends

towards SaaS 3 (reasoned) · base 2 (reasoned) · towards building 1 (reasoned)

The number of other systems the app connects to. On SaaS each one costs set-up hours and a connector fee; each can break separately, costing fix hours on SaaS and on the in-house, vibe-coding and open-source routes once live. The value shown is the one for the current use case.

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07

### Integrations, timesheets (Project timesheets)

`integrations.timesheets` · reasoned at all three ends

towards SaaS 4 (reasoned) · base 3 (reasoned) · towards building 2 (reasoned)

The number of other systems the app connects to. On SaaS each one costs set-up hours and a connector fee; each can break separately, costing fix hours on SaaS and on the in-house, vibe-coding and open-source routes once live. The value shown is the one for the current use case.

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07

### Integrations, WHS incidents (WHS incident reporting)

`integrations.whs-incidents` · reasoned at all three ends

towards SaaS 3 (reasoned) · base 2 (reasoned) · towards building 1 (reasoned)

The number of other systems the app connects to. On SaaS each one costs set-up hours and a connector fee; each can break separately, costing fix hours on SaaS and on the in-house, vibe-coding and open-source routes once live. The value shown is the one for the current use case.

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07

### Hours to set up one SaaS integration

`saas-integration-hours` · reasoned at all three ends

towards SaaS 4 h (reasoned) · base 16 h (reasoned) · towards building 40 h (reasoned)

Staff hours to set up one SaaS integration: switching on a connector or building an iPaaS flow, mapping fields and testing. × the integrations, they are added to SaaS implementation. A build route’s integrations are already in its build hours.

Note: Added 2026-10-14 (owner request, R32). From 05. × integrations, added to SaaS implementation hours at the staff rate. Build routes carry integrations inside build-hours.

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07
  - [“Matt Hare, How Much Does Custom Software Cost in Australia? (2026 Practical Guide)”](https://hatchet.com.au/blog/how-much-does-custom-software-cost-in-australia-2026-guide/), Hatchet Pty Ltd, 2026-09-08

### Connector or iPaaS fee per SaaS integration

`saas-connector-fee` · reasoned at all three ends

towards SaaS A$0 a month (reasoned) · base A$25 a month (reasoned) · towards building A$150 a month (reasoned)

What each SaaS integration costs a month in connector or iPaaS fees (Zapier, Make, Workato or a vendor’s paid connector). 0 when native connectors come with the seat price. SaaS pays it × the integrations, each live month.

Note: Added 2026-10-14 (owner request, R32). From 05. × integrations, each live SaaS month, in SaaS's maintenance line. SaaS also now takes integration breakage (R32), so integration-break-hazard, integration-fix-hours and integrations are scenario-dependent (R19).

### Asset register build share on base (Asset register)

`oss-fit-gap.asset-register` · reasoned at all three ends

towards SaaS 20% (reasoned) · base 10% (reasoned) · towards building 5% (reasoned)

On the open-source or low-code route, the share of a full custom build still needed on top of the base product. It scales that route’s build and maintenance hours and the cost of losing its key developer. The value shown is the one for the current use case.

Note: Share of baseline build hours on the oss route.

Sources:
  - [“Snipe-IT pricing”](https://snipeitapp.com/pricing), Grokability, 2026

### Bookings build share on base (Room and resource bookings)

`oss-fit-gap.bookings` · reasoned at all three ends

towards SaaS 40% (reasoned) · base 25% (reasoned) · towards building 10% (reasoned)

On the open-source or low-code route, the share of a full custom build still needed on top of the base product. It scales that route’s build and maintenance hours and the cost of losing its key developer. The value shown is the one for the current use case.

Note: Share of baseline build hours on the oss route.

### Client portal build share on base (Client portal)

`oss-fit-gap.client-portal` · reasoned at all three ends

towards SaaS 70% (reasoned) · base 50% (reasoned) · towards building 35% (reasoned)

On the open-source or low-code route, the share of a full custom build still needed on top of the base product. It scales that route’s build and maintenance hours and the cost of losing its key developer. The value shown is the one for the current use case.

Note: Share of baseline build hours on the oss route.

Sources:
  - [“Retool pricing”](https://retool.com/pricing), Retool, 2026

### Contracts build share on base (Contract management)

`oss-fit-gap.contracts` · reasoned at all three ends

towards SaaS 100% (reasoned) · base 70% (reasoned) · towards building 50% (reasoned)

On the open-source or low-code route, the share of a full custom build still needed on top of the base product. It scales that route’s build and maintenance hours and the cost of losing its key developer. The value shown is the one for the current use case.

Note: Share of baseline build hours on the oss route.

Sources:
  - [“Power Apps pricing (Australia)”](https://www.microsoft.com/en-au/power-platform/products/power-apps/pricing), Microsoft, 2026

### CRM build share on open-source base (CRM)

`oss-fit-gap.crm` · reasoned at all three ends

towards SaaS 50% (reasoned) · base 30% (reasoned) · towards building 15% (reasoned)

On the open-source or low-code route, the share of a full custom build still needed on top of the base product. It scales that route’s build and maintenance hours and the cost of losing its key developer. The value shown is the one for the current use case.

Note: Share of baseline build hours on the oss route.

Sources:
  - [“Twenty pricing”](https://twenty.com/pricing), Twenty, 2026

### Approvals build share on base (Document approval workflow)

`oss-fit-gap.doc-approval` · reasoned at all three ends

towards SaaS 50% (reasoned) · base 35% (reasoned) · towards building 20% (reasoned)

On the open-source or low-code route, the share of a full custom build still needed on top of the base product. It scales that route’s build and maintenance hours and the cost of losing its key developer. The value shown is the one for the current use case.

Note: Share of baseline build hours on the oss route.

Sources:
  - [“Power Automate pricing (Australia)”](https://www.microsoft.com/en-au/power-platform/products/power-automate/pricing), Microsoft, 2026

### Expenses build share on base (Expense approvals)

`oss-fit-gap.expenses` · reasoned at all three ends

towards SaaS 60% (reasoned) · base 40% (reasoned) · towards building 25% (reasoned)

On the open-source or low-code route, the share of a full custom build still needed on top of the base product. It scales that route’s build and maintenance hours and the cost of losing its key developer. The value shown is the one for the current use case.

Note: Share of baseline build hours on the oss route.

Sources:
  - [“Odoo pricing (AUD)”](https://www.odoo.com/pricing), Odoo, 2026

### Forms build share on base (Forms and surveys)

`oss-fit-gap.forms-surveys` · reasoned at all three ends

towards SaaS 20% (reasoned) · base 10% (reasoned) · towards building 5% (reasoned)

On the open-source or low-code route, the share of a full custom build still needed on top of the base product. It scales that route’s build and maintenance hours and the cost of losing its key developer. The value shown is the one for the current use case.

Note: Share of baseline build hours on the oss route.

### Grants build share on base (Grants management)

`oss-fit-gap.grants` · reasoned at all three ends

towards SaaS 80% (reasoned) · base 60% (reasoned) · towards building 45% (reasoned)

On the open-source or low-code route, the share of a full custom build still needed on top of the base product. It scales that route’s build and maintenance hours and the cost of losing its key developer. The value shown is the one for the current use case.

Note: Share of baseline build hours on the oss route.

Sources:
  - [“Power Apps pricing (Australia)”](https://www.microsoft.com/en-au/power-platform/products/power-apps/pricing), Microsoft, 2026

### Helpdesk build share on base (Helpdesk and ticketing)

`oss-fit-gap.helpdesk` · reasoned at all three ends

towards SaaS 30% (reasoned) · base 15% (reasoned) · towards building 5% (reasoned)

On the open-source or low-code route, the share of a full custom build still needed on top of the base product. It scales that route’s build and maintenance hours and the cost of losing its key developer. The value shown is the one for the current use case.

Note: Share of baseline build hours on the oss route.

Sources:
  - [“Zammad pricing”](https://zammad.com/en/pricing), Zammad, 2026

### HR build share on base (HR and leave)

`oss-fit-gap.hr-leave` · reasoned at all three ends

towards SaaS 50% (reasoned) · base 30% (reasoned) · towards building 20% (reasoned)

On the open-source or low-code route, the share of a full custom build still needed on top of the base product. It scales that route’s build and maintenance hours and the cost of losing its key developer. The value shown is the one for the current use case.

Note: Share of baseline build hours on the oss route.

Sources:
  - [“OrangeHRM pricing”](https://www.orangehrm.com/en/pricing), OrangeHRM, 2026

### Knowledge portal build share on base (Internal knowledge portal)

`oss-fit-gap.knowledge-portal` · reasoned at all three ends

towards SaaS 20% (reasoned) · base 10% (reasoned) · towards building 5% (reasoned)

On the open-source or low-code route, the share of a full custom build still needed on top of the base product. It scales that route’s build and maintenance hours and the cost of losing its key developer. The value shown is the one for the current use case.

Note: Share of baseline build hours on the oss route.

### Procurement build share on base (Procurement and purchase orders)

`oss-fit-gap.procurement` · reasoned at all three ends

towards SaaS 60% (reasoned) · base 40% (reasoned) · towards building 25% (reasoned)

On the open-source or low-code route, the share of a full custom build still needed on top of the base product. It scales that route’s build and maintenance hours and the cost of losing its key developer. The value shown is the one for the current use case.

Note: Share of baseline build hours on the oss route.

Sources:
  - [“Odoo pricing (AUD)”](https://www.odoo.com/pricing), Odoo, 2026

### Register build share on base (Regulatory obligations register)

`oss-fit-gap.reg-register` · reasoned at all three ends

towards SaaS 60% (reasoned) · base 45% (reasoned) · towards building 30% (reasoned)

On the open-source or low-code route, the share of a full custom build still needed on top of the base product. It scales that route’s build and maintenance hours and the cost of losing its key developer. The value shown is the one for the current use case.

Note: Share of baseline build hours on the oss route.

Sources:
  - [“Power Apps pricing (Australia)”](https://www.microsoft.com/en-au/power-platform/products/power-apps/pricing), Microsoft, 2026

### Timesheets build share on base (Project timesheets)

`oss-fit-gap.timesheets` · reasoned at all three ends

towards SaaS 40% (reasoned) · base 25% (reasoned) · towards building 10% (reasoned)

On the open-source or low-code route, the share of a full custom build still needed on top of the base product. It scales that route’s build and maintenance hours and the cost of losing its key developer. The value shown is the one for the current use case.

Note: Share of baseline build hours on the oss route.

Sources:
  - [“Odoo pricing (AUD)”](https://www.odoo.com/pricing), Odoo, 2026

### WHS build share on base (WHS incident reporting)

`oss-fit-gap.whs-incidents` · reasoned at all three ends

towards SaaS 70% (reasoned) · base 50% (reasoned) · towards building 35% (reasoned)

On the open-source or low-code route, the share of a full custom build still needed on top of the base product. It scales that route’s build and maintenance hours and the cost of losing its key developer. The value shown is the one for the current use case.

Note: Share of baseline build hours on the oss route.

Sources:
  - [“Power Apps pricing (Australia)”](https://www.microsoft.com/en-au/power-platform/products/power-apps/pricing), Microsoft, 2026

### Asset register base licence (Asset register)

`oss-licence.asset-register`

towards SaaS A$4.79 per seat a month (estimate) · base A$0 per seat a month (sourced) · towards building A$0 per seat a month (sourced)

The open-source or low-code base’s licence per user a month, in Australian dollars; 0 for a free edition. The open-source route pays it from go-live, and renewal price shocks apply to it. The value shown is the one for the current use case.

Sources:
  - [“Snipe-IT pricing”](https://snipeitapp.com/pricing), Grokability, 2026

### Bookings base licence (Room and resource bookings)

`oss-licence.bookings` · reasoned at all three ends

towards SaaS A$0 per seat a month (reasoned) · base A$0 per seat a month (reasoned) · towards building A$0 per seat a month (reasoned)

The open-source or low-code base’s licence per user a month, in Australian dollars; 0 for a free edition. The open-source route pays it from go-live, and renewal price shocks apply to it. The value shown is the one for the current use case.

### Client portal base licence (Client portal)

`oss-licence.client-portal`

towards SaaS A$21.55 per seat a month (estimate) · base A$7.18 per seat a month (estimate) · towards building A$0 per seat a month (reasoned)

The open-source or low-code base’s licence per user a month, in Australian dollars; 0 for a free edition. The open-source route pays it from go-live, and renewal price shocks apply to it. The value shown is the one for the current use case.

Sources:
  - [“Retool pricing”](https://retool.com/pricing), Retool, 2026

### Contracts base licence (Contract management)

`oss-licence.contracts`

towards SaaS A$29.9 per seat a month (sourced) · base A$29.9 per seat a month (sourced) · towards building A$0 per seat a month (reasoned)

The open-source or low-code base’s licence per user a month, in Australian dollars; 0 for a free edition. The open-source route pays it from go-live, and renewal price shocks apply to it. The value shown is the one for the current use case.

Sources:
  - [“Power Apps pricing (Australia)”](https://www.microsoft.com/en-au/power-platform/products/power-apps/pricing), Microsoft, 2026

### CRM base licence (CRM)

`oss-licence.crm`

towards SaaS A$27.3 per seat a month (estimate) · base A$0 per seat a month (sourced) · towards building A$0 per seat a month (sourced)

The open-source or low-code base’s licence per user a month, in Australian dollars; 0 for a free edition. The open-source route pays it from go-live, and renewal price shocks apply to it. The value shown is the one for the current use case.

Sources:
  - [“Twenty pricing”](https://twenty.com/pricing), Twenty, 2026

### Approvals base licence (Document approval workflow)

`oss-licence.doc-approval`

towards SaaS A$22.4 per seat a month (sourced) · base A$0 per seat a month (reasoned) · towards building A$0 per seat a month (reasoned)

The open-source or low-code base’s licence per user a month, in Australian dollars; 0 for a free edition. The open-source route pays it from go-live, and renewal price shocks apply to it. The value shown is the one for the current use case.

Sources:
  - [“Power Automate pricing (Australia)”](https://www.microsoft.com/en-au/power-platform/products/power-automate/pricing), Microsoft, 2026

### Expenses base licence (Expense approvals)

`oss-licence.expenses`

towards SaaS A$34.4 per seat a month (sourced) · base A$0 per seat a month (reasoned) · towards building A$0 per seat a month (reasoned)

The open-source or low-code base’s licence per user a month, in Australian dollars; 0 for a free edition. The open-source route pays it from go-live, and renewal price shocks apply to it. The value shown is the one for the current use case.

Sources:
  - [“Odoo pricing (AUD)”](https://www.odoo.com/pricing), Odoo, 2026

### Forms base licence (Forms and surveys)

`oss-licence.forms-surveys` · reasoned at all three ends

towards SaaS A$0 per seat a month (reasoned) · base A$0 per seat a month (reasoned) · towards building A$0 per seat a month (reasoned)

The open-source or low-code base’s licence per user a month, in Australian dollars; 0 for a free edition. The open-source route pays it from go-live, and renewal price shocks apply to it. The value shown is the one for the current use case.

### Grants base licence (Grants management)

`oss-licence.grants`

towards SaaS A$29.9 per seat a month (sourced) · base A$29.9 per seat a month (sourced) · towards building A$0 per seat a month (reasoned)

The open-source or low-code base’s licence per user a month, in Australian dollars; 0 for a free edition. The open-source route pays it from go-live, and renewal price shocks apply to it. The value shown is the one for the current use case.

Sources:
  - [“Power Apps pricing (Australia)”](https://www.microsoft.com/en-au/power-platform/products/power-apps/pricing), Microsoft, 2026

### Helpdesk base licence (Helpdesk and ticketing)

`oss-licence.helpdesk`

towards SaaS A$25.68 per seat a month (estimate) · base A$0 per seat a month (reasoned) · towards building A$0 per seat a month (reasoned)

The open-source or low-code base’s licence per user a month, in Australian dollars; 0 for a free edition. The open-source route pays it from go-live, and renewal price shocks apply to it. The value shown is the one for the current use case.

Sources:
  - [“Zammad pricing”](https://zammad.com/en/pricing), Zammad, 2026

### HR base licence (HR and leave)

`oss-licence.hr-leave`

towards SaaS A$34.4 per seat a month (sourced) · base A$0 per seat a month (sourced) · towards building A$0 per seat a month (sourced)

The open-source or low-code base’s licence per user a month, in Australian dollars; 0 for a free edition. The open-source route pays it from go-live, and renewal price shocks apply to it. The value shown is the one for the current use case.

Sources:
  - [“OrangeHRM pricing”](https://www.orangehrm.com/en/pricing), OrangeHRM, 2026
  - [“Odoo pricing (AUD)”](https://www.odoo.com/pricing), Odoo, 2026

### Knowledge portal base licence (Internal knowledge portal)

`oss-licence.knowledge-portal` · reasoned at all three ends

towards SaaS A$0 per seat a month (reasoned) · base A$0 per seat a month (reasoned) · towards building A$0 per seat a month (reasoned)

The open-source or low-code base’s licence per user a month, in Australian dollars; 0 for a free edition. The open-source route pays it from go-live, and renewal price shocks apply to it. The value shown is the one for the current use case.

### Procurement base licence (Procurement and purchase orders)

`oss-licence.procurement`

towards SaaS A$34.4 per seat a month (sourced) · base A$0 per seat a month (reasoned) · towards building A$0 per seat a month (reasoned)

The open-source or low-code base’s licence per user a month, in Australian dollars; 0 for a free edition. The open-source route pays it from go-live, and renewal price shocks apply to it. The value shown is the one for the current use case.

Sources:
  - [“Odoo pricing (AUD)”](https://www.odoo.com/pricing), Odoo, 2026

### Register base licence (Regulatory obligations register)

`oss-licence.reg-register`

towards SaaS A$29.9 per seat a month (sourced) · base A$29.9 per seat a month (sourced) · towards building A$0 per seat a month (reasoned)

The open-source or low-code base’s licence per user a month, in Australian dollars; 0 for a free edition. The open-source route pays it from go-live, and renewal price shocks apply to it. The value shown is the one for the current use case.

Sources:
  - [“Power Apps pricing (Australia)”](https://www.microsoft.com/en-au/power-platform/products/power-apps/pricing), Microsoft, 2026

### Timesheets base licence (Project timesheets)

`oss-licence.timesheets`

towards SaaS A$34.4 per seat a month (sourced) · base A$0 per seat a month (reasoned) · towards building A$0 per seat a month (reasoned)

The open-source or low-code base’s licence per user a month, in Australian dollars; 0 for a free edition. The open-source route pays it from go-live, and renewal price shocks apply to it. The value shown is the one for the current use case.

Sources:
  - [“Odoo pricing (AUD)”](https://www.odoo.com/pricing), Odoo, 2026

### WHS base licence (WHS incident reporting)

`oss-licence.whs-incidents`

towards SaaS A$29.9 per seat a month (sourced) · base A$29.9 per seat a month (sourced) · towards building A$0 per seat a month (reasoned)

The open-source or low-code base’s licence per user a month, in Australian dollars; 0 for a free edition. The open-source route pays it from go-live, and renewal price shocks apply to it. The value shown is the one for the current use case.

Sources:
  - [“Power Apps pricing (Australia)”](https://www.microsoft.com/en-au/power-platform/products/power-apps/pricing), Microsoft, 2026

### Hours to absorb upstream releases of an open-source or low-code base

`oss-upstream-hours` · reasoned at all three ends

towards SaaS 100 h a year (reasoned) · base 40 h a year (reasoned) · towards building 16 h a year (reasoned)

Hours a year to absorb new releases of the open-source or low-code base. Added to maintenance on the open-source route only, × the maintenance uplift.

Note: Takes maint-uplift on oss (C2).

### Agency support retainer as share of build cost

`agency-retainer-share`

towards SaaS 25% a year (reasoned) · base 18% a year (estimate) · towards building 15% a year (sourced)

The agency’s yearly support fee as a share of what the build cost. It is the agency route’s maintenance once live, charged monthly; it covers integration fixes, so that route carries no integration risk.

Note: Of the agency route's actual build cost; replaces maintenance, upgrade and breakage lines on agency (C2).

Sources:
  - [“Software maintenance costs explained”](https://www.codestringers.com/articles/software-maintenance-costs-explained), CodeStringers, 2026-07-26
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07
  - [“Matt Hare, How Much Does Custom Software Cost in Australia? (2026 Practical Guide)”](https://hatchet.com.au/blog/how-much-does-custom-software-cost-in-australia-2026-guide/), Hatchet Pty Ltd, 2026-09-08

### Hosting, monitoring and backups for a small internal app

`hosting-base`

towards SaaS A$235 a month (estimate) · base A$60 a month (estimate) · towards building A$7 a month (estimate)

Monthly cost of hosting, monitoring and backups for a small internal app. Paid from go-live on the in-house, agency and open-source routes; on the vibe-coding route the builder fees cover hosting.

Sources:
  - [“Amazon Lightsail pricing”](https://aws.amazon.com/lightsail/pricing/), Amazon Web Services, 2026-10-13
  - [“Azure Retail Prices API: App Service Linux and PostgreSQL Flexible Server, australiaeast, AUD”](https://prices.azure.com/api/retail/prices), Microsoft, 2026-10-13
  - [“Workers pricing”](https://developers.cloudflare.com/workers/platform/pricing/), Cloudflare, 2026-10-13
  - [“Exchange rates (AUD/USD 0.6961 on 13 Oct 2026)”](https://www.rba.gov.au/statistics/frequency/exchange-rates.html), Reserve Bank of Australia, 2026-10-13

### Hosting cost added per user

`hosting-per-user`

towards SaaS A$0.5 per user a month (estimate) · base A$0.18 per user a month (estimate) · towards building A$0.01 per user a month (estimate)

Hosting cost added per user each month, on top of the base. Paid from go-live on the in-house, agency and open-source routes.

Sources:
  - [“Azure Retail Prices API: App Service Linux and PostgreSQL Flexible Server, australiaeast, AUD”](https://prices.azure.com/api/retail/prices), Microsoft, 2026-10-13
  - [“Workers pricing”](https://developers.cloudflare.com/workers/platform/pricing/), Cloudflare, 2026-10-13
  - [“Regional Pricing”](https://vercel.com/docs/pricing/regional-pricing), Vercel, 2026-09-14
  - [“Exchange rates (AUD/USD 0.6961 on 13 Oct 2026)”](https://www.rba.gov.au/statistics/frequency/exchange-rates.html), Reserve Bank of Australia, 2026-10-13

### Yearly compliance effort, APRA CPS 234 (apra-cps234)

`compliance-hours.apra-cps234`

towards SaaS 410 h a year (estimate) · base 280 h a year (estimate) · towards building 190 h a year (estimate)

Developer hours a year to keep a custom app compliant: security reviews, audits and evidence. Each build route pays them from go-live at the developer rate, raised on vibe-coding by its multiplier, and SaaS pays its share of them. The value shown is the one for the current regime.

Note: **Changed (C9):** pen-test fees re-converted at 01's loaded developer rate A$115/h (was A$120/h): 16,000 ÷ 115 + 50 → 190; 23,000 ÷ 115 + 80 = 280; 30,000 ÷ 115 + 150 → 410. Costed at the developer rate on every build route.

Sources:
  - [“Penetration testing cost: Australian pricing guide 2026”](https://compliancecouncil.com.au/penetration-testing-cost/), Compliance Council, 2026
  - [“Cyber security stocktake exposes gaps”](https://apra.gov.au/news-and-publications/cyber-security-stocktake-exposes-gaps), APRA, 2023-07-05

### Yearly compliance effort, ISM/PSPF (government-ism)

`compliance-hours.government-ism` · reasoned at all three ends

towards SaaS 600 h a year (reasoned) · base 350 h a year (reasoned) · towards building 200 h a year (reasoned)

Developer hours a year to keep a custom app compliant: security reviews, audits and evidence. Each build route pays them from go-live at the developer rate, raised on vibe-coding by its multiplier, and SaaS pays its share of them. The value shown is the one for the current regime.

Note: Reasoned, not converted from fees; unchanged by C9. Costed at the developer rate on every build route.

Sources:
  - [“Penetration testing cost: Australian pricing guide 2026”](https://compliancecouncil.com.au/penetration-testing-cost/), Compliance Council, 2026
  - [“Cyber security stocktake exposes gaps”](https://apra.gov.au/news-and-publications/cyber-security-stocktake-exposes-gaps), APRA, 2023-07-05

### Yearly compliance effort, no formal regime (light)

`compliance-hours.light` · reasoned at all three ends

towards SaaS 40 h a year (reasoned) · base 16 h a year (reasoned) · towards building 4 h a year (reasoned)

Developer hours a year to keep a custom app compliant: security reviews, audits and evidence. Each build route pays them from go-live at the developer rate, raised on vibe-coding by its multiplier, and SaaS pays its share of them. The value shown is the one for the current regime.

Note: Reasoned, not converted from fees; unchanged by C9. Costed at the developer rate on every build route.

### Yearly compliance effort, Privacy Act (privacy-act)

`compliance-hours.privacy-act`

towards SaaS 160 h a year (estimate) · base 70 h a year (estimate) · towards building 20 h a year (reasoned)

Developer hours a year to keep a custom app compliant: security reviews, audits and evidence. Each build route pays them from go-live at the developer rate, raised on vibe-coding by its multiplier, and SaaS pays its share of them. The value shown is the one for the current regime.

Note: Re-converted at A$115/h (C9): 72 and 162 h, unchanged after rounding to 10 h. Costed at the developer rate on every build route.

Sources:
  - [“Penetration testing cost: Australian pricing guide 2026”](https://compliancecouncil.com.au/penetration-testing-cost/), Compliance Council, 2026

### SaaS's share of the regime's yearly compliance hours

`saas-compliance-share` · reasoned at all three ends

towards SaaS 20% (reasoned) · base 40% (reasoned) · towards building 70% (reasoned)

The share of the regime’s yearly compliance hours a SaaS customer still does itself: access reviews, data governance, incident response, privacy and third-party controls. The vendor carries the platform controls. SaaS pays it on top of vendor assessment, at the developer rate once live; build routes pay it through SaaS until go-live.

Note: Added 2026-10-14 (owner request, R30). From 06. SaaS's yearly compliance is vendor-assessment-hours + this share × compliance-hours.<regime>, at the developer rate from go-live (C9, plan 2 R9). The vendor carries the platform controls (hosting, penetration testing, IRAP or SOC 2 certification); the customer keeps access reviews, data governance, incident response, privacy obligations and CPS 234 third-party controls. A higher share favours building.

### Compliance hours, vibe vs in-house

`vibe-compliance-mult` · reasoned at all three ends

towards SaaS 1.5× (reasoned) · base 1.2× (reasoned) · towards building 0.8× (reasoned)

Compliance hours on the vibe-coding route as a multiple of the in-house figure. It multiplies that route’s yearly compliance hours only.

Note: Drawn independently of other vibe penalties (C11).

Sources:
  - [“Do Users Write More Insecure Code with AI Assistants? (Perry, Srivastava, Kumar, Boneh; v3 revised 2023-12-18)”](https://arxiv.org/abs/2211.03622v1), arXiv:2211.03622 (CCS '23), 2022-11-07
  - [“Lovable Vulnerability Explained: How 170+ Apps Were Exposed”](https://www.superblocks.com/blog/lovable-vulnerabilities), Superblocks, 2026-03-09

### Yearly SaaS vendor security assessment, per product

`vendor-assessment-hours` · reasoned at all three ends

towards SaaS 4 h a year (reasoned) · base 12 h a year (reasoned) · towards building 30 h a year (reasoned)

Hours a year to assess the SaaS vendor’s security, at the developer rate. The SaaS route pays them once live, and each build route pays them through SaaS until it goes live.

Sources:
  - [“Cyber security stocktake exposes gaps”](https://apra.gov.au/news-and-publications/cyber-security-stocktake-exposes-gaps), APRA, 2023-07-05
  - [“State of Vendor Security Report: challenges and solutions”](https://www.whistic.com/resources/blog/state-of-vendor-security-report-challenges-and-solutions), Whistic, 2023
  - [“Security Questionnaires: Guide for Vendors and Buyers”](https://www.wolfia.com/blog/security-questionnaires-complete-guide), Wolfia, 2026-04-05

## Values: Waiting for changes

### Value of one needed change, a month, while it waits

`delay-value` · reasoned at all three ends

towards SaaS A$0 a month (reasoned) · base A$0 a month (reasoned) · towards building A$0 a month (reasoned)

Optional, 0 by default. What one needed change is worth to the organisation for each month it waits (lost revenue, a missed deadline, a manual control), beyond workaround hours. Above 0, every route carries a cost of waiting, shown apart from cash: on the vendor’s schedule for SaaS and until a build goes live, then on the organisation’s own.

Note: Added 2026-10-14 (owner request, R35). From 02. Opt-in: 0 at every end. Cost of waiting each month = this × changes-per-year ÷ 12 × lag (vendor-change-lag on SaaS from month 0; build-change-lag on a build from go-live), in its own component.

### Changes the organisation needs in the app a year

`changes-per-year` · reasoned at all three ends

towards SaaS 2 (reasoned) · base 4 (reasoned) · towards building 8 (reasoned)

Material changes the organisation needs in this app a year: a new field, rule, report or workflow step, not fixes. With the months each change waits, it sets how many changes are waiting at once. Used only when the value of a waiting change is above 0.

Note: Added 2026-10-14 (owner request, R35). From 02. Used only when delay-value is above 0.

### Months a SaaS customer waits for a needed change

`vendor-change-lag` · reasoned at all three ends

towards SaaS 3 months (reasoned) · base 9 months (reasoned) · towards building 18 months (reasoned)

Average months a SaaS customer waits for a needed change, counting requests the vendor never ships as waiting. Short when admins can configure it; long when it sits on the vendor’s roadmap. Used only when the value of a waiting change is above 0.

Note: Added 2026-10-14 (owner request, R35). From 02. Used only when delay-value is above 0.

### Months a build route waits for a needed change

`build-change-lag` · reasoned at all three ends

towards SaaS 3 months (reasoned) · base 1 months (reasoned) · towards building 0.5 months (reasoned)

Average months a build route waits for a needed change: the organisation schedules its own, so it is usually short. The hours to make the change are already in maintenance. Used only when the value of a waiting change is above 0.

Note: Added 2026-10-14 (owner request, R35). From 02. Used only when delay-value is above 0.

## Values: Replacing several products

### Other SaaS products one build would replace

`consolidated-products` · reasoned at all three ends

towards SaaS 0 (reasoned) · base 0 (reasoned) · towards building 0 (reasoned)

Optional, 0 by default. Other SaaS products one custom build would replace, each taken to cost what this one does. SaaS pays for all of them, and so does an open-source base, one per product; a custom build covers them all, paying hosting, admin and compliance once.

Note: Opt-in: 0 at every end (owner, 2026-10-18). Each other product is taken to be like this use case; SaaS pays for all; one build covers all, scope × (1 + count × consolidation-marginal-share). Added 2026-10-18 (structural fixes, phase 2).

### Build effort of each extra product in one build

`consolidation-marginal-share`

towards SaaS 100% (estimate) · base 80% (estimate) · towards building 55% (reasoned)

The build effort each extra product adds to one combined build, as a share of building it alone. Below 1 where products share sign-in, hosting, screens and data; near 1 where joining them adds as much as it saves. Used only when other products are replaced.

Note: COCOMO II size exponent (2^B − 1) less a shared foundation (sign-in, hosting, admin, audit). Only used when consolidated-products is above 0. Added 2026-10-18 (structural fixes, phase 2).

Sources:
  - [“COCOMO II Model Definition Manual (USC COCOMO II.1998.0)”](https://www.utdallas.edu/~John.Cole/CoCoMo2.pdf), University of Southern California, 1998
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07

## Values: Risks

### Yearly developer turnover

`dev-turnover`

towards SaaS 22% a year (sourced) · base 15% a year (estimate) · towards building 8.3% a year (sourced)

The chance each year that the developer who knows the app leaves. On the in-house and open-source routes, once live, each departure costs knowledge recovery hours and, with some chance, a rewrite.

Sources:
  - [“Job mobility, February 2026”](https://www.abs.gov.au/statistics/labour/jobs/job-mobility/feb-2026), Australian Bureau of Statistics, 2026-07-31
  - [“Ewin Hannan, "Employee turnover rate at three-year low as workers brace for drop in their real wages"”](https://www.ahri.com.au/wp-content/uploads/The-Australian_Employee-turnover-rate-at-three-year-low-as-workers-braces-for-drop-in-real-wages.pdf), The Australian (reproduced by AHRI), 2026-06-16
  - [“"IT staff attrition rates are 'unsustainably' high" (AIIA, reporting the Aon Survey of Salaries & Remuneration Packaging)”](https://technologydecisions.com.au/content/it-management/news/it-staff-attrition-rates-are-unsustainably-high-732793619), Technology Decisions, 2019-11-04
  - [“LinkedIn data analysis reveals the latest talent turnover trends”](https://news.linkedin.com/2018/3/linkedin-data-analysis-reveals-the-latest-talent-turnover-trends), LinkedIn, 2018-03-15

### Yearly turnover of vibe-coding business staff

`staff-turnover`

towards SaaS 19% a year (sourced) · base 13.5% a year (sourced) · towards building 6.8% a year (sourced)

The chance each year that the staff member who built the app leaves. On the vibe-coding route, once live, each departure costs knowledge recovery hours and, with some chance, a rewrite.

Note: Changed (final review): bear 0.20 (AHRI threshold, a different quantity) → 0.19 (public-sector average, 07:S2).

Sources:
  - [“Job mobility, February 2026”](https://www.abs.gov.au/statistics/labour/jobs/job-mobility/feb-2026), Australian Bureau of Statistics, 2026-07-31
  - [“Quarterly Australian Work Outlook, June Quarter 2025 (exact day not stated)”](https://www.ahri.com.au/wp-content/uploads/AHRI-Quarterly-Work-Outlook-Report-Q2-2025.pdf), Australian HR Institute, 2025-06
  - [“Ewin Hannan, "Employee turnover rate at three-year low as workers brace for drop in their real wages"”](https://www.ahri.com.au/wp-content/uploads/The-Australian_Employee-turnover-rate-at-three-year-low-as-workers-braces-for-drop-in-real-wages.pdf), The Australian (reproduced by AHRI), 2026-06-16

### Chance a developer's departure forces a rewrite

`rewrite-chance-inhouse` · reasoned at all three ends

towards SaaS 25% (reasoned) · base 10% (reasoned) · towards building 3% (reasoned)

When the developer who knows the app leaves, the chance the app is rewritten rather than picked up by someone else. It applies on the in-house and open-source routes; the rewrite size sets the hours.

Sources:
  - [“G. Avelino, L. Passos, A. Hora, M. T. Valente, "A Novel Approach for Estimating Truck Factors" (ICPC 2016)”](https://arxiv.org/abs/1604.06766v1), arXiv, 2016-04-22
  - [“G. Avelino, E. Constantinou, M. T. Valente, A. Serebrenik, "On the abandonment and survival of open source projects: An empirical investigation" (ESEM 2019)”](https://arxiv.org/abs/1906.08058), arXiv, 2019-06-19
  - [“O. Nourry et al., "Myth: The loss of core developers is a critical issue for OSS communities"”](https://arxiv.org/abs/2412.00313), arXiv, 2024-11-30

### Chance a vibe builder's departure forces a rewrite

`rewrite-chance-vibe`

towards SaaS 59% (estimate) · base 40% (reasoned) · towards building 15% (reasoned)

When the staff member who built the app leaves, the chance the app is rewritten rather than picked up by someone else. It applies on the vibe-coding route; the rewrite size sets the hours.

Note: Drawn independently of other vibe penalties (C11).

Sources:
  - [“G. Avelino, E. Constantinou, M. T. Valente, A. Serebrenik, "On the abandonment and survival of open source projects: An empirical investigation" (ESEM 2019)”](https://arxiv.org/abs/1906.08058), arXiv, 2019-06-19
  - [“O. Nourry et al., "Myth: The loss of core developers is a critical issue for OSS communities"”](https://arxiv.org/abs/2412.00313), arXiv, 2024-11-30
  - [“Govern with the CoE Power BI dashboard”](https://learn.microsoft.com/power-platform/guidance/coe/power-bi-govern), Microsoft Learn, 2026-04-20
  - [“Manage and govern the default Power Platform environment”](https://learn.microsoft.com/en-GB/power-platform/guidance/adoption/manage-default-environment), Microsoft Learn, 2026-06-23

### Knowledge recovery after a builder leaves

`recovery-share` · reasoned at all three ends

towards SaaS 30% (reasoned) · base 15% (reasoned) · towards building 5% (reasoned)

Hours to recover the know-how in an app, as a share of its traditional build hours, × the maintenance uplift. Paid when the key builder leaves (in-house, vibe-coding and open-source routes) and when the agency fails.

Note: Takes the maintenance uplift (C6). Also the agency-failure event cost, at the agency rate (C6).

Sources:
  - [“M. P. Robillard, "Turnover-Induced Knowledge Loss in Practice" (ESEC/FSE 2021)”](https://www.cs.mcgill.ca/~martin/papers/esecfse2021.pdf), McGill University / ACM, 2021-08-23
  - [“X. Xia, L. Bao, D. Lo, Z. Xing, A. E. Hassan, S. Li, "Measuring program comprehension: a large-scale field study with professionals"”](https://research.monash.edu/en/publications/measuring-program-comprehension-a-large-scale-field-study-with-pr/), IEEE Transactions on Software Engineering 44(10), 2018-10

### Forced rewrite size

`rewrite-share` · reasoned at all three ends

towards SaaS 100% (reasoned) · base 70% (reasoned) · towards building 40% (reasoned)

Hours to rewrite the app after a departure, as a share of its traditional build hours, × the build uplift of that month. Paid on the in-house, vibe-coding and open-source routes when a departure forces a rewrite.

Note: Rewrite takes the build uplift (C6).

Sources:
  - [“The True Cost of Rewriting vs. Bridging Enterprise Applications”](https://jnbridge.com/jnbridgepro/cost-rewriting-vs-bridging-enterprise-applications), JNBridge, 2026-04-13

### Material incident chance, in-house internal app

`incident-hazard`

towards SaaS 2% a year (estimate) · base 0.5% a year (estimate) · towards building 0.2% a year (estimate)

The chance each year of a material security incident in an in-house internal app. Each route’s chance is this × its own multiplier, from its go-live; an incident costs the records exposed × the cost per record × the incident cost multiplier.

Note: Least-supported divisor: ÷10 apps sharing the exposure is assumed (see Gaps). UK and global inputs.

Sources:
  - [“Cyber security breaches survey 2025”](https://www.gov.uk/government/statistics/cyber-security-breaches-survey-2025/cyber-security-breaches-survey-2025), UK Department for Science, Innovation and Technology, 2025-04-10
  - [“Verizon's 2025 DBIR Reveals Vulnerability Exploits Are Driving a Surge in Data Breaches (press release)”](https://www.securityinfowatch.com/cybersecurity/press-release/55285360/verizons-2025-dbir-reveals-vulnerability-exploits-are-driving-a-surge-in-data-breaches), Verizon via SecurityInfoWatch, 2025-04-23
  - [“Businesses at Work 2025: 10 years of data show how critical security has become”](https://okta.com/blog/2025/03/businesses-at-work-2025), Okta, 2025-03-12

### SaaS hazard relative to in-house

`incident-mult-saas` · reasoned at all three ends

towards SaaS 0.4× (reasoned) · base 0.7× (reasoned) · towards building 1.2× (reasoned)

The SaaS product’s chance of a security incident as a multiple of an in-house app’s. It multiplies the yearly incident chance on the SaaS route, which build routes also carry until they go live.

Sources:
  - [“Verizon's 2025 DBIR Reveals Vulnerability Exploits Are Driving a Surge in Data Breaches (press release)”](https://www.securityinfowatch.com/cybersecurity/press-release/55285360/verizons-2025-dbir-reveals-vulnerability-exploits-are-driving-a-surge-in-data-breaches), Verizon via SecurityInfoWatch, 2025-04-23
  - [“Hundreds of Salesforce customer orgs hit in clever attack with potentially huge blast radius”](https://www.helpnetsecurity.com/2025/08/27/hundreds-of-salesforce-customer-orgs-hit-in-clever-attack-with-potentially-huge-blast-radius/), Help Net Security, 2025-08-27
  - [“Salesloft Drift AI Supply Chain Attack”](https://www.finra.org/rules-guidance/guidance/salesloft-drift-AI-supply-chain-attack), FINRA, 2025
  - [“Mandiant finds 165 Snowflake customers targeted in hacking campaign”](https://siliconangle.com/2024/06/10/mandiant-finds-165-snowflake-customers-targeted-hacking-campaign/), SiliconANGLE, 2024-06-10
  - [“Qantas Cyber Incident (ASX/media release)”](https://announcements.asx.com.au/asxpdf/20250702/pdf/06lcfkpts06gj3.pdf), Qantas Airways, 2025-07-02

### Vibe-coded hazard relative to in-house

`incident-mult-vibe` · reasoned at all three ends

towards SaaS 5× (reasoned) · base 3× (reasoned) · towards building 1.5× (reasoned)

A vibe-coded app’s chance of a security incident as a multiple of an in-house app’s. It multiplies the yearly incident chance on the vibe-coding route.

Note: Drawn independently of other vibe penalties (C11).

Sources:
  - [“AI-Generated Code Poses Major Security Risks in Nearly Half of All Development Tasks, Veracode Research Reveals”](https://www.veracode.com/press-release/ai-generated-code-poses-major-security-risks-in-nearly-half-of-all-development-tasks-veracode-research-reveals/), Veracode, 2025-07-30
  - [“Do Users Write More Insecure Code with AI Assistants? (Perry, Srivastava, Kumar, Boneh; v3 revised 2023-12-18)”](https://arxiv.org/abs/2211.03622v1), arXiv:2211.03622 (CCS '23), 2022-11-07
  - [“Statement on CVE-2025-48757”](https://mattpalmer.io/posts/statement-on-CVE-2025-48757/), Matt Palmer, 2025-05-29
  - [“Methodology: How we discovered over 2k high-impact vulnerabilities in apps built with vibe coding platforms”](https://escape.tech/blog/methodology-how-we-discovered-vulnerabilities-apps-built-with-vibe-coding/), Escape, 2025-10-29

### Agency-built hazard relative to in-house

`incident-mult-agency` · reasoned at all three ends

towards SaaS 1.3× (reasoned) · base 1× (reasoned) · towards building 0.8× (reasoned)

An agency-built app’s chance of a security incident as a multiple of an in-house app’s. It multiplies the yearly incident chance on the agency route.

Sources:
  - [“Verizon's 2025 DBIR Reveals Vulnerability Exploits Are Driving a Surge in Data Breaches (press release)”](https://www.securityinfowatch.com/cybersecurity/press-release/55285360/verizons-2025-dbir-reveals-vulnerability-exploits-are-driving-a-surge-in-data-breaches), Verizon via SecurityInfoWatch, 2025-04-23
  - [“Latest Notifiable Data Breach statistics for January to June 2025”](https://www.oaic.gov.au/news/blog/latest-notifiable-data-breach-statistics-for-january-to-june-2025), OAIC, 2025-11-04

### Open-source/low-code base hazard relative to in-house

`incident-mult-oss` · reasoned at all three ends

towards SaaS 1.3× (reasoned) · base 1× (reasoned) · towards building 0.7× (reasoned)

An app on an open-source or low-code base: its chance of a security incident as a multiple of an in-house app’s. It multiplies the yearly incident chance on the open-source route.

Sources:
  - [“Verizon's 2025 DBIR Reveals Vulnerability Exploits Are Driving a Surge in Data Breaches (press release)”](https://www.securityinfowatch.com/cybersecurity/press-release/55285360/verizons-2025-dbir-reveals-vulnerability-exploits-are-driving-a-surge-in-data-breaches), Verizon via SecurityInfoWatch, 2025-04-23

### Cost per breached record, Australia

`cost-per-record`

towards SaaS A$205 (estimate) · base A$167 (sourced) · towards building A$120 (reasoned)

The average cost of one breached record in Australia. A security incident costs this × records per user × users × the incident cost multiplier, on every route.

Note: **Changed (C8):** bear 280 → 205 = IBM long-containment premium 5.17 ÷ 4.22 × 167; the financial-services premium now sits only in incident-cost-scale.low. Base IBM 2026 Australia A$167; bull reasoned.

Sources:
  - [“Australia breach costs hit AUD $4.22 million, IBM says”](https://itbrief.com.au/story/australia-breach-costs-hit-aud-4-22-million-ibm-says), IT Brief Australia, 2026-07-31

### Records exposed per seat, low sensitivity (low)

`records-per-seat.low` · reasoned at all three ends

towards SaaS 5 records (reasoned) · base 2 records (reasoned) · towards building 1 records (reasoned)

Records exposed in a security incident for each user of the app. It scales the cost of an incident on every route. The value shown is the one for the current use case’s data sensitivity.

Sources:
  - [“Australia breach costs hit AUD $4.22 million, IBM says”](https://itbrief.com.au/story/australia-breach-costs-hit-aud-4-22-million-ibm-says), IT Brief Australia, 2026-07-31

### Records exposed per seat, personal data (personal)

`records-per-seat.personal` · reasoned at all three ends

towards SaaS 100 records (reasoned) · base 30 records (reasoned) · towards building 10 records (reasoned)

Records exposed in a security incident for each user of the app. It scales the cost of an incident on every route. The value shown is the one for the current use case’s data sensitivity.

Sources:
  - [“Latest Notifiable Data Breach statistics for January to June 2025”](https://www.oaic.gov.au/news/blog/latest-notifiable-data-breach-statistics-for-january-to-june-2025), OAIC, 2025-11-04
  - [“Australia breach costs hit AUD $4.22 million, IBM says”](https://itbrief.com.au/story/australia-breach-costs-hit-aud-4-22-million-ibm-says), IT Brief Australia, 2026-07-31

### Records exposed per seat, regulated data (regulated)

`records-per-seat.regulated` · reasoned at all three ends

towards SaaS 500 records (reasoned) · base 100 records (reasoned) · towards building 30 records (reasoned)

Records exposed in a security incident for each user of the app. It scales the cost of an incident on every route. The value shown is the one for the current use case’s data sensitivity.

Sources:
  - [“Latest Notifiable Data Breach statistics for January to June 2025”](https://www.oaic.gov.au/news/blog/latest-notifiable-data-breach-statistics-for-january-to-june-2025), OAIC, 2025-11-04
  - [“Australia breach costs hit AUD $4.22 million, IBM says”](https://itbrief.com.au/story/australia-breach-costs-hit-aud-4-22-million-ibm-says), IT Brief Australia, 2026-07-31

### Incident cost multiplier, high risk appetite (low exposure) (high)

`incident-cost-scale.high` · reasoned at all three ends

towards SaaS 0.9× (reasoned) · base 0.7× (reasoned) · towards building 0.5× (reasoned)

Scales the cost of a security incident by how exposed the organisation is. It multiplies incident costs on every route. The value shown is the one for the organisation’s risk appetite.

Note: Low appetite = higher multiplier (controller ruling, C8)

### Incident cost multiplier, low risk appetite (high exposure) (low)

`incident-cost-scale.low`

towards SaaS 2× (reasoned) · base 1.5× (estimate) · towards building 1.2× (reasoned)

Scales the cost of a security incident by how exposed the organisation is. It multiplies incident costs on every route. The value shown is the one for the organisation’s risk appetite.

Note: Low appetite = higher multiplier (controller ruling, C8) Carries the financial-services premium alone; cost-per-record bear no longer does (C8).

Sources:
  - [“Australia breach costs hit AUD $4.22 million, IBM says”](https://itbrief.com.au/story/australia-breach-costs-hit-aud-4-22-million-ibm-says), IT Brief Australia, 2026-07-31

### Incident cost multiplier, medium risk appetite (medium)

`incident-cost-scale.medium` · reasoned at all three ends

towards SaaS 1.2× (reasoned) · base 1× (reasoned) · towards building 0.8× (reasoned)

Scales the cost of a security incident by how exposed the organisation is. It multiplies incident costs on every route. The value shown is the one for the organisation’s risk appetite.

Note: Low appetite = higher multiplier (controller ruling, C8)

### Chance an integration needs a fix

`integration-break-hazard`

towards SaaS 50% a year per integration (estimate) · base 30% a year per integration (estimate) · towards building 10% a year per integration (reasoned)

The chance each year that one integration breaks and needs a fix. Each integration can break separately on SaaS and on the in-house, vibe-coding and open-source routes once live; the agency’s retainer covers its own.

Note: Per integration a year; fixes take the maintenance uplift (C2).

Sources:
  - [“Souhaila Serbout and Cesare Pautasso, How Many Web APIs Evolve Following Semantic Versioning? (ICWE 2024)”](https://design.inf.usi.ch/sites/default/files/biblio/apiace-icwe2024.pdf), Software Institute, USI, 2024
  - [“Changes to the API (developer changelog)”](https://developer.xero.com/changelog), Xero, 2026-10-08
  - [“Versioning, support, and breaking change policies for Microsoft Graph”](https://learn.microsoft.com/en-us/graph/versioning-and-support), Microsoft, 2024-11-07
  - [“API End-of-Life Policy (Connect REST API guide)”](https://developer.salesforce.com/docs/platform/connect-rest-api/guide/intro_api_eol.html), Salesforce, 2025

### Hours to fix one broken integration

`integration-fix-hours` · reasoned at all three ends

towards SaaS 40 h (reasoned) · base 16 h (reasoned) · towards building 6 h (reasoned)

Traditional hours to fix one broken integration. They are paid at the route’s rate each time an integration breaks: on SaaS at the staff rate as they are, and on the in-house, vibe-coding and open-source routes × the maintenance uplift.

Note: Takes the route's maintenance uplift (C2).

Sources:
  - [“Keith Vaughan, Custom Software Development Cost Australia 2026”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07
  - [“Matt Hare, How Much Does Custom Software Cost in Australia? (2026 Practical Guide)”](https://hatchet.com.au/blog/how-much-does-custom-software-cost-in-australia-2026-guide/), Hatchet Pty Ltd, 2026-09-08
  - [“Changes to the API (developer changelog)”](https://developer.xero.com/changelog), Xero, 2026-10-08

### Custom build's framework or runtime reaches end of life and needs a port

`platform-eol-hazard`

towards SaaS 10% a year (reasoned) · base 6% a year (estimate) · towards building 3% a year (reasoned)

The chance each year that a custom app’s framework or runtime reaches end of life and the app must be ported. It applies on the in-house and agency routes once live; the port share sets the hours.

Note: Event cost is port-share × build-hours (C6).

Sources:
  - [“AngularJS Long Term Support is officially discontinued”](https://sdtimes.com/softwaredev/angularjs-long-term-support-is-officially-discontinued), SD Times (Jenna Barron), 2022-01-12
  - [“Sunsetting Python 2”](https://python.org/doc/sunset-python-2/), Python Software Foundation (undated page; year is the year read), 2026
  - [“.NET Framework Support Policy”](https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-framework), Microsoft (undated page; year is the year read), 2026

### Hours to port, as a share of build hours

`port-share` · reasoned at all three ends

towards SaaS 50% (reasoned) · base 25% (reasoned) · towards building 10% (reasoned)

Hours to port the app, as a share of its traditional build hours, × the maintenance uplift. It is the cost of a platform end of life (in-house, agency), a forced low-code migration (open-source) or a builder closure (vibe-coding).

Note: Takes the route's maintenance uplift (C6). Event cost for platform-eol, lowcode-change and builder-platform hazards, × full baseline build-hours (C6).

Sources:
  - [“AngularJS Long Term Support is officially discontinued”](https://sdtimes.com/softwaredev/angularjs-long-term-support-is-officially-discontinued), SD Times (Jenna Barron), 2022-01-12
  - [“Sunsetting Python 2”](https://python.org/doc/sunset-python-2/), Python Software Foundation (undated page; year is the year read), 2026
  - [“Incrementally migrating over one million lines of code from Python 2 to Python 3”](https://dropbox.tech/application/incrementally-migrating-over-one-million-lines-of-code-from-python-2-to-python-3), Dropbox Tech (Cary Yang), 2019-02-06

### Open-source or low-code base forces a migration

`lowcode-change-hazard`

towards SaaS 8% a year (estimate) · base 4% a year (reasoned) · towards building 1% a year (reasoned)

The chance each year that the open-source or low-code base changes enough to force a migration. It applies on the open-source route once live; the port share sets the hours.

Note: Event cost is port-share × full baseline build-hours (C6).

Sources:
  - [“Power Apps per App plan retired”](https://samexpert.com/power-apps-per-app-plan-retired/), SAMexpert (Alexander Golev; last updated date), 2026-03-16
  - [“Elastic license update”](https://www.elastic.co/blog/elastic-license-update), Elastic (Steve Kearns), 2021-06-03
  - [“HashiCorp adopts the Business Source License”](https://www.infoq.com/news/2023/08/hashicorp-adopts-bsl/), InfoQ (Daniel Bryant), 2023-08-15
  - [“Redis 'returns' to open source with AGPL license”](https://www.theregister.com/2025/05/01/redis_returns_to_open_source/), The Register (Lindsay Clark), 2025-05-01
  - [“Sustainable Use License”](https://docs.n8n.io/n8n-community-license/sustainable-use-license), n8n docs (undated page; year is the year read), 2026
  - [“Google will shut down App Maker on January 19, 2021”](https://venturebeat.com/business/google-will-shut-down-app-maker-on-january-19-2021), VentureBeat (Emil Protalinski), 2020-01-27
  - [“MC542767: SharePoint 2013 workflow retirement (Microsoft 365 Message Center, mirrored)”](https://mc.merill.net/message/MC542767), Microsoft via mc.merill.net, 2023-04-17

### AI app builder closes or changes enough to force a port

`builder-platform-hazard` · reasoned at all three ends

towards SaaS 25% a year (reasoned) · base 12% a year (reasoned) · towards building 5% a year (reasoned)

The chance each year that the AI app builder closes or changes enough to force a port. It applies on the vibe-coding route once live; the port share sets the hours.

Note: Event cost is port-share × build-hours, by staff at vibe-maint-uplift (C6).

Sources:
  - [“What was Builder.ai and why did it shut down? (explainer)”](https://restofworld.org/2025/builderai-ai-explainer-bankrupt/), Rest of World, 2025-08-01
  - [“Lovable's valuation doubles to $13.3BN as it raises new funds”](https://tech.eu/2026/08/12/lovables-valuation-doubles-to-13bn-as-raises-400m/), tech.eu (John Reynolds), 2026-08-12
  - [“Bolt.new company profile”](https://sacra.com/c/bolt-new/), Sacra (undated page; content runs to May 2026), 2026
  - [“Vibe coding platform Replit's latest update is infuriating customers with surprise cost overruns”](https://www.theregister.com/2025/09/18/replit_agent3_pricing/), The Register (Iain Thomson), 2025-09-18
  - [“2025 will likely be another brutal year of failed startups, data suggests”](https://techcrunch.com/2025/01/26/2025-will-likely-be-another-brutal-year-of-failed-startups-data-suggests), TechCrunch (Mary Ann Azevedo), 2025-01-26

### SaaS vendor shuts down or an acquisition forces a migration

`saas-exit-hazard`

towards SaaS 0.5% a year (reasoned) · base 1.5% a year (estimate) · towards building 5% a year (estimate)

The chance each year that the SaaS vendor shuts down or an acquisition forces a migration. On the SaaS route each event costs the migration hours at the staff rate; build routes carry it until they go live.

Note: Least-supported: the forced-migration share (10% base, 25% bull) is reasoned (see Gaps). Event cost migration-hours (C6).

Sources:
  - [“SaaS M&A Deal Volume and Valuations”](https://softwareequity.com/blog/saas-ma-deal-volume-and-valuations), Software Equity Group (Austin Hammer), 2025-11-26
  - [“Software M&A by Product Category: 2025 Full-Year Review”](https://softwareequity.com/blog/software-ma-by-product-category/), Software Equity Group (Austin Hammer), 2026-05-06
  - [“How Many SaaS Companies Are There in the World (citing Statista)”](https://ascendixtech.com/number-saas-companies-statistics/), Ascendix Tech (Alina Snisarenko), 2026-02-16
  - [“Server end of support”](https://www.atlassian.com/licensing/server-end-of-support), Atlassian (undated page; year is the year read), 2026
  - [“Two years after Broadcom acquisition: VMware exodus fails to materialize (CloudBolt survey)”](https://heise.de/-11193449), heise online, 2026-02-27
  - [“Google will shut down App Maker on January 19, 2021”](https://venturebeat.com/business/google-will-shut-down-app-maker-on-january-19-2021), VentureBeat (Emil Protalinski), 2020-01-27
  - [“MC542767: SharePoint 2013 workflow retirement (Microsoft 365 Message Center, mirrored)”](https://mc.merill.net/message/MC542767), Microsoft via mc.merill.net, 2023-04-17
  - [“2025 will likely be another brutal year of failed startups, data suggests”](https://techcrunch.com/2025/01/26/2025-will-likely-be-another-brutal-year-of-failed-startups-data-suggests), TechCrunch (Mary Ann Azevedo), 2025-01-26

### Hours to migrate off a complex SaaS product (complex)

`migration-hours.complex` · reasoned at all three ends

towards SaaS 5,000 h (reasoned) · base 2,000 h (reasoned) · towards building 800 h (reasoned)

Staff hours to move off the SaaS product, including setting up what replaces it. SaaS pays them when a vendor exit forces a move; each build route pays them at go-live less the SaaS implementation hours, since its replacement is the build itself. The value shown is the one for the current use case’s complexity.

Note: Changed (plan 3 R24): bear and bull swapped — since R21 build routes pay a migration at cutover, so fewer hours favour building. SaaS-exit event cost at the staff rate; includes implementing the replacement; no AI uplift (C6). A build route's cutover pays it less saas-implementation-hours, since the build is the replacement (R36, 2026-10-17).

### Hours to migrate off a moderate SaaS product (moderate)

`migration-hours.moderate` · reasoned at all three ends

towards SaaS 1,200 h (reasoned) · base 500 h (reasoned) · towards building 200 h (reasoned)

Staff hours to move off the SaaS product, including setting up what replaces it. SaaS pays them when a vendor exit forces a move; each build route pays them at go-live less the SaaS implementation hours, since its replacement is the build itself. The value shown is the one for the current use case’s complexity.

Note: Changed (plan 3 R24): bear and bull swapped — since R21 build routes pay a migration at cutover, so fewer hours favour building. SaaS-exit event cost at the staff rate; includes implementing the replacement; no AI uplift (C6). A build route's cutover pays it less saas-implementation-hours, since the build is the replacement (R36, 2026-10-17).

### Hours to migrate off a simple SaaS product (simple)

`migration-hours.simple` · reasoned at all three ends

towards SaaS 300 h (reasoned) · base 120 h (reasoned) · towards building 40 h (reasoned)

Staff hours to move off the SaaS product, including setting up what replaces it. SaaS pays them when a vendor exit forces a move; each build route pays them at go-live less the SaaS implementation hours, since its replacement is the build itself. The value shown is the one for the current use case’s complexity.

Note: Changed (plan 3 R24): bear and bull swapped — since R21 build routes pay a migration at cutover, so fewer hours favour building. SaaS-exit event cost at the staff rate; includes implementing the replacement; no AI uplift (C6). A build route's cutover pays it less saas-implementation-hours, since the build is the replacement (R36, 2026-10-17).

Sources:
  - [“Server end of support”](https://www.atlassian.com/licensing/server-end-of-support), Atlassian (undated page; year is the year read), 2026
  - [“Server support 100-day countdown”](https://www.atlassian.com/blog/company-news/server-support-100-day-countdown), Atlassian (Disha Rustogi), 2023-11-07

### Agency fails or exits

`agency-failure-hazard`

towards SaaS 9.4% a year (sourced) · base 4% a year (estimate) · towards building 0.3% a year (estimate)

The chance each year that the agency fails or exits. On the agency route, once live, each event costs knowledge recovery hours at the agency rate.

Note: Event cost is recovery-share × build-hours at the agency rate, not migration-hours (C6).

Sources:
  - [“Insolvency statistics Series 3.1: External administrators' and receivers' reports, 1 July 2024–30 June 2025 (Tables 3.1.1, 3.1.2)”](https://download.asic.gov.au/media/5codze5r/2024-2025-asic-insolvency-statistics-series-3-1.xlsx), ASIC, 2025-12
  - [“Insolvency statistics Series 3.1, 1 July 2023–30 June 2024”](https://download.asic.gov.au/media/jywjpwwz/2023-2024-asic-insolvency-statistics-series-3-1.xlsx), ASIC, 2024-11
  - [“Counts of Australian Businesses, including Entries and Exits, Jul 2022 – Jun 2026, Data cube 1 (Tables 1, 13, 15)”](https://www.abs.gov.au/statistics/economy/business-indicators/counts-australian-businesses-including-entries-and-exits/jul2022-jun2026/8165DC01.xlsx), Australian Bureau of Statistics, 2026-08-18

### Renewal price shock

`price-shock-hazard`

towards SaaS 5% a year (estimate) · base 10% a year (estimate) · towards building 20% a year (reasoned)

The chance at each yearly renewal of a one-off price jump that then stays. It applies to the SaaS subscription, and so to what build routes pay until go-live, and to the open-source route’s licence.

Note: Shocks sit on top of a yearly rise that excludes them (C13).

Sources:
  - [“SaaS M&A Deal Volume and Valuations”](https://softwareequity.com/blog/saas-ma-deal-volume-and-valuations), Software Equity Group (Austin Hammer), 2025-11-26
  - [“Software M&A by Product Category: 2025 Full-Year Review”](https://softwareequity.com/blog/software-ma-by-product-category/), Software Equity Group (Austin Hammer), 2026-05-06
  - [“How Many SaaS Companies Are There in the World (citing Statista)”](https://ascendixtech.com/number-saas-companies-statistics/), Ascendix Tech (Alina Snisarenko), 2026-02-16
  - [“Two years after Broadcom acquisition: VMware exodus fails to materialize (CloudBolt survey)”](https://heise.de/-11193449), heise online, 2026-02-27
  - [“SaaS vendors are hiking costs faster than inflation, but squeaky wheels can still get deals”](https://www.theregister.com/2025/09/20/saas_license_negotiation_advice/), The Register (Simon Sharwood), 2025-09-20
  - [“SaaS price hikes put CIOs' budgets in a bind”](https://cio.com/article/4104365/saas-price-hikes-put-cios-budgets-in-a-bind.html), CIO (Grant Gross), 2025-12-12
  - [“Key SaaS inflation stats: How to mitigate in 2025”](https://www.vertice.one/inside-saas/saas-inflation), Vertice, 2025-01-28
  - [“Salesforce's on-prem clients face cloud migration pressure: Gartner”](https://www.ciodive.com/news/salesforces-on-prem-clients-face-cloud-migration-pressure-gartner/692130/), CIO Dive (Alexei Alexis), 2023-08-30
  - [“Microsoft to increase Office suite prices across the board starting July 2026”](https://www.directionsonmicrosoft.com/microsoft-to-increase-office-suite-prices-across-the-board-starting-july-2026/), Directions on Microsoft (Mary Jo Foley), 2025-12-04
  - [“Power Apps per App plan retired”](https://samexpert.com/power-apps-per-app-plan-retired/), SAMexpert (Alexander Golev; last updated date), 2026-03-16

### One-off renewal shock

`saas-renewal-shock-size`

towards SaaS 20% (sourced) · base 50% (reasoned) · towards building 300% (sourced)

How much the price jumps when a renewal price shock happens. The higher price holds from that renewal on, on the SaaS subscription and the open-source route’s licence.

Note: Shocks sit on top of a yearly rise that excludes them (C13).

Sources:
  - [“Microsoft 365 boosts prices in 2026 to pay for more AI and security (Richard Speed)”](https://www.theregister.com/2025/12/05/microsoft_365_prices_up_2026), The Register, 2025-12-05
  - [“Microsoft 365 Prices Rise on 1 July: What IT Teams Need to Do Before the Deadline (Marcus Law)”](https://www.uctoday.com/unified-communications/microsoft-365-prices-rise-on-1-july-what-it-teams-need-to-do-before-the-deadline/), UC Today, 2026-05-19
  - [“VMware cost increases: how Broadcom VMware product offerings are evolving (Neil Stewart)”](https://idc.com/resource-center/blog/vmware-cost-increases-how-broadcom-vmware-product-offerings-are-evolving), IDC, 2024-08-07
  - [“VMware's first contentious year under Broadcom drives customers to weigh other options (Matt Ashare)”](https://ciodive.com/news/broadcom-vmware-acquistion-vcf-private-cloud/733800/), CIO Dive, 2024-11-26

## Values: Rates and fine detail

### In-house developer salary

`dev-salary`

towards SaaS A$132,000 a year (estimate) · base A$115,000 a year (estimate) · towards building A$101,000 a year (sourced)

The yearly salary of one in-house developer, before on-costs. It sets the developer hourly rate, which prices build, upkeep and risk events on the in-house and open-source routes, and compliance hours on every route.

Sources:
  - [“Full Stack JavaScript Developer salary, Sydney (includes Software Developer row; "Updated for 2026"; figures undated, 2026 Salary Guide)”](https://www.roberthalf.com/au/en/job-details/full-stack-javascript-developer/sydney), Robert Half Australia, 2026
  - [“Software Developer salary, Melbourne (figures undated; site links the 2026 Salary Guide)”](https://www.roberthalf.com/au/en/job-details/software-developer/melbourne), Robert Half Australia, 2026
  - [“Software Developer salary, Brisbane (figures undated; site links the 2026 Salary Guide)”](https://www.roberthalf.com/au/en/job-details/software-developer/brisbane), Robert Half Australia, 2026
  - [“Software Developer salary, Perth (figures undated; site links the 2026 Salary Guide)”](https://www.roberthalf.com/au/en/job-details/software-developer/perth), Robert Half Australia, 2026
  - [“ANZSCO 2613 Software and Applications Programmers (page undated; earnings from ABS Survey of Employee Earnings and Hours, May 2025)”](https://www.jobsandskills.gov.au/data/occupation-and-industry-profiles/occupations-anzsco/2613-software-and-applications-programmers), Jobs and Skills Australia, 2025-05
  - [“How much does a Software Developer earn in Australia (page undated; quotes the 2022/23 Hays Salary Guide)”](https://www.hays.com.au/web/hays-au-technology/software-developer-jobs/salary), Hays Australia, 2023
  - [“At a glance 2025 (APS Remuneration Data, data as at 31 December 2025)”](https://www.apsc.gov.au/node/3399), Australian Public Service Commission, 2025-12-31
  - [“APS pay scales 2026: APS 1–6 and EL 1–2 salaries (third-party summary of agency enterprise agreements; page undated)”](https://fairworkmate.com.au/public-sector-pay/aps-pay-scales), FairWork Mate, 2026
  - [“Software Developer salary in AU (October 2026)”](https://au.seek.com/career-advice/role/software-developer/salary), SEEK, 2026-10

### Business staff salary (BA or operations officer)

`staff-salary`

towards SaaS A$111,600 a year (estimate) · base A$98,000 a year (estimate) · towards building A$80,795 a year (sourced)

The yearly salary of a business analyst or operations officer, before on-costs. It sets the staff hourly rate: SaaS implementation, admin and workaround hours, the vibe-coding route’s build and upkeep, and the migration a build route pays when it leaves SaaS.

Note: Changed (final review): bear 125,000 → 111,600 (125,000 ÷ 1.12, super removed so `oncost` does not count it twice); basis `sourced` → `estimate`.

Sources:
  - [“At a glance 2025 (APS Remuneration Data, data as at 31 December 2025)”](https://www.apsc.gov.au/node/3399), Australian Public Service Commission, 2025-12-31
  - [“Business Analyst salary in AU (October 2026)”](https://au.seek.com/career-advice/role/business-analyst/salary), SEEK, 2026-10
  - [“Operations Officer salary in AU (October 2026)”](https://au.seek.com/career-advice/role/operations-officer/salary), SEEK, 2026-10

### Salary to fully loaded cost

`oncost`

towards SaaS 1.75× (sourced) · base 1.45× (estimate) · towards building 1.22× (estimate)

Multiplies a salary into its fully loaded cost, adding superannuation, leave, payroll tax and overheads. It raises the developer and staff hourly rates alike, so it touches every route that pays for staff or developer time.

Sources:
  - [“Regulatory Burden Measurement Framework (guidance note)”](https://oia.pmc.gov.au/sites/default/files/2026-06/regulatory-burden-measurement-framework.pdf), Office of Impact Analysis, Department of the Prime Minister and Cabinet, 2026-07
  - [“2025 & 2026 Salary on-costs (page undated)”](https://services.anu.edu.au/human-resources/salaries-benefits/salary-on-costs), Australian National University, 2025
  - [“Payroll tax thresholds and rates (page undated; covers 2025-26 and 2026-27)”](https://www.revenue.nsw.gov.au/taxes-duties-levies-royalties/payroll-tax/lodge-and-pay-returns/thresholds-and-rates), Revenue NSW, 2026
  - [“Annual leave (page undated)”](https://www.fairwork.gov.au/leave/annual-leave), Fair Work Ombudsman, 2026
  - [“The final SG rate increase is coming on 1 July (page undated; returned 403 to direct fetch, content confirmed via search result)”](https://www.ato.gov.au/businesses-and-organisations/small-business-newsroom/the-final-sg-rate-increase-is-coming-on-1-july), Australian Taxation Office, 2025

### Productive hours per FTE a year

`productive-hours`

towards SaaS 1,300 h a year (reasoned) · base 1,450 h a year (estimate) · towards building 1,680 h a year (estimate)

Hours a year one full-time person spends on productive work. Hourly rates are salary × on-cost ÷ these hours, and a twelfth of them is one person’s monthly capacity, which sets how many months each build and the SaaS implementation take.

Sources:
  - [“Annual leave (page undated)”](https://www.fairwork.gov.au/leave/annual-leave), Fair Work Ombudsman, 2026
  - [“Paid sick and carer's leave (page undated)”](https://www.fairwork.gov.au/leave/sick-and-carers-leave/paid-sick-and-carers-leave), Fair Work Ombudsman, 2026

### Blended agency day rate

`agency-day-rate`

towards SaaS A$1,750 a day (estimate) · base A$1,300 a day (estimate) · towards building A$950 a day (sourced)

What the agency charges per day, blended across its roles. Divided by 7.6 hours it gives the agency route’s hourly rate for the build and risk events, and the agency’s support retainer is a share of the build cost it produces.

Sources:
  - [“Custom software development cost Australia 2026 (Keith Vaughan)”](https://www.cipherprojects.com/blog/posts/custom-software-development-cost-australia-2026/), Cipher Projects, 2026-07-07
  - [“Tech Contractor Day Rates in Australia: The 2026 Guide (Matt Gold)”](https://www.resourced.com.au/articles/contractor-day-rates-australia-guide-2026), Re:Sourced, 2026-07-06
  - [“ICT Contractor Rates in Canberra 2026: What Government Roles Actually Pay (cites Hays FY25/26 data)”](https://www.hyperionit.com.au/news/ict-contractor-rates-in-canberra-2026-what-government-roles-actually-pay), Hyperion IT, 2026-05-11
  - [“'Little relief' for customers as Aussie contractors' daily rates top $1,680 (Hays Technology Contractor Rates Guide)”](https://www.arnnet.com.au/article/1257971/little-relief-for-customers-as-aussie-contractors-daily-rates-top-1680.html), ARN, 2022-04-27

### Blended price for coding models

`token-price`

towards SaaS US$1.02 per million tokens (estimate) · base US$0.31 per million tokens (estimate) · towards building US$0.17 per million tokens (estimate)

The blended price per million tokens for the coding models developers use, in US dollars. It prices AI usage on every build and maintenance hour on the in-house and open-source routes; the agency’s rate includes its own.

Note: market.json frontier tier at base (spec §5). Not used on the vibe route (C4). Bear reproduces observed spend (C5).

Sources:
  - [“OpenRouter public model list, as the source of tokensim's `src/data/market.json` tier prices (asOf 2026-10-12); re-read on the access date”](https://openrouter.ai/api/v1/models), OpenRouter, 2026-10-12
  - [“Pricing (Claude API)”](https://platform.claude.com/docs/en/about-claude/pricing), Anthropic, 2026-10-13

### Tokens per hour of agentic development

`tokens-per-dev-hour`

towards SaaS 5.3 million tokens an hour (estimate) · base 1.6 million tokens an hour (estimate) · towards building 0.36 million tokens an hour (estimate)

Millions of AI tokens a developer’s agents use per hour of work. × the token price, it is charged on every build and maintenance hour on the in-house and open-source routes.

Note: Priced at token-price; base pair gives ~US$70/dev-month vs US$150–250 observed at Opus prices, which the token-price bear reproduces (C5). 2026 snapshot; no growth lever.

Sources:
  - [“Manage costs effectively (Claude Code docs)”](https://code.claude.com/docs/en/costs), Anthropic, 2026-04-16
  - [“Anthropic more than doubles its public estimate of average daily Claude Code spending from $6 to $13 per developer”](https://www.shopifreaks.com/anthropic-more-than-doubles-its-public-estimate-of-average-daily-claude-code-spending-from-6-to-13-per-developer/), Shopifreaks, 2026-04-29
  - [“The State of AI in Software Engineering, H1 2026”](https://jellyfish.co/state-of-ai-software-engineering/), Jellyfish, 2026-06
  - [“Nicholas Arcolano (Jellyfish) on token-maxing and diminishing returns”](https://workos.com/blog/nicholas-arcolano-jellyfish-token-maxing-diminishing-returns), WorkOS, 2026-08-05
  - [“AI coding spend benchmark (four weeks ending 2026-08-02)”](https://ai-spend.larridin.com/data), Larridin, 2026-08
  - [“Pricing (Claude API)”](https://platform.claude.com/docs/en/about-claude/pricing), Anthropic, 2026-10-13

### Effective token price on an AI app-builder platform

`vibe-token-price`

towards SaaS US$2.5 per million tokens (sourced) · base US$1.7 per million tokens (estimate) · towards building US$0.83 per million tokens (estimate)

The effective price per million tokens on an AI app-builder platform, in US dollars. × the tokens per hour, it prices vibe-coding usage; each month that route pays whichever is higher, its usage or the builder plan.

Note: Bolt Pro 10 Mtok for US$25 (bear); midpoint (base); Lovable Pro US$0.25 a credit × ~8 credits an hour ÷ 2.4 Mtok/h (bull). Vibe token line = max(builder fee, hours × vibe-tokens-per-hour × this) per builder-month (C4). Added by plan 2 (R1).

Sources:
  - [“Bolt pricing”](https://bolt.new/pricing), StackBlitz (Bolt), 2026-10-13
  - [“Subscription plans”](https://docs.lovable.dev/introduction/subscription-plans), Lovable, 2026-10-13
  - [“Plans and credits”](https://docs.lovable.dev/introduction/plans-and-credits), Lovable, 2026-10-13

### Tokens per hour of vibe-coding

`vibe-tokens-per-hour`

towards SaaS 6 million tokens an hour (estimate) · base 2.4 million tokens an hour (estimate) · towards building 0.6 million tokens an hour (estimate)

Millions of tokens the app builder uses per hour of vibe-coding. × the builder’s token price, it sets that route’s usage; each month the route pays whichever is higher, its usage or the builder plan.

Note: Priced at a platform token rate, not token-price; vibe token line = max(builder fee, hours × this × platform rate) per builder-month (C4).

Sources:
  - [“Tokens (Bolt support)”](https://support.bolt.new/account-and-subscription/tokens), StackBlitz (Bolt), 2026-10-13
  - [“Bolt.new Pricing, Tokens, and Hidden Costs in 2026”](https://www.banani.co/blog/bolt-new-pricing), Banani, 2026-05-12

### AI app-builder plan per builder

`builder-fee-per-builder`

towards SaaS US$100 a month (sourced) · base US$50 a month (sourced) · towards building US$20 a month (sourced)

The AI app-builder plan for the one staff member who builds, in US dollars a month. From the start of the vibe-coding route it is the least that route pays each month for the builder; heavier token usage costs more.

Note: A prepayment credited against vibe token usage; charge the larger of fee and usage (C4).

Sources:
  - [“Subscription plans”](https://docs.lovable.dev/introduction/subscription-plans), Lovable, 2026-10-13
  - [“Replit pricing”](https://replit.com/pricing), Replit, 2026-10-13
  - [“Retool pricing”](https://retool.com/pricing), Retool, 2026-10-13

### End-user or runtime licence on the builder platform

`builder-fee-per-user`

towards SaaS US$22 per user a month (sourced) · base US$5 per user a month (sourced) · towards building US$0 per user a month (sourced)

The app-builder platform’s licence per end user a month, in US dollars. The vibe-coding route pays it for every user from go-live; it also covers that route’s hosting.

Sources:
  - [“Subscription plans”](https://docs.lovable.dev/introduction/subscription-plans), Lovable, 2026-10-13
  - [“Retool pricing”](https://retool.com/pricing), Retool, 2026-10-13
  - [“Power Apps pricing”](https://www.microsoft.com/en-us/power-platform/products/power-apps/pricing), Microsoft, 2026-10-13
  - [“Power Apps Premium Is Getting More Expensive: What Changes on 1 January 2027”](https://2-data.com/knowledge-hub/power-apps-premium-is-getting-more-expensive-what-changes-on-1-january-2027/), 2-data, 2026-09-15

### Real discount rate

`discount-rate-real`

towards SaaS 7% a year (sourced) · base 3% a year (sourced) · towards building 1.4% a year (sourced)

A yearly rate, above inflation, that makes money spent later count for less today. Every route’s monthly costs are discounted by it. At 0% a dollar in year five counts the same as a dollar now.

Note: Base 3% is OIA's low sensitivity rate and the building end IPART's 1.4% real rate (C15, revised 2026-10-18 after ritual dissent: a 0% base read as undiscounted and favoured building).

Sources:
  - [“Cost Benefit Analysis (guidance note)”](https://oia.pmc.gov.au/sites/default/files/2023-08/cost-benefit-analysis.pdf), Office of Impact Analysis, Department of the Prime Minister and Cabinet, 2023-07
  - [“Fact sheet: Local government discount rate, February 2026”](https://www.ipart.nsw.gov.au/sites/default/files/cm9_documents/Fact-sheet-Local-government-discount-rate-February-2026.PDF), IPART NSW, 2026-02-25
