見積と実際の差はどう集計する?工程別の原価差異を架空120案件で分析した

見積と実際の原価の差異分析は、案件の総額ではなく工程ごとに「実際工数−見積工数」を合計し、大きい順に並べると、直すべき単価表の行が見えます。見積帳場が架空の過去120案件で集計すると、差の約89%が段取り・マシニング・バリ取りの3工程に集まっていました。この3工程に補正係数(実際÷見積の中央値)を掛けると、次の60件の加工費の見積誤差は平均14.2%から7.5%に縮みました。(2026年10月時点)
全体の流れと費用は製造業の見積の自動化のページにまとめています。
要点
- 見積と実際の差は、工程ごとに「実際工数−見積工数」を合計してパレート図にすると、直す単価表の行が絞れます。
- 架空の過去120案件では見積718時間に対し実際853時間で、差の約89%が段取り・マシニング・バリ取りの3工程に集まりました。
- 3工程に補正係数(段取り1.28・マシニング1.13・バリ取り1.67)を掛けると、次の60件の誤差は平均14.2%から7.5%に縮みました。
- 全8工程を補正しても誤差は6.9%までで、残る約7%は案件ごとの揺らぎです。単価表1枚の係数では消えません。
- 係数は過去20件でも効きましたが、補正する3工程が正しくそろったのは20回中8回で、120件では16回でした(見積帳場の計算)。
目次
見積と実際の差は、どう集計すればよいですか?
見積と実際の差は、案件ごとの総額ではなく、工程ごとに「実際工数−見積工数」を足し上げて集計します。総額だけでは、足りない工程と余った工程が打ち消し合い、直す行が分かりません。集計の表には、少なくとも次の6つの項目を1行1工程で入れます。
| 項目 | 入れる値の例 | 入れる理由 |
|---|---|---|
| 案件番号と完了日 | Q-0412、2026-09-30 | 控えと日報を突き合わせる |
| 工程 | 段取り、マシニング、検査 | 単価表の行と同じ名前にする |
| 見積工数(時間) | 1.5 | 見積書の控えから写す |
| 実際工数(時間) | 2.0 | 日報の開始・終了の時刻から出す |
| 数量(個) | 20 | 小口と量産を分けて見る |
| 手直し・初回品の印 | 手直しあり | 補正の計算から外す |
金額でなく工数で比べるのは、作業が長引いた分と、時間単価の値上がりを混ぜないためです。原価計算では、前者を作業時間差異、後者を賃率差異と呼んで分けます。時間単価の置き方はアワーレートと見積単価の計算機で見直せます。
工程別に並べると、見積と実際の差はどこに集まりましたか?
架空の過去120案件では、差の約89%が段取り・マシニング・バリ取りの3工程に集まりました。見積工数の合計718時間に対して実際は853時間で、実際の工数が見積より約19%多くかかっていました。工程ごとの差を大きい順に並べたのが、図1のパレート図です。
データは見積帳場がPythonで作った架空のもので、切削加工の8工程を想定しました。実際工数は、見積工数に工程ごとの「単価表のずれ」と揺らぎを掛けて作りました。ずれは段取り1.30倍、研削1.25倍、バリ取り1.60倍、マシニング1.10倍、ほかは0.95〜1.05倍です。案件の5%は、マシニングの手直しで実際の工数が1.8倍になります。
並べる基準は、差の合計時間です。比率で見ればバリ取りの1.67倍が目立ちますが、見積工数は120件で20時間しかなく、差は14時間でした。研削も1.22倍とずれていますが、使った案件が43件と少なく、差は9時間で4番目です。
補正係数を掛けると、次の見積の誤差はどれだけ縮みましたか?
段取り・マシニング・バリ取りの3工程に補正係数を掛けると、次の60件の加工費の見積誤差は平均14.2%から7.5%に縮みました。補正係数は過去120件の「実際÷見積」の中央値で、段取り1.28、マシニング1.13、バリ取り1.67です。次の60件は、別の乱数で作った架空の案件です。
加工費は工数×時間単価3,642円/時(架空の値)で、誤差は(見積−実際)÷実際です。補正なしでは60件中42件が10%を超える見積不足でした。補正後は不足が7件に減り、代わりに10%を超える見積過大が0件から7件に増えています。
8工程すべてを補正しても、誤差は6.9%でした。残る約7%は案件ごとの揺らぎで、工程に1つの係数を掛けても消えません。縮めるには、同じ工程の中で材質・公差・数量ごとに単価表の行を分けます。
計算はscripts/figs/quote_vs_actual.pyで、Pythonの標準ライブラリだけで動きます。補正係数を決めて掛ける部分は次のとおりです。
ratio = [a / q for q, a in rows[proc]] # 工程ごとの実際÷見積
factor[proc] = statistics.median(ratio) # 補正係数は中央値
new_quote = sum(q * factor.get(p, 1.0) for p, q in job.items()) # 上位の工程だけに掛ける
補正係数は、何件分の記録から決められますか?
補正係数そのものは、過去20件ほどの記録でも決められます。ただし、どの工程を補正するかを選ぶには、もっと件数が要ります。種を変えて20回くり返すと、過去20件で決めた補正でも次の60件の誤差は中央値8.6%で、120件の8.4%とほぼ同じでした。
一方、補正する工程が段取り・マシニング・バリ取りの3つにそろったのは、過去20件では20回中8回でした。120件では16回です。件数が少ないと、たまたま差が出た研削や旋盤が上位に入ります。図2の7.5%は種を固定した1回分で、20回の中央値8.4%より低めに出ています。
係数に中央値を使うのは、手直しの案件に引っ張られないためです。架空の120件のマシニングは、平均1.17倍に対し中央値1.13倍でした。
補正係数を単価表に入れるとき、何に気をつけますか?
補正係数は、見積の金額に掛け続けず、単価表の標準時間を書き直す形で入れます。掛けたままだと、次の見直しで元の値が分からなくなります。見積帳場で差異表を作るときは、次の順で進めます。
- 手直し・不良・初回品・特急の案件を、補正の計算から外す
- 工程別の差の合計を大きい順に並べ、累積8割までの工程を選ぶ
- その工程の「実際÷見積」の中央値を、標準時間に掛けて書き直す
- 直した単価表で次の数十件を見積もり、誤差を確かめる
- 年1回、同じ集計をやり直す
作業日報の工数が、見積の値に寄せて書かれていないかも確かめます。見積1.5時間の工程の記録が毎回1.5時間ちょうどなら、見積を写しただけの値の疑いがあります。
値引き・特急・材料の時価のように、人が決める所は補正しません。決まりの書き出し方は見積の属人化を解消する手順にまとめました。製品別・取引先別の採算は、単価表の補正とは別の集計で見ます。
見積と実際の差を自社で見るには?
見積と実際の差をどの工程から集計するかを、見積帳場の主宰が一緒に見ます(無料で相談する)。何をどう頼むか決まっていなくても大丈夫です。御社のやり方に合わせて、進め方を一緒に考えます。準備は要りません。
よくある質問
- 実際工数を記録していない場合、何から始めればよいですか?
- 段取りのように毎回ある工程から、開始と終了の時刻だけを記録します。架空の120件の計算では、段取り・マシニング・バリ取りの3工程で差の約89%を占めました。全工程を一度にそろえなくても、差の大きい工程から集計を始められます。
- 見積が実際より多い工程も、直しますか?
- はい、差の時間が大きければ下げる方向にも直します。架空の120件では穴あけ・タップが中央値0.93倍で見積が多めでしたが、差の合計は−1時間と小さく、補正から外しました。
- 補正係数は、どれくらいの間隔で見直しますか?
- 年1回が目安です。材料・設備・担当者が変わったときは、その時点で同じ集計をやり直します。見直しのたびに、補正する前と後で誤差を測り直します。
- AIで単価を予測すれば、実際との差の集計は要りませんか?
- いいえ、要ります。予測は過去の見積から学ぶので、過去の見積が実際からずれていれば、そのずれも一緒に学びます。先に実際との差を集計し、単価表を直しておきます。
この数字はどう出したか
このページの実験と計算の数字は、実際のお客さまの取引ではなく、架空のデータや架空の入力例から主宰が出したものです。計算はPythonのコード(scripts/figsの再現コードと、画面の計算機と同じ式のsrc/lib/calc.ts)で組み、同じ入力なら同じ数字が出ます。
更新 ・ 事実の確認
出典
- 見積帳場「見積と実際の工程別差異と補正係数」の計算と図のスクリプト(scripts/figs/quote_vs_actual.py)。過去120件・次の60件の案件、工程ごとのずれと揺らぎはすべて架空、時間単価は架空の3,642円/時、2026-10-16 実行(2026年10月16日確認)


