Status: Solved

The Ruthless Boardroom: A Game of Capital Allocation

Difficulty: ★★★★☆ 📚 [Algorithmic Game Theory Economics]

The Puzzle

A company generating an exceptionally high Return on Equity (ROE) has a surplus of 100 million rupees in unallocated capital. The board consists of 5 directors, ranked strictly by seniority from 1 (the CEO) down to 5 (the newest director).

To allocate the capital, the company bylaws dictate a strict protocol:

  1. The most senior director proposes a specific capital allocation plan (how the 100 million is divided among the 5 members, in increments of 1 million).
  2. All current board members (including the proposer) vote on the plan.
  3. If the plan receives 50% or more of the votes, it is executed, and the game ends.
  4. If it fails, the proposer is immediately ousted from the board for lacking management integrity. The next most senior director then takes over, proposing a new plan for the remaining members.

These board members are perfectly rational economic actors. Their priorities, in strict order, are:

  1. Survival: Remain on the board.
  2. Greed: Maximize their own share of the capital.
  3. Spite: If survival and capital are equal, they prefer to oust a more senior member.

What proposal should the CEO (Director 1) make to maximize their capital while ensuring they are not ousted?

Formalization

Let the actors be $A, B, C, D, E$ (where $A$ is Director 1, $E$ is Director 5). Total capital $C = 100$. A proposal is a vector $(a, b, c, d, e)$ such that the sum is 100. The acceptance threshold is $V \ge \lceil N / 2 \rceil$ where $N$ is the number of remaining actors.

👁️ Toggle Solution, Hints & Variations

Hints

  • Hint 1 (Clarification): Do not try to solve this from the CEO’s perspective first. What happens if Directors 1, 2, and 3 are all ousted, leaving only Director 4 and Director 5?
  • Hint 2 (Structural): If it comes down to Directors 4 and 5, Director 4’s vote alone constitutes 50%. What would Director 4 propose?
  • Hint 3 (The Pivot): Knowing what happens in a 2-person or 3-person scenario, how cheaply can a senior director “buy” the votes of junior directors who are facing a worse payout if the current vote fails?
💡 View Solution

The Solution

The CEO (Director 1) should propose: 98 million for themselves, 0 for Director 2, 1 million for Director 3, 0 for Director 4, and 1 million for Director 5.

This relies on backward induction. We must work backward from the worst-case scenario:

  1. 2 Directors left (D, E): Director D needs 1 vote (50% of 2). D votes for themselves. D proposes $(100, 0)$. E gets nothing.
  2. 3 Directors left (C, D, E): C needs 2 votes. C knows that if C is ousted, E gets 0. Therefore, C can buy E’s vote for just 1 million. C proposes $(99, 0, 1)$. C and E vote yes.
  3. 4 Directors left (B, C, D, E): B needs 2 votes. B knows that if B is ousted, C gets 99, D gets 0, and E gets 1. B can buy D’s vote for 1 million (which is better than the 0 they get under C). B proposes $(99, 0, 1, 0)$. B and D vote yes.
  4. 5 Directors left (A, B, C, D, E): A needs 3 votes. A knows if A is ousted, B gets 99, C gets 0, D gets 1, E gets 0. A can buy C and E’s votes for 1 million each (better than the 0 they get under B). A proposes $(98, 0, 1, 0, 1)$. A, C, and E vote yes.

Computational Verification

We can model this backward induction algorithmically to find the optimal payout for any number of actors.

def calculate_allocation(num_directors, total_capital):
    # Base case: 1 director gets everything
    payouts = [total_capital] 
    
    for i in range(2, num_directors + 1):
        votes_needed = i // 2 + 1
        new_payouts = [0] * i
        
        # Sort previous payouts to find the cheapest votes to buy
        # We pair the previous payouts with their indices
        indexed_payouts = sorted(enumerate(payouts), key=lambda x: x[1])
        
        capital_spent = 0
        votes_secured = 1 # The proposer always votes for themselves
        
        for index, prev_amount in indexed_payouts:
            if votes_secured < votes_needed:
                # Buy the vote for 1 more than they would get otherwise
                # (Due to the "spite" rule, giving them exactly prev_amount means they vote no)
                cost = prev_amount + 1 
                new_payouts[index + 1] = cost
                capital_spent += cost
                votes_secured += 1
            else:
                new_payouts[index + 1] = 0
                
        new_payouts[0] = total_capital - capital_spent
        payouts = new_payouts
        
    return payouts

print(calculate_allocation(5, 100))
# Output: [98, 0, 1, 0, 1]

Variations & Practical Applications

While real board members rarely execute logic this ruthlessly, the underlying math—Subgame Perfect Equilibrium—is heavily used in automated trading, competitive equity research algorithms, and decentralized finance (DeFi) smart contracts. When screening stocks or evaluating corporate capital allocation, algorithmic systems assume rational actors will always optimize for their own highest return. If a corporate structure allows a CEO to legally extract maximum value at the expense of junior shareholders without triggering a majority revolt, a purely rational system assumes they will do so.

Further Exploration

Discussion