Cost Optimization and Technology Financial Management Questions
Analyzing and reducing technology and enterprise costs and applying financial discipline to technology spend. Covers total cost of ownership modelling (cost lines, discounting and NPV, sensitivity analysis, depreciation, sunk and stranded costs, decommissioning), fixed and variable cost structure and unit cost, spend analysis and cost leakage, make-versus-buy and capex-versus-opex decisions, and the ROI and payback case for technology investments. Includes cost allocation, showback and chargeback of shared platforms, software licensing and contract economics (perpetual, subscription, per-seat, consumption, renewals, escalators and commitments), and the supplier terms that change what a purchase really costs. Emphasizes designing and governing cost reduction programs, prioritizing initiatives, verifying that savings are real and not double-counted, protecting quality and reliability while cutting, and surfacing hidden or downstream costs. Cloud-bill engineering, sourcing and supplier negotiation, and budgeting-process mechanics are covered elsewhere.
A shared data platform has $1M a year of fixed cost, $5 of variable cost per unit and capacity for 100,000 units. Show how unit cost changes as utilisation moves from 50% to 100%, and which cost levers matter most at each end.
Sample Answer
Direct answer
Unit cost falls steeply as utilisation rises because a fixed cost is spread over more units. Here it falls from $25.00 per unit at 50% utilisation to $15.00 at 100%. At the low end the levers that matter are filling the platform (volume) and trimming the fixed base. At the top end volume is exhausted, so the levers are the variable cost per unit and the cost of the next block of capacity. Fixed cost is still two thirds of unit cost even at 100%.
The model
Let F be fixed cost per year ($1,000,000), C the capacity (100,000 units), v the variable cost per unit ($5) and u utilisation. Fixed cost is "fixed" meaning it does not change with volume inside the capacity range.
unit cost(u)=u⋅CF+v
FIXED, VAR, CAP = 1_000_000, 5, 100_000
print("util units fixed/unit unit cost total cost")
for u in (50, 60, 70, 80, 90, 100):
q = CAP * u // 100
print(f"{u}% {q:>7,} {FIXED/q:>9.2f} {FIXED/q+VAR:>9.2f} {FIXED+VAR*q:>10,}")
util units fixed/unit unit cost total cost
50% 50,000 20.00 25.00 1,250,000
60% 60,000 16.67 21.67 1,300,000
70% 70,000 14.29 19.29 1,350,000
80% 80,000 12.50 17.50 1,400,000
90% 90,000 11.11 16.11 1,450,000
100% 100,000 10.00 15.00 1,500,000
Total cost rises only $250,000 (from $1.25M to $1.5M) while volume doubles, which is why average cost drops 40%.
Which levers matter at each end
Compare the same 10% improvement on each cost type:
| Lever | At 50% (50,000 units) | At 100% (100,000 units) |
|---|---|---|
| Cut fixed cost 10% ($100,000) | saves $2.00 per unit | saves $1.00 per unit |
| Cut variable cost 10% ($0.50) | saves $0.50 per unit | saves $0.50 per unit |
| Fixed share of unit cost | $20 of $25 (80%) | $10 of $15 (67%) |
- At 50%: fill it, or shrink it. Each extra unit costs only $5 to serve, so adoption is worth far more than variable savings. Move 50% to 80% and unit cost falls from $25.00 to $17.50, a 30% drop. If demand will not arrive, the other lever is the fixed base itself: renegotiate or end commitments, or move to a smaller footprint. Cutting variable cost here is the weakest option.
- At 100%: variable cost and the next step. Volume is capped, so the unit-cost lever left is variable cost ($0.50 per unit for each 10%) and fixed cost through better terms. The bigger question is the next block of capacity, whose cost is not in this model. Illustration: a second block of 50,000 units of capacity adds $400,000 a year of fixed cost, and each unit sells for a price that leaves a margin over the $5 variable cost. At $12 a unit the margin is $7, so the block earns 50,000 x $7 = $350,000, less than its $400,000 cost: hold the line. At $15 a unit the margin is $10 and the block earns $500,000, so build it.
Pricing consequence
Charging teams the average cost is a trap. If the internal rate is the average ($25 at 50%), then low utilisation raises the price, which drives users away, which lowers utilisation further. A better design is to charge an internal rate (the per-unit price the platform bills to the teams that use it, often called a chargeback) based on a planned utilisation target, and have the platform owner carry the gap visibly, while never pricing below the $5 marginal cost (the extra cost of serving one more unit). At an 80% target the rate is the 80% row of the table, $17.50 per unit. If actual use is 80,000 units the platform collects 80,000 x $17.50 = $1,400,000, exactly its cost. If use is only 50,000 units it collects $875,000 against $1,250,000 of cost, and the owner carries the $375,000 gap (30,000 unused planned units x $12.50 of fixed cost each), which is visible and creates pressure to fill the platform without raising the price users face.
Pitfalls
- Assumes fixed stays fixed. Real platforms have step costs (costs that stay flat and then jump in blocks, such as a new cluster or a support tier). Check where the next step occurs before trusting the 100% end.
- Assumes a constant $5 per unit. Discounts and congestion can bend variable cost either way.
- Average is not marginal. Decisions about adding one more internal user should use the $5 marginal cost (the cost of one more unit), while pricing and budgeting use the average.
You are asked whether to build a core software component in-house or buy it. What would you weigh, and how would you decide?
Sample Answer
Direct answer
My default is to buy components that every competitor needs and that do not differentiate our product, and to build only where the component is core to what makes the product win or where no vendor meets a hard requirement. I decide by comparing total cost of ownership (TCO, the full lifetime cost) of both routes on the same time horizon, then weighing the factors money does not capture: time to market, control, lock-in, security, and the talent we would need to keep.
Quantitative factors
- Upfront cost: build means engineering time to the first release; buy means licence, integration and setup.
- Ongoing cost: build means a maintenance share of an engineer, on-call, upgrades, security patches; buy means subscription, plus the engineering time to operate the integration.
- Scaling cost: per-seat or per-usage vendor prices can grow faster than a built system's cost. Check the price at 3x and 10x volume.
- Cost of delay: each month a revenue feature is not live has a price.
Qualitative factors
- Strategic differentiation: does this component make customers choose us? If yes, lean build.
- Control and fit: can the vendor do what we need and change roadmap with us?
- Time to market: buying usually ships first.
- Risk: vendor lock-in (switching later is costly because your data or code is tied to the vendor's format), vendor failure, security and compliance review, and data residency (the legal requirement that certain data stays in a given country or region).
- Talent: do we have people who can build and keep running it, and do we want them doing this work rather than product work?
- Exit cost: how hard to switch vendors, or to replace our own build later?
Worked example (illustrative numbers, 3 years)
A feature-flag service is software that lets a team switch a product feature on or off, or release it to a small share of users, without deploying new code. Every product team needs one and customers do not pick a product because of it, so it is a commodity, which is why the default is to buy.
| Line | Build | Buy |
|---|---|---|
| Initial work | 3 engineers x 6 months x $15,000 per engineer-month = $270,000 | Integration, 1 engineer x 2 months x $15,000 = $30,000 |
| Subscription | none | 36 months x $8,000 = $288,000 |
| Ongoing engineering | 30 months (after v1) x half an engineer at $7,500 a month = $225,000 | 36 months x $1,500 (a tenth of an engineer) = $54,000 |
| 3-year total | $495,000 | $372,000 |
| Live by | month 6 | month 2 |
Buy is $123,000 cheaper and ships 4 months sooner. Cost of delay in numbers (illustrative): suppose the features that wait on safe rollouts would add $20,000 a month of contribution (revenue minus the variable cost of earning it) once live. Four months sooner is worth 4 x $20,000 = $80,000, so buy's advantage becomes $123,000 + $80,000 = $203,000. Even with a cost of delay of zero, buy is cheaper. Sensitivity: if the build estimate overruns by 50% on the initial work, build rises to $630,000 (initial $405,000 plus $225,000). The licence would have to rise to about $11,417 a month before buying matches the $495,000 build, since ($495,000 - $30,000 - $54,000) / 36 = $11,417. If the vendor's price scales with usage and we expect 10x volume, I would re-run the table at that volume before deciding.
Decision
Buy, because feature flags do not differentiate the product, the numbers favour it, and it ships sooner. What would flip it: the component being our differentiator, a vendor that cannot meet a hard security or data-residency requirement (for example, customer data that a contract says must stay in one country while the vendor stores it elsewhere), high exit cost (if leaving the vendor means re-creating every flag definition in another format, say 2 engineer-months or $30,000, that cost belongs in the buy column), or a usage-based price that outgrows the build cost at the volumes we expect.
Pitfalls
Underestimating build maintenance (most of the cost of a built system arrives after launch). Comparing a vendor's price with a build's first-release cost only. Treating "we can build it" as a reason to build it.
How should depreciation of a hardware purchase show up in a TCO analysis, and does the choice of depreciation method change the decision?
Sample Answer
Direct answer
Depreciation is a non-cash accounting spreading of a purchase over its useful life, so in a TCO (total cost of ownership) analysis the purchase belongs at the time the cash leaves (capex, capital expenditure, money spent on an asset), not as a yearly depreciation charge. Depreciation matters in only two places: as a tax shield (depreciation is deductible, which reduces tax paid) in an after-tax TCO, and as the way the cost shows up in the profit and loss statement if the audience is finance. The method does change the result slightly in an after-tax view, but in the example below it moves the cost by about 1.6% and almost never flips a build-versus-buy or hardware-versus-cloud decision.
How to treat it in the analysis
- Pre-tax cash TCO: use purchase price on day 0, running costs (power, support, staff time) in the years they occur, and resale value at the end. No depreciation line at all. Discount to present value (divide a cash flow in year t by (1 + discount rate)^t; at a 10% discount rate, the yearly rate used to value later cash below cash today, a dollar in year 2 counts as 1/1.21 = $0.826 today) so that it is comparable with a cloud bill paid over time.
- After-tax TCO: subtract the tax saved by depreciation each year (depreciation x tax rate), discounted. This is where the method choice can matter, because accelerated methods give bigger deductions earlier, which are worth more in present-value terms.
- Accounting (P&L) view: show the annual depreciation charge so finance sees the effect on reported profit. Label it clearly as accounting cost, not cash.
- Same basis on both options: hardware depreciation versus a cloud bill is not like for like. Compare either cash to cash or after-tax to after-tax; cloud spend is usually deductible as it is incurred. That is why the example below multiplies running costs and the cloud bill by (1 - tax rate): a $150k cloud bill costs $112.5k after tax. The purchase is treated differently because its deduction arrives gradually through depreciation, so it gets a tax-shield line (depreciation x tax rate) instead.
Worked example (illustrative inputs)
A $600k server purchase, 5-year life, 25% tax rate, 10% discount rate, $45k a year to run, versus a $150k a year cloud bill. Straight-line depreciation (equal slices) takes $120k a year; double-declining balance takes 40% of the remaining book value (purchase price minus depreciation taken so far) each year (with the last year writing off the rest).
COST, LIFE, TAX, RATE = 600.0, 5, 0.25, 0.10 # $k, years, tax rate, discount rate
def pv(values): # year-end cash flows, years 1..n
return sum(v / (1 + RATE) ** (t + 1) for t, v in enumerate(values))
straight = [COST / LIFE] * LIFE
ddb, book = [], COST # double-declining balance, last year writes off the rest
for y in range(LIFE):
d = book if y == LIFE - 1 else book * 2 / LIFE
ddb.append(d)
book -= d
for name, sched in (("straight-line", straight), ("double-declining", ddb)):
shield = pv([d * TAX for d in sched])
print(name, [round(d, 1) for d in sched], "PV of tax shield", round(shield, 1),
"after-tax cost of the hardware", round(COST - shield, 1))
OPEX, CLOUD = 45.0, 150.0 # $k per year: hardware running cost, cloud bill
annuity_factor = pv([1.0] * LIFE) # PV of $1 paid at the end of each of 5 years at 10%: about 3.79
hw_pre = COST + OPEX * annuity_factor
cloud_pre = CLOUD * annuity_factor
hw_post = COST - pv([d * TAX for d in straight]) + OPEX * (1 - TAX) * annuity_factor
cloud_post = CLOUD * (1 - TAX) * annuity_factor
print("pre-tax PV: hardware", round(hw_pre, 1), "cloud", round(cloud_pre, 1))
print("after-tax PV (straight-line): hardware", round(hw_post, 1), "cloud", round(cloud_post, 1))
Output: the present value of the tax shield is $113.7k under straight-line and $121.4k under double-declining, so the after-tax cost of the hardware is $486.3k versus $478.6k. The method changes the answer by $7.7k, which is 1.6% of the $486.3k hardware cost. Meanwhile the cloud is the cheaper option on either basis. Pre-tax, the hardware costs $770.6k in present value ($600k purchase plus $45k x 3.79 = $170.6k of running cost) against $568.6k for the cloud ($150k x 3.79), a gap of $202k. After tax it is $614.2k against $426.5k, a gap of about $188k, which is more than 20 times the method effect. The yearly "cost" figure that a depreciation view gives ($120k a year straight-line) hides that all $600k left the bank on day 0, so comparing it with a $150k cloud bill is a basis mismatch.
When the method could matter
- A near tie between options, where $7.7k tips the choice.
- Tax rules that prescribe the schedule (the schedule you use for tax may be dictated by the jurisdiction, so the choice may not be yours), or a much higher tax rate or discount rate, which enlarge the timing effect.
- Reported-profit targets: accelerated depreciation lowers early-year profit, which can influence a manager measured on reported earnings even when the cash decision is unchanged. Say this explicitly if the audience cares about it.
Pitfalls
- Adding both the purchase price and the depreciation (counting the same dollars twice).
- Leaving out resale or residual value (what the equipment is still worth at the end), or the cost of decommissioning.
- Calling a decision "driven by depreciation method" when the real drivers are utilisation, running cost and the discount rate. Sensitivity-test those first.
A technology investment has a year-0 implementation cost of $400,000, operating costs of $120,000 a year for years 1 to 5, and $50,000 of resale value at the end of year 5. At an 8% discount rate, compute the NPV, show each year's present value, and say whether the investment clears the bar.
Sample Answer
Direct answer
The NPV (net present value) of the costs is -$845,096.04 at 8%, meaning the investment consumes $845,096 in today's money over five years after counting the $50,000 resale. Whether it "clears the bar" depends on the benefits, which the question does not give: it clears only if the present value of the benefits is at least $845,096. In practical terms, a flat benefit received at the end of each of years 1 to 5 would need to be at least $211,660 a year (the break-even: the benefit level at which the NPV is exactly zero), so I would say go if the business case credibly beats that, and not otherwise.
Method
- Put every cash flow on a timeline: -$400,000 at year 0; -$120,000 at the end of each of years 1 to 5; +$50,000 resale at the end of year 5.
- Discount each by (1.08) to the power of its year; year 0 is not discounted.
- Sum them.
| Year | Cash flow | Discount factor | Present value |
|---|---|---|---|
| 0 | -$400,000 | 1.0000 | -$400,000.00 |
| 1 | -$120,000 | 0.9259 | -$111,111.11 |
| 2 | -$120,000 | 0.8573 | -$102,880.66 |
| 3 | -$120,000 | 0.7938 | -$95,259.87 |
| 4 | -$120,000 | 0.7350 | -$88,203.58 |
| 5, operating | -$120,000 | 0.6806 | -$81,669.98 |
| 5, resale | +$50,000 | 0.6806 | +$34,029.16 |
| NPV | -$845,096.04 |
Year 5 nets to -$47,640.82 (-$81,669.98 plus $34,029.16). The code reproduces the table and then computes the break-even benefit:
rate = 0.08
flows = {0: -400_000}
for y in range(1, 6):
flows[y] = -120_000
flows[5] += 50_000 # resale value received at end of year 5
npv = 0.0
for y, cf in flows.items():
pv = cf / (1 + rate) ** y
npv += pv
print(f"year {y}: cash flow {cf:>9,} PV {pv:>12,.2f}")
print(f"NPV of costs {npv:,.2f}")
annuity = sum(1 / (1 + rate) ** y for y in range(1, 6))
print(f"5-year annuity factor {annuity:.4f}")
print(f"flat annual benefit needed in years 1-5 to reach NPV 0: {-npv / annuity:,.2f}")
year 0: cash flow -400,000 PV -400,000.00
year 1: cash flow -120,000 PV -111,111.11
year 2: cash flow -120,000 PV -102,880.66
year 3: cash flow -120,000 PV -95,259.87
year 4: cash flow -120,000 PV -88,203.58
year 5: cash flow -70,000 PV -47,640.82
NPV of costs -845,096.04
5-year annuity factor 3.9927
flat annual benefit needed in years 1-5 to reach NPV 0: 211,659.76
Does it clear the bar?
An NPV of costs is negative by construction. The question to ask is whether the benefits (cost savings or revenue the investment enables) are worth more than $845,096 in present value. The five-year annuity factor of 3.9927 is the sum of the five discount factors (0.9259 + 0.8573 + 0.7938 + 0.7350 + 0.6806). A flat benefit B received at the end of each year is therefore worth B x 3.9927 today, so the benefit is large enough when B x 3.9927 reaches $845,096.04, which gives B = $845,096.04 / 3.9927 = $211,659.76. If the investment replaces an existing system, only the incremental cost counts: compare against the status quo's discounted cost, not against zero. To see the decision made, suppose the business case promises $250,000 a year of savings (illustrative): the present value is $250,000 x 3.9927 = $998,177.51, so the NPV including benefits is $998,177.51 - $845,096.04 = +$153,081.47, which is a go. If the credible figure is $180,000 a year, the present value is $718,687.81 and the NPV is -$126,408.23, which is a no-go on these numbers alone. The resale of $50,000 is worth only $34,029.16 today, so it moves the answer by about 4% of the total, a minor driver compared with the $400,000 up front and the yearly $120,000.
The same method on a 7-year purchase with uneven maintenance
Take equipment bought for $500,000 with maintenance of $20k, $25k, $35k, $60k (an overhaul year), $45k, $55k and $70k over years 1 to 7, resale of $30,000 at year 7 and a 6% rate. Each year is discounted exactly as above:
rate = 0.06
purchase = 500_000
maintenance = {1: 20_000, 2: 25_000, 3: 35_000, 4: 60_000, 5: 45_000, 6: 55_000, 7: 70_000}
resale = 30_000
total = purchase
for y, m in maintenance.items():
pv = m / (1 + rate) ** y
total += pv
print(f"year {y}: maintenance {m:>7,} PV {pv:>10,.2f}")
resale_pv = resale / (1 + rate) ** 7
total -= resale_pv
print(f"resale {resale:,} at year 7: PV {resale_pv:,.2f} (subtracted)")
print(f"NPV of cost at 6% (purchase 500,000 at year 0): {total:,.2f} undiscounted {purchase + sum(maintenance.values()) - resale:,}")
annuity7 = sum(1 / (1 + rate) ** y for y in range(1, 8))
print(f"7-year annuity factor at 6%: {annuity7:.4f}")
print(f"equivalent annual cost {total / annuity7:,.2f}")
year 1: maintenance 20,000 PV 18,867.92
year 2: maintenance 25,000 PV 22,249.91
year 3: maintenance 35,000 PV 29,386.67
year 4: maintenance 60,000 PV 47,525.62
year 5: maintenance 45,000 PV 33,626.62
year 6: maintenance 55,000 PV 38,772.83
year 7: maintenance 70,000 PV 46,554.00
resale 30,000 at year 7: PV 19,951.71 (subtracted)
NPV of cost at 6% (purchase 500,000 at year 0): 717,031.86 undiscounted 780,000
7-year annuity factor at 6%: 5.5824
equivalent annual cost 128,445.52
The present value of cost is $500,000 + $236,983.57 of discounted maintenance - $19,951.71 of discounted resale = $717,031.86, against an undiscounted total of $780,000.
The equivalent annual cost (EAC) is the flat yearly amount that has the same present value as the whole cost stream. Here it is the yearly charge which, paid at the end of each of the 7 years, is worth $717,031.86 today: $717,031.86 / 5.5824 = $128,445.52, because 7 flat payments are worth 5.5824 times one payment. A 5-year machine is put on the same footing by dividing its own NPV by its own 5-year factor. Whichever has the lower EAC is cheaper per year of service. Comparing the NPVs of options with different lives directly is misleading, because the longer one simply covers more years, unless you assume the shorter one is replaced.
Pitfalls
- Discounting year 0 (it is already in today's dollars).
- Putting the resale in the wrong year or forgetting that it is a negative cost.
- Comparing the NPV of costs to nothing; the bar is the benefit or the status quo.
- Reporting a single rate; test 6% and 10% and say whether the conclusion survives. Higher rates make later costs look smaller, which favours options whose costs fall later.
You must recommend a supplier for 1,000 rack servers. How would you build a 5-year TCO-based comparison, weigh price against other terms, and account for supply disruption in the recommendation?
Sample Answer
Direct answer
I would compare suppliers on a 5-year total cost of ownership (TCO: purchase price plus everything else you pay to own and run the asset) in present value, then adjust for supply risk and weigh the non-price terms. In the example below the cheaper-quoted supplier with a 20-week offshore (shipped from overseas) lead time wins on TCO by about $582k, but once the cost of bridging the 14-week gap and the probability of a further slip are added, its lead is only about $30k, which is smaller than the uncertainty in the bridge price. Money alone does not separate them, so I would take the faster supplier as primary, because capacity is needed at week 6 and the other supplier holds a deposit for 20 weeks across an overseas route, and keep the other as a second source (a backup supplier). If the capacity is not needed until week 20, the cheaper supplier wins outright.
First three steps when quotes differ on price, lead time, freight and payment terms
- Put every quote on a landed basis (the full delivered cost, not the ex-factory price): unit price plus freight, duties and delivery terms (who pays and who carries risk in transit), with the same specification (CPU, memory, drives, warranty). Otherwise a lower price can be a different product.
- Put payment terms on a time-value basis: a 30% deposit at order and 70% on delivery costs more in present value than 100% 30 days after delivery. Convert to present value at the company's discount rate.
- Convert lead time into money using the required-by date: lead time costs nothing if capacity is needed after delivery, and costs the bridging solution (rented cloud capacity, delayed launch revenue) for every week of gap.
The TCO model
Include: landed purchase cost, power and cooling, support and maintenance after warranty, spares, failure rates and replacement labour, and disposal. Costs identical across suppliers (rack space, installation labour, network ports) drop out and are left out. Discount all cash flows to the order date at the company's rate (8% here, illustrative).
Worked example (illustrative inputs for 1,000 servers)
| Input | Supplier A | Supplier B |
|---|---|---|
| Unit price | $7,200 | $6,700 |
| Freight per unit | $60 | $120 |
| Lead time | 6 weeks | 20 weeks (offshore) |
| Payment | 100% net 30 after delivery | 30% deposit at order, 70% net 30 after delivery |
| Power draw per server | 0.40 kW | 0.42 kW |
| Support after year-1 warranty | 8% of unit price a year | 8% of unit price a year |
Common assumptions: electricity $0.12 per kWh, facility overhead multiplier 1.5 (power usage effectiveness, PUE: total facility energy divided by IT energy), 8,760 hours a year; support in years 2 to 5 (year 1 is under warranty). Net 30 means the invoice is due 30 days after delivery. Timing convention, with t in years from the order date (days / 365) and discounting at 8% as 1.08^-t: go-live is the delivery date, 42 days (t = 0.1151) for A and 140 days (t = 0.3836) for B; each year's power and support cost is paid at the end of that operating year, so operating year n is discounted at t = go-live + n; a net-30 payment falls 30 days after delivery.
| 5-year present value | A | B |
|---|---|---|
| Landed price (price + freight) x 1,000 | $7,260,000 | $6,820,000 |
| Purchase, discounted for payment timing | $7,150,616 | $6,651,907 |
| Power and cooling per year (kW x 8,760 x $0.12 x 1.5 x 1,000) | $630,720 | $662,256 |
| Support per year, years 2 to 5 | $576,000 | $536,000 |
| Present value of 5 years of running cost | $4,246,972 | $4,163,264 |
| TCO | $11,397,588 | $10,815,171 |
Workings. Purchase A: $7,260,000 paid 72 days after the order (t = 0.1973): 7,260,000 / 1.08^0.1973 = $7,150,616. Purchase B: the 30% deposit is $2,046,000 at t = 0, and the 70% balance of $4,774,000 is paid 170 days after the order (t = 0.4658): 4,774,000 / 1.08^0.4658 = $4,605,907, so $6,651,907 in all. Running cost, A: power 630,720 discounted at t = 0.1151 + n for n = 1 to 5 gives $578,851, $535,973, $496,271, $459,511 and $425,473 (sum $2,496,079); support 576,000 for n = 2 to 5 gives $489,473, $453,216, $419,644 and $388,560 (sum $1,750,893); running PV $4,246,972. B uses the same method with go-live at t = 0.3836: power $2,567,282 and support $1,595,982, so $4,163,264. B's later go-live lowers its running-cost PV because the same payments sit further in the future.
B is cheaper by $11,397,588 - $10,815,171 = $582,417 (5.1%). Now add supply risk. Suppose the capacity is needed at week 6 and bridged with rented cloud capacity at an assumed $150 per server-month: B's 14-week gap is 14 x 7 / 30.4375 = 3.22 months, so 1,000 x $150 x 3.22 = $482,957. Add a 25% chance that B slips a further 8 weeks (an assumption): 0.25 x 1,000 x $150 x (56 / 30.4375) = $68,994. B's risk-adjusted TCO is 10,815,171 + 482,957 + 68,994 = $11,367,122, which is $30,466 below A's $11,397,588 (0.3%). That margin is smaller than the error in the assumptions. The rental price at which the two are equal is about $158 per server-month (582,417 / ((14 x 7 / 30.4375 + 0.25 x 56 / 30.4375) x 1,000)), so a quote of $160 or more makes A the cheaper choice, and the slip probability is a guess too. (The bridge cost is left undiscounted; it falls within the first five months after the order, so discounting would change it by less than 3%.) Because the cost comparison is a tie within its own assumptions, the non-price terms below decide it.
Weighing price against other terms
- Gate, then rank: first confirm each supplier meets the hard requirements (specification, certification, security attestations, financial strength), then rank on TCO and risk.
- Terms that carry money: price hold during the delivery window (the supplier guarantees the quoted price until delivery), late-delivery penalties, warranty and on-site replacement SLAs, firmware and spares commitments, return rights for early failures.
- Concentration: avoid depending on one offshore route (one shipping lane and port) for a critical build-out, because a single disruption then delays every unit.
Accounting for supply disruption
Name the failure modes (port delay, component shortage, quality hold), assign rough probabilities and durations, cost each through the bridge price, and prefer contract protections: delivery milestones with liquidated damages (an agreed payment for each week late), staged shipments, buffer stock, and a second source. I would recommend A as primary and ask B to quote 30% of the volume for a later tranche (a separate batch), which keeps price tension and spreads route risk.
Pitfalls
Comparing unit prices; ignoring that the deposit is cash out 20 weeks early; costing the delay at zero because "we will manage"; and presenting a bridge price as fact when it is an assumption to be validated with a quote.
Unlock Full Question Bank
Get access to all 49 Cost Optimization and Technology Financial Management interview questions and detailed answers.
Sign in to ContinueJoin thousands of developers preparing for their dream job.