Visualizing Common Resource Rents
Mirabeau, we are told, ranked the proposition of Quesnay, to substitute one single tax on rent (the impôt unique) for all other taxes, as a discovery equal in utility to the invention of writing or the substitution of the use of money for barter.
Excerpt From Progress and Poverty by Henry George
Since you’re here, you probably already agree that taxing rent is indeed a discovery of great utility. However, you may still find yourself wondering exactly how such a idea would be most usefully implemented. How is rental value determined? How can it be calculated without significant labor or error?
There are many possible way to effectively implement a common resource rent. To better illuminate implementation details, we will focus on one concrete example.
For a simple case, we will consider how two individuals might share a common resource that can only be used by one person at a time, such as the better of two bedrooms in a home. We will use the following scheme to set the rent (the ongoing cost of holding the space) at a specific point in time:
Each person decides for themselves what they value the space to be: what rent they would be willing to pay to have the space, but above which they would instead prefer to give up the space and accept payment for being excluded from it.
The rent is determined by auction using a sealed-bid second-price format (Vickrey auction), where the winner is whoever bid a higher value, and the rent is the value of the lower bid. This format encourages both individuals to bid their true value.
The rent is split evenly among both individuals, reflecting how each has an equal claim to the advantage that the better space provides. If, for example, the better space had a greater rental value solely for its ability to sprout a $10 bill from the floorboards each month, each person would bid $10/month for the space. Splitting the rent evenly, each would receive $5/month of this common resource’s value.1
People’s valuations also change over time due to changing preferences and life circumstances. For our example we will assume the valuations of our two individuals look like this over a hypothetical 10-year period:
If the people decide to auction the space only once at the beginning, then the space will become occupied by person A, who initially valued the space more highly. The rent, timing of the first auction, and occupancy of the better space would look like this:
The blue background indicates that occupancy is held by person A; the green line is the monthly rent for the better space, half of which is owed to person B; and the black tick mark indicates the timing of the auction.
This situation leaves much to be desired. The rent for the space does not adjust over time according to its value. The benefit of using the better space largely accrues to person A without appropriate compensation to person B for their exclusion. This problem increases over time as the valuations increase and diverge from the rent.
We can fix this by auctioning the space regularly. At each auction, the rental value of the space is updated. If the current occupant now values the space less than the other person, then they give up the space and accept payment of half the rent instead. If the space was auctioned every month, then things would look like this:
This scheme now ensures the rent of the space closely tracks its true value, which is the price the non-occupant would be willing to pay to have the space.
This does have some drawbacks, however. It may not be desirable to reappraise the value of the better space every month, and the current user is frequently at risk of losing the space at these regular auctions. This limits the length of time over which the occupant can confidently plan to have the space for. (While the curves are smooth in our example, and the current occupant can thus anticipate when the rent is nearing their valuation, this is not necessarily the case in other situations where valuations change more abruptly.)
Instead, we can re-auction the space at a lower frequency, such as every 6 months:
This is still quite good at tracking the true space value. The timing of the auctions is sparser, allowing the current user more security in their occupancy on average. All things considered, this is a good method for implementing the common resource rent.
However, if it is desirable for the current occupant to be able to plan over a longer time horizon, then we might consider an adjusted method for determining the rent. Instead of auctioning at determined intervals, we can have the auction be occupant-initiated. To encourage regular auctions, the rental value will gradually increase each month.
If the rent is near to exceeding the current occupant’s valuation, then they will auction the space to prevent their rent payment from exceeding their value of the space. If the rental value increases by 4% each month, then things would look like this:
This does a fairly good job of tracking changes. It does a better job on the right side of the plot, where the rate of change of valuations is smaller relative to their magnitude. Whereas on the left side of the plot, the rate of change of valuations is large compared to their magnitude. The rent is significantly lower than the valuations around months 20 to 30 as a result. To see why this is a problem, consider how if the rent was ever set to zero (as would be the case when only one person bids for the space), then no amount of compounding the previous month’s rent will cause it to increase, and the user will be able to lock-in a zero rent forever.
To fix this issue at small valuations, we add another term to the monthly rent update. Not only will the rent increase by 4% each month, it will also increase by $2.
This ensures the rent will increase appropriately even at small valuations. There isn’t anything particularly special about the numbers we’ve chosen; they are just approximately tuned for the scale of the valuations and their rate of change in our scenario.
Another thing to consider is how there is a cost associated with moving in and out of the space. We can expect that this switching cost will be realized as slightly higher bid values by the current occupant, and slightly lower bid values by non-occupants. In this model, each person’s valuation is now a range of values, the higher end being the point at which they are willing to relinquish occupancy, and the lower being the point at which they are willing to gain occupancy. With a $9 bid offset between these values, this looks like:
Looking at the black ticks that denote the times of auctions, we can see that there are fewer auctions that take place around a switch in occupancy. Switches are now “stickier” because we model the effect of the switching cost on how people bid.
We’ve assumed that the current occupant is willing to pay any rent that is below their valuation. However, they may voluntarily auction the space with more regularity, since this will reduce their rental cost on average. Suppose that the occupant voluntarily re-auctions the space every 6 months in addition to those times where it exceeds their value.
This once again tracks the true rental value quite closely. What we’ve gained with this method over auctions that simply repeat on a fixed schedule is the freedom for the current occupant to pick, with some latitude, the times at which they wish to auction the space and risk losing it. If the timing is poor for the occupant to risk losing the space at auction, they can buy more time by accepting a predicable increase in the rental value.
While we have identified an algorithm we can use to easily determine rents, there are many more steps involved in making it a real product that is usable for practical applications. Ideally, a software tool would exist that would allow any group of people to easily conduct these auctions, track rents, and tune the parameters of the algorithm as they see fit. Then it can be deployed in all sorts of small-scale scenarios to eliminate rent-seeking and speculation. Somebody should really go build this.
You can download the python script for these simulations here. It requires numpy and matplotlib.
It doesn’t matter if the bids and rent are instead what is paid by the occupant to the other person (no equal splitting of the rent), since the result is the same. In this case, neither person is going to bid higher than $5, since to bid higher and win would mean getting less than half of the value of the $10 bill, and it would have been a better strategy to lose the auction.









