Skip to main content
Project Settings
Rate Card
RoleLevelRateUnit
Resources
Duration mode:
RoleCountAlloc%Duration (mo)Line cost
Infrastructure & Licensing
NameCategoryEnvUnit costQtyRecurrenceYearly Cost
Summary
Show as:
Labor
Infrastructure
Cost (pre-margin)
Final Price
Show in report
Labor subtotal
Infrastructure subtotal
SubtotalLabor + Infra
+ Overhead
+ Contingency
CostSubtotal + Overhead + Contingency
+ Margin
− Discount
Price before taxCost + Margin − Discount
+ Tax
Final Price
Total person-months: Headcount: Blended monthly rate: Cost / sprint:

Frequently Asked Questions

How is the project price calculated?

The estimator adds up two buckets: labor (each resource's normalized monthly rate × count × allocation% × duration) and infrastructure (line items prorated to the project duration). This gives a subtotal.

Then it applies: +overhead%+contingency% → cost → +margin%−discount → price before tax → +tax% → final price. Every step is visible in the roll-up table so the number is fully auditable.

Can I mix hourly and monthly rates?

Yes. Set Hours/day and Days/month once in Project Settings. The rate card accepts hourly, daily, or monthly rates — the tool converts each to a monthly equivalent before summing. Formula: monthly = hourly × hoursPerDay × daysPerMonth or monthly = daily × daysPerMonth.

Does it handle cloud and licensing costs?

Yes. Add infrastructure line items in the Infrastructure card. Each item can be one-time, monthly, or annual. Monthly costs are multiplied by project duration; annual costs are prorated (unitCost × qty × durationMonths / 12); one-time costs are added once. This lets you model AWS/Azure compute, SaaS licenses, security tools, and support contracts in a single table.

Where is my data stored?

Everything stays in your browser's localStorage under the key toolshut.rcEstimator.v1. Nothing is sent to any server. Use Export JSON to save a snapshot to your computer, and Import JSON to restore it later or share with a colleague.

Can I compare onshore vs offshore options?

Today you can save two separate JSON exports (e.g. one with onshore rates, another with offshore rates) and compare the Final Price, headcount, and blended rate figures side by side. A built-in scenario comparison view is planned for a future update.

Methodology

Roll-up formula & rate normalization

Rate normalization — all rates in the rate card are converted to a monthly equivalent before any calculation:

ratePerMonth = hourly × hoursPerDay × daysPerMonth
ratePerMonth = daily × daysPerMonth
ratePerMonth = monthly (no change)

Labor line cost (months mode)
count × ratePerMonth × durationMonths × (allocation / 100)

Labor line cost (hours mode)
count × ratePerMonth × durationMonths × (allocation / 100) — identical math; the "hours" column shows durationMonths × daysPerMonth × hoursPerDay as a reference.

Infrastructure
One-time: unitCost × qty
Monthly: unitCost × qty × durationMonths
Annual: unitCost × qty × (durationMonths / 12)

Roll-up sequence
subtotal = laborSubtotal + infraSubtotal
overhead = subtotal × overhead%/100
contingency = (subtotal + overhead) × contingency%/100
cost = subtotal + overhead + contingency
margin = cost × margin%/100
pricePreTax = cost + margin − discount
tax = pricePreTax × tax%/100
finalPrice = pricePreTax + tax

Derived metrics
totalPersonMonths = Σ(count × allocation%/100 × durationMonths)
blendedMonthlyRate = laborSubtotal / totalPersonMonths
costPerSprint = (cost / durationMonths) × (sprintWeeks / 4.345)

INR lakh / crore formatting

When the currency is set to INR, a display toggle appears in the Summary header:

(raw) — uses Intl.NumberFormat('en-IN', { style: 'currency', currency: 'INR', maximumFractionDigits: 0 }) for the standard Indian comma-grouping system (e.g. ₹12,34,567).

Lakh — divides by 100,000 and shows as "₹X.XX L" (1 Lakh = 1,00,000).

Crore — divides by 10,000,000 and shows as "₹X.XX Cr" (1 Crore = 1,00,00,000).