← Home@vincelwt

🛣️ 12 million € per km

Written Oct 19, 2024.

How can a road cost 12 million € per km to build?

A few weeks ago, I was visiting family in France.

On the news, they spoke about a small town’s 5km road project costing 60 million €. That’s 12 million € per km. It feels like an outrageous amount of money.

In the startup world, 60 m€ corresponds to a Series C+ round. 60 million $ can get you sending a lots of satellites to space. Coincidentally, a few days later, we have French statesmen ringing the alarm about the deficit. This got me thinking about capital efficiency in the public and corporate sectors.

As someone in the extreme opposite (bootstrapped founder), what can I learn from this? How can the difference be so stark?

Complexity layers

The first thing that comes to mind are the many levels of subcontracting. You have an “orchestration layer” sitting at the top. I.e. construction management company. They win the contract, then hire consultants to spec things out and subcontractors to build the thing.

This inherently creates inefficiencies as separate organizations cannot collaborate as effectively as one. Each subcontractor is trying to maximize profits for themselves and often paid by time spent, thus incentivized to spend more time than necessary.

The same thing we see with companies like Boeing, who essentially evolved into orchestration layers for specialized subcontractors. Then companies like SpaceX come in and rethink the entire thing bottom up, managing to make things much cheaper and faster.

Budgets and deadlines

Public projects seem to work mostly with budgets.

At the top is the state, who has a budget of X trillion for running the country. Then the budget gets split to the ministries, then downstream until it finds its way to projects like this (this seems to be the same thing with large corporations).

With a budget of 60m to capture and a deadline of 3 years, companies are incentivized to create work to fill those and capture a maximum.

This contrasts with startups, where each unused dollar and hour can be reinvested in growth. Incentivized to spend down rather than up.

Relationships (or straight-out corruption)

A few months ago, I spoke with a family friend, a salesperson in the public sector for a large trash handling company in France. His job basically consists of taking city officials to the restaurant, buttering them up by offering expensive meals and wine, and talking about life for hours. Maybe even bringing a few gifts for the kids and the wife.

Those are personal relationships that take months or years to build. These kinds of deals are not awarded to the most qualified or efficient companies.

Regulations

Regulations are a multiple-edged sword. In the case of this road, regulations add a lot of work around environmental studies, architectural studies, and require involving a lot of domain experts to ensure these regulations are met. All of this costs a lot of money.

They also prevent startups from entering these sectors as the friction to get started is just insane. This is especially true in Europe.

All regulations are not bad, especially in the context of something as safety-critical like a road, but I’m sure (at least in France) there is a lot of fat that can be trimmed.

No clear ROI

In such public projects, you can’t set an ROI. It’s hard to say this 5km road will bring us x many more visitors, which in turn will grow our local businesses by x within x years.

In a startup, if you’re spending, say, $5000 for someone to do video marketing, it’s because you expect the ROI of that investment to be positive and bring more customers downstream. For public projects without clear ROI, numbers don’t get optimized as much.

Ending thoughts

Here is a thought experiment: what if cities were set up as private structures and received minimal help from the state? They’d have to earn their own money (taxes) and spend it accordingly. Essentially, city startups. Similarly to capitalistic businesses, they would be incentivized to ensure projects cost less. Would the country run more efficiently?