← Back to news

Granularity comes at a cost – Game Theory

sidhantbansal.com|35 points|5 comments|by sidhantbansal|Jun 19, 2026

The Hidden Cost of Granularity: A Game Theory Perspective

By Sidhant Bansal | May 17, 2026

I previously operated under the assumption that increasing the granularity of a system—providing more price points, tighter time slots, or more nuanced ways for users to communicate their preferences—was a direct path to efficiency.

However, two distinct scenarios—one involving high-frequency financial markets and another involving the booking of a sports court—revealed a critical truth: granularity is not free. In strategic environments, offering finer choices can actually enable users to "game" priority systems or discourage honest participation.

Disclaimer: These reflections are my own and do not represent the official positions of my employer.


📉 Case Study 1: Financial Markets

(Note: This section utilizes specific trading terminology. If you aren't interested in finance, feel free to skip to the sports court example.)

In a typical market, an order book tracks the prices at which participants are willing to buy (bid) and sell (ask) a security.

Consider a scenario with AAPL stock:

  • Bid 1: $100.00
  • Bid 2: $100.10
  • Ask 1: $101.00
  • Ask 2: $101.50

The spread is the gap between the highest bid and the lowest ask. Mathematically, it is expressed as: Spread=Best AskBest Bid\text{Spread} = \text{Best Ask} - \text{Best Bid} $101.00$100.10=$0.90\$101.00 - \$100.10 = \$0.90

The tick size is the minimum allowable price increment. If the tick size is \$0.10, a trader can quote \$100.20, but they cannot quote \$100.15.

The Granularity Paradox

Conventional wisdom suggests: More price points \rightarrow More competition \rightarrow Tighter spreads \rightarrow Lower costs for retail traders.

While the spread acts as an implicit fee for retail investors, a Nasdaq analysis suggests that if a spread is "too many ticks wide," excessive granularity becomes a liability.

The "Penny-Jumping" Problem: If the tick size is \$0.01 but the average spread is \$0.50 (50 ticks wide), a trader can jump to the front of the queue by improving the price by a negligible amount (one cent).

FeatureLarge Tick SizeSmall Tick Size (Excessive Granularity)
Queue PriorityStable and meaningfulEasily bypassed
Risk ProfileQuoters are protected by the tickQuoters bear risk; "jumpers" take reward
Market BehaviorMore aggressive quotingLess aggressive/Conviction-based

When you place a quote, you accept adverse-selection risk (the risk that the market moves against you). If another trader can cheaply step ahead of you for a tiny gain, you are left holding the risk while they capture the reward.

Conclusion: There is a "sweet spot." Ticks must be small enough to foster competition but large enough to ensure liquidity providers don't stop quoting aggressively. (Note: Stocks highlighted in grey in the original Nasdaq data often have spreads 10 ticks wide and could benefit from larger tick sizes).


🎾 Case Study 2: Booking a Sports Court

To illustrate this in a real-world context, let's look at a booking platform for a sport in NYC (anonymized).

The System Rules

  • Session Length: Exactly 1 hour.
  • Available Window: 9:00 AM to 5:00 PM.
  • Start Time Granularity: 30-minute increments.
  • Constraint: No overlapping bookings.
  • Flexibility: The platform doesn't mind if you play slightly before or after your slot, provided the court is empty.
  • Security: Captchas and rate limits are in place to stop bots.

The Profitability Metric: The platform's success is proportional to the total duration of bookings: Profitability=Total Booked HoursTotal Available Hours\text{Profitability} = \frac{\text{Total Booked Hours}}{\text{Total Available Hours}} Example: 7 hours booked out of 8 available = 7/8=87.5%7/8 = 87.5\%.

The Strategic "Game"

If you want to maximize your value (time on court) versus the cost, how do you exploit the 30-minute granularity?

The Strategy: Suppose the court is already booked from 9:00–10:00 and 12:00–1:00. Instead of booking 10:00–11:00 or 11:00–12:00, you book 10:30–11:30.

# Visualizing the gap creation
schedule = {
    "09:00-10:00": "User A",
    "10:00-10:30": "UNBOOKABLE", # Gap 1
    "10:30-11:30": "Strategic User",
    "11:30-12:00": "UNBOOKABLE", # Gap 2
    "12:00-13:00": "User B"
}

Because the system only sells 1-hour blocks, those 30-minute pockets become "dead zones" that no one else can book. By booking the middle slot, you gain free optionality on both sides. While you aren't guaranteed the extra time (due to other users overrunning), the structure of the system creates unpaid slack.

Advanced Gaming

The incentive shifts: you no longer book the slot you want immediately. Instead, you wait for the schedule to partially fill, then "slot in" to maximize unbookable gaps.

Additional Constraints:

  • Full refunds for cancellations up to 24 hours prior.
  • Slots open exactly 5 days in advance (e.g., the 9:00 AM slot opens at 9:00 AM, five days prior).

The Thought Experiment: If you are targeting a highly competitive slot (e.g., Saturday at 2:00 PM), how do you use these rules to your advantage?

  • Race for the 2:00 PM slot exactly 5 days prior.
  • Monitor cancellations 24 hours before.
  • Strategically book adjacent slots to block others.

Intuit Mailchimp