Analyzing Balance Sheets

Understand financial strength and stability through assets, liabilities, and equity.

30 min read
Beginner

Introduction to Balance Sheets

The balance sheet answers a simple but powerful question:

What does this business look like right now?

While the income statement tells us how the business performed over a period of time, the balance sheet captures the business at a single moment.

It shows:

  • what the company owns,
  • what it owes,
  • and what ultimately belongs to its shareholders.

This difference is crucial.
A company can look successful on paper, reporting strong profits, and still be financially weak beneath the surface. It might be short on cash, heavily dependent on debt, or relying on assumptions that could easily break under pressure.

The balance sheet forces us to confront that reality. It helps us move beyond earnings and evaluate financial resilience, not just performance.

In this lesson, we’ll build and analyze a simplified balance sheet for a fictional company, Kekkei Company Ltd., using Python. We’ll break each component down step by step so every number reflects an economic reality, not just an accounting label.

The One Rule That Can Never Break

Every balance sheet is built on a single identity that must always hold:

Assets=Liabilities+Shareholders’ Equity\text{Assets} = \text{Liabilities} + \text{Shareholders’ Equity}

This isn’t an accounting convention. It is economic logic.

Everything a company owns was financed in one of only two ways:

  • borrowed money (liabilities), or
  • owners’ money (equity).

Unlike the income statement, which resets every year, the balance sheet is cumulative.

It reflects the results of many past decisions, good and bad, compounding over time.

Our Running Example: Kekkei

Here’s a simplified balance sheet for Kekkei at the end of Year 3.

We’ll return to this same balance sheet throughout the lesson, asking different questions of the same data, just like real analysis.

Balance Sheet of Kekkei (Kekkei, USD)
Item
Year 3
Assets-
Cash & Cash Equivalents180,000
Accounts Receivable140,000
Inventory200,000
Total Current Assets520,000
Property, Plant & Equipment480,000
Total Assets1,000,000
Liabilities-
Accounts Payable150,000
Short-Term Debt100,000
Total Current Liabilities250,000
Long-Term Debt300,000
Total Liabilities550,000
Shareholders’ Equity-
Share Capital200,000
Retained Earnings250,000
Total Equity450,000
Total Liabilities + Equity1,000,000

Let’s translate this balance sheet into Python so we can analyze it programmatically.

python
balance_sheet = {
    "assets": {
        "cash": 180_000,
        "accounts_receivable": 140_000,
        "inventory": 200_000,
        "ppe": 480_000
    },
    "liabilities": {
        "accounts_payable": 150_000,
        "short_term_debt": 100_000,
        "long_term_debt": 300_000
    },
    "equity": {
        "share_capital": 200_000,
        "retained_earnings": 250_000
    }
}

balance_sheet

Assets: What the Business Controls

Assets are resources the company controls today that are expected to create future benefits.

A practical first step is separating current assets from long-term assets.

python
current_assets = (
    balance_sheet["assets"]["cash"]
    + balance_sheet["assets"]["accounts_receivable"]
    + balance_sheet["assets"]["inventory"]
)

total_assets = current_assets + balance_sheet["assets"]["ppe"]

current_assets, total_assets

Not all assets are created equal.

  • Cash is immediately usable.
  • Receivables depend on customers paying.
  • Inventory depends on being sold.
  • Fixed assets depend on long-term demand.

A useful mental test is: “How quickly could these assets turn into cash if the business faced stress?”

Balance sheets often look strong until liquidity is tested.

Liabilities: Future Claims on the Business

Liabilities represent obligations the company must honor in the future.

As with assets, timing matters. We begin by separating current and long-term liabilities.

python
current_liabilities = (
    balance_sheet["liabilities"]["accounts_payable"]
    + balance_sheet["liabilities"]["short_term_debt"]
)

total_liabilities = current_liabilities + balance_sheet["liabilities"]["long_term_debt"]

current_liabilities, total_liabilities

Debt itself isn’t the enemy.

The real risk is mismatch, when obligations come due before the business can comfortably generate or access cash.

Strong balance sheets aren’t debt-free. They are well-timed.

Shareholders’ Equity: What’s Left for Owners

Shareholders’ equity represents the owners’ residual claim after all obligations are met.

Equity=Assets−Liabilities\text{Equity} = \text{Assets} - \text{Liabilities}
python
equity = total_assets - total_liabilities
equity

