Transaction Cost
This page answers:Should this be done in-house, half-and-half, or bought?
This page answers “when to do it yourself and when to buy”, not “which supplier is good”.The algorithm comes from 《05-交易成本算法.md》:
score each of the three variables from 0–3 (the §4 Step1 scoring table is copied into the dropdowns word for word) → the 0–9 total gives the governance structure per §4 Step2
(0–2 buy on the market / 3–5 hybrid / 6–9 do it yourself) → then §4 Step3 cross-checks it financially:
C_out = external unit price × times per year + hidden cost (default +20%), C_in = one-off outlay ÷ amortisation years (default 3) + annual running cost;
C_out < C_in × 0.7 → buy; C_out > C_in × 1.3 → do it yourself; a middle-band result → fall back to the Step 2 verdict.
Finally §4 Step4's anti-hold-up check: when specificity A_s ≥ 2, even a “buy” verdict must satisfy at least one of the three
(2 replaceable suppliers / a written price-adjustment mechanism in the contract / keeping the single most critical step in-house), and failing all three forces the verdict back to “do it yourself”.
Why the hourly value is mandatory: §7's risk note puts it bluntly —— people underestimate the cost of their own time, so the page requires it and leaves no blank.
Where the doc is silent, this page says so: the doc itself labels §4 Step3's “hidden cost suggested at +20%” and “default amortisation of 3 years” as “practice thresholds, not theorems”; this page uses them as written and states on the page how much it substituted this time.
This page is a conditions-preparation tool, not investment advice.It only works the doc's three-variable scores and financial thresholds out for you; it gives no quotes for any particular industry (§9 says outright that quotes must be looked up fresh each time).
Every threshold (the 0–2 / 3–5 / 6–9 bands, the 0.7 and 1.3 coefficients, 3-year amortisation, +20% hidden cost, the three anti-hold-up measures when A_s ≥2, and E1–E5)
comes from the internal methodology doc 《05-交易成本算法.md v1.0》 (domestic machine /opt/inventory/econ_algorithms/, read-only, untouched this round),
and has not been externally validated —— the doc itself labels things like “the three-year payback method” as practice thresholds rather than theoretical theorems.
Where it is not aligned / has been simplified (said plainly)
· ① The “annual running cost (including the cost of your own time)” inside C_in is yours to work out before entering it; this page does not multiply hourly rate by hours for you (only the “one-off outlay” field supports the hours × hourly-rate conversion, because §5.2 E3 gives that remedy explicitly).
· ② The option text for the three variables is quoted verbatim from the §4 Step1 scoring table; this page applies no weighting and adds no reinterpretation.
· ③ When the financial verdict conflicts with the Step 2 result, the page follows §4 Step3 as written (only a middle-band result falls back to Step 2) and does not reconcile the two itself.
· ④ §4 Step4's three measures are “any one of them is enough”; this page reads “2 replaceable suppliers” off the number of quotes you entered —— the doc says “keep at least 2 replaceable suppliers”, which is broadly the same, but strictly speaking “having a quote” is not the same as “being replaceable”, so this is a treated-as-equivalent case.
Unconfirmed
· Unconfirmed ①: “hidden cost +20%” and “3-year amortisation” are worded in the doc as “suggested” / “default”, and this page gives them input fields (the default applies only when left blank) —— in other words you can change them, and once changed they are no longer the doc's values.
· Unconfirmed ②: §3 E5's “≥1 time a month counts as high frequency” is used only to label the frequency band; it does not take part in the Step 2 scoring (that scoring is the 0–3 dropdowns of §4 Step1 — two different yardsticks, and the doc does not say how to merge them).
· Unconfirmed ③: the handling when C_in is 0 (this page rules “do it yourself”) is derived by the page from the direction of the inequality; the doc has no such special case.
· Unconfirmed ④: §4 Step2 calls that band “buy on the market” while §4 Step4 only says “even when the verdict is ‘buy’” —— the doc never says whether the two are the same thing. This page treats them as the same (otherwise Step 4 could never apply to a “buy on the market” verdict from Step 2); that equivalence is also flagged in the algorithm's comments.
[Evidence section · where to check each number]
① Source: internal methodology doc 《05-交易成本算法.md》v1.0 (domestic machine /opt/inventory/econ_algorithms/05-交易成本算法.md, read-only): start conditions E1–E5 = §3; three-variable scoring / governance structure / financial cross-check / anti-hold-up = §4 Step1–Step4; preparation list and first step = §5.2 / §5.3. Literature in §1 (Coase 1937, DOI 10.1111/j.1468-0335.1937.tb00002.x; Williamson 1979, DOI 10.1086/466942; Joskow 1988, DOI 10.1093/oxfordjournals.jleo.a036950).
② Three categories
· [Verifiable] The three-variable 0–3 scoring table, the 0–2 / 3–5 / 6–9 governance bands, C_out = unit price × times per year + hidden cost (+20%), C_in = one-off outlay ÷ amortisation years + annual running cost, the two coefficients 0.7 and 1.3, and the three anti-hold-up measures when A_s ≥2 —— all of these match §4 Step1–Step4.
· [This page's presentation choice] Falling back per §4 Step3 when the financial verdict conflicts with Step 2; treating “≥2 quotes obtained” as “2 replaceable suppliers” is this page's equivalence (the doc's wording is broader, so strictly the two are not identical).
· [No source found] The 0.7 / 1.3 figures, 3-year amortisation, +20% hidden cost, E5's “≥1 time a month”, and the 0–2/3–5/6–9 bands: the doc labels these itself as “practice thresholds, not theorems” (see §4 Step3 and INDEX §4) → no external basis found.
③ How to check it yourself: set all three variables to 3 → total 9 → should rule do it yourself; set them all to 0 → total 0 → should rule buy on the market. On the financial side: external unit price 100, 12 times a year, 20% hidden → C_out = 1440; one-off outlay 3000, amortised over 3 years, annual running 300 → C_in = 1300; since 1440 > 1300×0.7=910 and 1440 < 1300×1.3=1690 → it lands in the middle band → it should fall back to the Step 2 verdict.
What you can do next