How to calculate your machine shop hourly rate
Short answer
To calculate your machine shop hourly rate, add up a year of what each machine costs to own and run, the operator’s wage with payroll costs and benefits, and the machine’s share of shop overhead. Divide that by the hours you can actually bill on the machine, not the hours the shop is open. That gives your break-even rate; add your profit on top. In the example below, a vertical mill that costs $175,220 a year and bills 1,352 hours breaks even at about $130 an hour.
Why the rate deserves an afternoon
If you want to know how to calculate a machine shop hourly rate, start with how much of your quoting rests on it. One machinist summed up a common formula as “(Estimated time * shop-rate * ‘I don’t want to do it factor’) + Material cost” [2]. Every hour of setup and run time on every quote is multiplied by that one number. If it is $15 low, every job you win carries the shortfall.
Shops use shortcuts. One poster’s rule is to “bid about 3 times your hour rate. Short runs and one-ups likely need 4 times” [1]. A multiplier like that can work for the shop that tuned it, but it can’t tell you whether it covers your own costs. The arithmetic below can.
What goes into the rate
Work out each cost for a full year, per machine or per work centre. Four groups cover it:
- Owning the machine. Depreciation (purchase price less expected resale, over the years you expect to run it) or the loan payments, plus interest.
- Running the machine. Maintenance and repairs, tooling and inserts, coolant and other consumables, power and compressed air, and the floor space it takes at your rent per square foot.
- The operator. Wage times paid hours, plus payroll taxes, benefits and paid time off. If one operator runs two machines, split their cost between them.
- Shop overhead. Everything that isn’t one machine: office and front-of-house staff, the owner’s time off the floor, insurance, software, accounting, shop supplies, general utilities, vehicles. Spread it across machines by hours or by a share you can defend.
Quoting itself belongs in overhead, and it is easy to miss because it doesn’t land on any job. One shop that quotes mostly one-off parts describes an ERP that can’t record time against a work order until the customer approves the quote, so the time spent estimating has to be tracked somewhere else [6]. If an estimator spends 15 hours a week quoting, that is real cost, and won jobs have to pay for it.
The hours you divide by
The hours matter as much as the costs. A single shift is about 2,080 paid hours a year, but you can’t bill all of them. Holidays, maintenance, waiting for material, unquoted rework and plain idle time all come out. Setup time stays in, because you charge for it.
Use your own number. Take a recent stretch of jobs, add up the hours you actually charged to customers on a machine, and divide by the hours it was available. If you don’t track that yet, start now and use a cautious estimate until you have a few months of data.
A worked example: one vertical mill
A four-machine shop works out the rate for one 3-axis vertical mill, run by one operator on a single shift. The figures are an illustration; replace every one with your own.
| Cost | How it’s worked out | Per year |
|---|---|---|
| Depreciation | ($160,000 price − $20,000 resale) / 7 years | $20,000 |
| Loan interest | From the loan statement | $7,500 |
| Maintenance and repairs | Last year’s invoices | $4,000 |
| Tooling, inserts, coolant | Purchases charged to this machine | $9,000 |
| Power | Machine’s share of the electric bill | $3,000 |
| Floor space | 400 sq ft × $14 per sq ft | $5,600 |
| Operator | $30/hour × 2,080 hours + 30% payroll costs and benefits | $81,120 |
| Shop overhead | $180,000 a year / 4 machines | $45,000 |
| Total | $175,220 |
Then add profit. For a 15% margin on the selling price, divide by 0.85: $129.60 / 0.85 = $152.47, so this shop would quote the mill at about $150 to $155 an hour.
Now look at what the billable hours do to the same costs:
| Share of hours billed | Billable hours | Break-even rate | With 15% margin |
|---|---|---|---|
| 50% | 1,040 | $168.48 | $198.21 |
| 65% | 1,352 | $129.60 | $152.47 |
| 80% | 1,664 | $105.30 | $123.88 |
The swing is over $60 an hour. That is why a rate copied from another shop, or from your own busier year, can be wrong by more than any single cost line.
One shop rate, or several
A single blended rate is simple. It starts to cost you when your machines are very different: a 5-axis machine and a manual lathe don’t cost the same to own, and averaging them overprices one and underprices the other. Separate rates are worth it for:
- Machines with very different costs, such as a 5-axis mill, a Swiss lathe and a manual machine.
- Unattended running. A machine running without an operator costs the machine and overhead lines only. In the example that is ($49,100 + $45,000) / 1,352 = $69.60 an hour.
- Programming and engineering, usually billed at an office rate rather than a spindle rate.
- Bench work: deburring, assembly and inspection, which need a person but no machine.
Your rate is a cost, not a price
The rate tells you what an hour costs. The price is a judgment on top of it. Some shops adjust openly for the job and the customer: one estimator enters “a markup based on what type of job it is” and on what kind of customer it is [4]. Keep that adjustment separate from the rate, so you can see how much of a price is cost and how much is judgment.
Two other tools protect the rate on small or uncertain work. A minimum charge: one machinist mentions a “1.5hr shop minimum” [2], and another shop says “a $40 job will get quoted $150 as that’s the minimum amount a PO can be for us per part” [7]. And time and materials, for work you can’t estimate yet. One shop has “been quoting my jobs as time + material lately” [8]; another works “Hourly plus materials” on prototypes, then fixed prices on repeat orders [5].
Keep the rate current, and check it against actuals
Recalculate at least once a year, and whenever a big cost changes: a new machine, a raise, a new lease. When you do, make sure nobody quotes from the old number. A 2014 thread on spreadsheet quoting raised both sides of this: update the rate “so you don’t inadvertently quote using the old rate”, and separate approved quotes from the master sheet “so master changes do not impact and approved quote” [3].
Then check the rate against reality. Asked whether they compare actual hours and costs with the bid, one experienced machinist answered “Always track and compare” [5]. If jobs keep running longer than quoted, the hours are the problem, not the rate. If they run on time and the shop still isn’t making money, look at the rate.
Work out your own
Our shop rate calculator does this arithmetic with your own numbers. Then use the rate in a real quote: how to quote CNC machining jobs walks through one from drawing to price.
Using the rate in QuoteSooner
In QuoteSooner you enter your shop’s rates once, and they fill in every new quote’s worksheet, where you build each price from material, setup and run time. Every saved change to the rates is kept in a history, with who made it and what changed, and an earlier version can be restored. The free plan covers 5 RFQs a month, with no card: start free, or see pricing.
Questions
- How do you calculate a machine shop hourly rate?
- Add up a year of the machine’s ownership and running costs, the operator’s wage with payroll costs and benefits, and the machine’s share of shop overhead. Divide by the hours you can bill on that machine in a year. That is the break-even rate; add your profit on top.
- What is a typical CNC shop rate?
- There isn’t one number that holds across shops, because the rate depends on your machines, wages, rent and, above all, how many hours you bill. The example here gives $105 to $168 an hour at break-even for the same machine, depending only on billable hours. Work out your own with the shop rate calculator.
- Should the shop rate include the operator?
- For attended work, yes: most shops quote one rate covering machine and operator. Keep a lower machine-only rate for unattended running, and a separate rate for programming and bench work.
- How many billable hours should I assume?
- Use your own records: hours charged to customers on the machine, divided by the hours it was available. Until you have a few months of data, assume fewer billable hours rather than more, because overestimating them lowers the rate you quote.
- How often should I update my shop rate?
- At least once a year, and whenever a major cost changes. Make sure new quotes use the new rate and quotes already sent keep the rate they were priced with [3].
Sources
Facts about other products come from their own websites, read on the dates shown. If something has changed, tell us at hello@quotesooner.com and we will correct it.
- Practical Machinist: Quoting issues (2019) (read October 3, 2026)
- r/Machinists: quoting discussion (January 2025) (read October 3, 2026)
- Practical Machinist: Quoting strategy and technique, more of an IT question (2014) (read October 3, 2026)
- Practical Machinist: Methods to expedite quoting (2020) (read October 3, 2026)
- Practical Machinist: How many shops track actual hours vs. the bid price? (2026) (read October 3, 2026)
- Practical Machinist: Need advice for quoting very high mix, low quantity jobs (2025) (read October 5, 2026)
- Practical Machinist: Overwhelming RFQ backlog, being selective and bidding quickly (2020) (read October 3, 2026)
- Practical Machinist: Requoting jobs and plausible price increases (2021) (read October 3, 2026)
