Plan & price

Retainer Pricing Calculator

Put a clear price on a defined monthly allowance of your time.

Project inputsUSD · no conversion
hours

Include planning, communication, development and testing time.

USD / hour

The rate you propose charging your client, not your internal labor cost.

%

A buffer applied to labor only. Enter 15 for 15%, not 0.15.

USD

Out-of-pocket costs for this project; enter 0 when none apply.

Results

Your results will appear here

Enter your project inputs and select Calculate. You can also load the worked example to try the calculator.

No account. No saved inputs.
Estimates only. Not tax, legal or financial advice.

Methodology

How the calculation works

Monthly labor estimate = reserved monthly hours × billable hourly rate

Contingency = monthly labor estimate × contingency % ÷ 100

Suggested monthly retainer = monthly labor estimate + contingency + monthly expenses

What each input means

Reserved hours per month (hours)
Include planning, communication, development and testing time.
Billable hourly rate (USD / hour)
The rate you propose charging your client, not your internal labor cost.
Contingency (%)
A buffer applied to labor only. Enter 15 for 15%, not 0.15.
Monthly retainer-specific expenses (USD)
Out-of-pocket costs for this project; enter 0 when none apply.

A worked example

Reserve 12 hours per month at USD 75/hour for website maintenance. Labor is USD 900; a 10% buffer adds USD 90. With USD 30 in monthly expenses, the retainer is USD 1,020.00/month.

How to use the result

Reserved capacity is valuable because you keep it available. Make the allowance explicit and agree how requests are prioritized. A monthly retainer should not silently become an unlimited work or on-call arrangement.

Assumptions & edge cases

  • The buffer applies to labor only.
  • Define rollover, extra-hour pricing, response windows and exclusions separately.
  • No annual discount, tax, payment fees or automatic availability premium is included.

All monetary values are in USD. No currency conversion is performed. Inputs must be non-negative, finite numbers of at most 1,000,000,000; intermediate values are not rounded, and displayed amounts use two decimal places. Very small nonzero values below 0.000001 are not supported.