This matches the equity reported on the balance sheet.

Notice how retained earnings quietly connect the balance sheet to the income statement.

Past profits don’t disappear. They accumulate here.

Liquidity: Can the Company Breathe?

Liquidity measures the company’s ability to survive the near term without external help.

A simple starting point is working capital.

python
working_capital = current_assets - current_liabilities
working_capital

Positive working capital gives management room to operate.

Many bankruptcies happen not because businesses are unprofitable, but because they run out of liquidity at the wrong moment.

Current Ratio: Short-Term Financial Cushion

Working capital tells us how much liquidity exists in absolute terms.

The current ratio puts that liquidity into context by comparing it directly to near-term obligations.

Current Ratio=Current AssetsCurrent Liabilities\text{Current Ratio} = \frac{\text{Current Assets}}{\text{Current Liabilities}}
python
current_ratio = current_assets / current_liabilities
current_ratio

A current ratio of 2.08 means the company has just over two dollars of short-term assets for every dollar of short-term obligations.

This suggests a comfortable liquidity buffer.

As a rough rule of thumb:

  • Below 1.0 can indicate liquidity stress
  • Around 1.5–2.5 is often considered healthy
  • Very high ratios may signal inefficient use of capital

The right level always depends on the industry and business model.

Cash Ratio: Liquidity Under Extreme Stress

The cash ratio is the most conservative liquidity measure.

It assumes the business can rely only on cash and near-cash resources, ignoring receivables and inventory entirely.

Cash Ratio=Cash and Cash EquivalentsCurrent Liabilities\text{Cash Ratio} = \frac{\text{Cash and Cash Equivalents}}{\text{Current Liabilities}}
python
cash_ratio = balance_sheet["assets"]["cash"] / current_liabilities
cash_ratio

A cash ratio of 0.72 means the company could cover about 72% of its short-term obligations using cash alone.

This isn’t necessarily bad. Very few healthy businesses aim for a cash ratio above 1.0.

The real insight comes from comparison:

  • businesses with volatile cash flows need higher buffers,
  • stable businesses can operate safely with much lower ones.

Leverage: How Much Risk Is Embedded

The balance sheet also reveals how aggressively the business is financed.

One simple lens is the debt ratio.

python
debt_ratio = total_liabilities / total_assets
debt_ratio

A 55% debt ratio means more than half of the company’s assets are financed with borrowed money.

This can amplify returns, but it also amplifies mistakes.

Stable, predictable businesses can tolerate leverage. Fragile ones cannot.

Debt to Equity Ratio: Who Really Finances the Business

The debt to equity ratio compares borrowed capital to owners’ capital.

It answers a simple question: how much risk do creditors carry relative to shareholders?

Debt to Equity Ratio=Total LiabilitiesShareholders’ Equity\text{Debt to Equity Ratio} = \frac{\text{Total Liabilities}}{\text{Shareholders’ Equity}}
python
debt_to_equity = total_liabilities / equity
debt_to_equity

A ratio of 1.22 means the company uses more debt than equity to finance its assets.

Higher leverage can boost returns when things go well, but it also means shareholders absorb losses first when things go wrong.

Capital-intensive businesses often operate with higher ratios. Young or volatile businesses usually cannot.

Retained Earnings: The Memory of the Business

Retained earnings are a running record of past decisions.

They tell us not just how much the company earned, but whether management chose to reinvest, repay debt, or distribute cash.

python
balance_sheet["equity"]["retained_earnings"]

Over time, this line quietly reveals the quality of capital allocation.

What the Balance Sheet Can and Cannot Tell You

The balance sheet does not show:

  • profitability over a period,
  • cash generated during the year,
  • or the strength of a brand or management team.

But it does show constraints.

That’s why it must be read alongside the income statement and the cash flow statement, never in isolation.

Bringing It All Together

The balance sheet may be just a snapshot, but it is one of the most revealing views of a business.

It shows whether profits are supported by cash, how much risk is embedded in the capital structure, and how past earnings have been used over time.
Read carefully, it often highlights strengths and weaknesses that the income statement alone cannot show.

Is this business profitable *and* built to withstand financial stress?

In the next lesson, we’ll complete the picture by turning to the cash flow statement, where we trace how profits move through the business and ultimately become, or fail to become, cash in the real world.