DEV Community

Cover image for "40% Annual Market Growth!" ...So Why Is the Entire Industry Losing Money? Data-Driven Dive Into the 'Quantity Grows, Profit Die
oji - building AI in public
oji - building AI in public

Posted on

"40% Annual Market Growth!" ...So Why Is the Entire Industry Losing Money? Data-Driven Dive Into the 'Quantity Grows, Profit Die

Hey, it's your friendly neighborhood ojii. I'm 38 and I spend my weekday evenings and weekends tinkering with AI trading bots.

Building bots as a side hustle often puts me in a position to look at macro market data. "This industry is booming," or "that sector is in a freeze." Grasping these big trends helps sharpen my bot strategy.

Recently, I stumbled upon some wild data. A certain market was reported to be "booming at an average annual growth rate of 40%!" By all accounts, this sounds like a gold rush. It looked like anyone who entered could make a fortune.

But when I laid out the financial statements of the companies in that market, a brutal truth emerged: the market size was at an all-time high, yet major manufacturers were all reporting operating losses. How does this even happen? I got curious and dug deeper. Here's my thought process, uncensored.

The "Quantity" vs. "Price" Trap

The first market I analyzed was solar panels.

Data showed that global solar panel installations (quantity) skyrocketed by 3.8 times over a four-year period. That's incredible growth. Policy tailwinds clearly fueled an explosion in demand.

However, looking at manufacturer profits over the same period, it was a bloodbath. Why? The answer was simple: prices had crashed.

Market size is roughly determined by "Quantity (Q)" multiplied by "Price (P)." In this case, while Q exploded by +280%, P plummeted at an even faster rate. As a result, revenue stagnated or barely grew. Add development costs and personnel expenses, and profits sank into the red.

A bizarre situation emerged: "market size is at an all-time high, but the industry's profit pool is negative."

The first lesson here was: "Obligation creates quantity, but not price."
Environmental policies and other "must-do" demands certainly force an increase in installation volume (Q). But this doesn't always lead to healthy price formation. In fact, it often attracts a flood of new entrants looking for subsidies, leading to cutthroat competition that destroys prices (P).

When you hear "the market is growing," you need to break down whether that's growth in Q, P, or both, otherwise you'll misinterpret the core reality.

The Hypothesis Falls Apart: Does Oligopoly Guarantee Profit?

So, my next hypothesis was: "The reason they're dying from price competition is too many suppliers. If there were fewer players in an oligopolistic market, profits would be stable, right?"

To test this, I pulled data for the DRAM (memory semiconductor) market. This market is a classic oligopoly, with the top three companies holding nearly 90% of the market share. This should be safe, I thought.

But again, the data defied my expectations. The DRAM market cycled between "supercycles" of massive profits and "downturns" where the entire industry sank into the red, repeating every few years. Despite being an oligopoly, prices weren't stable; they were wildly volatile.

This completely shattered my simple hypothesis that "fewer suppliers mean more profit."

During this analysis, I ran a simple simulation in Python (pandas). I used code like this to see how changes in Q and P affected profit margins.

import pandas as pd

def calculate_market_metrics(data):
    """
    Dummy function to calculate various metrics from market data
    """
    df = pd.DataFrame(data)

    # Market size = Quantity * Price
    df['market_size'] = df['quantity'] * df['price']

    # Gross profit = Market size - (Quantity * Manufacturing Cost)
    df['gross_profit'] = df['market_size'] - (df['quantity'] * df['unit_cost'])

    # Operating profit = Gross profit - Fixed costs
    df['operating_profit'] = df['gross_profit'] - df['fixed_cost']

    # Operating margin
    df['operating_margin'] = (df['operating_profit'] / df['market_size']) * 100

    return df

# Simulate with dummy data
dummy_data = {
    'year': [2020, 2021, 2022, 2023],
    'quantity': [100, 150, 220, 380],  # Quantity surges
    'price': [10.0, 8.0, 5.0, 3.0],      # Price crashes
    'unit_cost': [6.0, 5.5, 4.0, 2.8],   # Costs also decrease, but...
    'fixed_cost': [200, 220, 250, 300]
}

result_df = calculate_market_metrics(dummy_data)
print(result_df[['year', 'market_size', 'operating_profit', 'operating_margin']])
Enter fullscreen mode Exit fullscreen mode

Tinkering with this code made it clear that even if Q grows, if P's rate of decline outpaces it, profit margins will dive into negative territory.

The True Divergence Point: "Speed of Supply Response"

What differentiates solar panels (many suppliers, losing money) from DRAM (few suppliers, boom-and-bust cycles)?

After much thought, I arrived at the conclusion: the "speed at which supply can respond to changes in demand," a time-based perspective.

  • DRAM (Semiconductors): Even if demand surges, building a new fabrication plant (fab) takes 2-3 years. This creates a period where supply can't keep up with demand. During this time, shortages drive prices sky-high, and manufacturers rake in massive profits – the supercycle. However, seeing this, companies all invest in increasing production, leading to an oversupply 2-3 years later, causing prices to crash – the downturn. The long lead time for supply creates periodic mismatches between supply and demand.

  • Solar Panels: These don't require as massive capital investment as DRAM (relatively speaking). The lead time to retool existing factories or add new lines is shorter. Therefore, even with increased demand, supply can catch up relatively quickly. As a result, price surges due to shortages are less likely, and the market often falls into price competition due to constant oversupply.

So, the true divergence point wasn't just "structural variables" like the number of players, but a "cyclical variable": the speed of supply's response to demand.

This perspective brings clarity to other markets. For example, SAF (Sustainable Aviation Fuel) might have a relatively fast supply response because existing oil refining facilities can be repurposed. If so, it suggests a market structure less prone to DRAM-like supercycles.

Conclusion

The phrase "the market is growing" is almost meaningless in the context of investment or development. You need to break it down further:

  • Is the growth driven by "quantity" or "price"?
  • What is the "speed of supply response" in that market—fast or slow?

Only by dissecting it to this level can you truly see whether the market structure is set up for profit or if a brutal war of attrition awaits.

This analysis offered direct feedback for my own automated trading bot strategies. When deciding which sectors to focus on and what time horizons to consider, I'll be sure to remember this "cyclical variable" perspective.

This is just my personal analysis log, but I hope it's helpful to someone out there.

Top comments (0)