VectorFin/Glossary/Free Cash Flow
Financial Fundamentals

What is Free Cash Flow?

The cash a company generates from operations after paying for the capital expenditures needed to maintain or grow the business — the truest measure of shareholder value creation.

In Plain English

Warren Buffett calls it "owner earnings." Charlie Munger says it's the only number that matters. Free cash flow is the cash left over after a company has paid all its operating expenses and made the capital investments needed to sustain and grow the business. It's the money that could theoretically be returned to shareholders today.

The distinction from earnings matters enormously. Earnings follow accrual accounting — revenue is recorded when earned, expenses when incurred, regardless of when cash actually moves. A company can report strong earnings while burning cash if customers are slow to pay, inventory is piling up, or it's expanding factories. Free cash flow captures the actual cash reality, which is why it's harder to manipulate.

Imagine a restaurant chain reporting record profits. Now look closer: those profits came partly from suppliers extending them 90-day payment terms (inflating accounts payable), customers prepaying for gift cards (recorded as revenue), and depreciating old equipment past its useful life (understating true maintenance costs). Free cash flow — actual cash in minus cash out — would tell a very different story.

FCF yield (FCF per share / stock price) is the equity analogue of a bond's yield to maturity. A company with FCF yield of 6% is "paying" you 6 cents per dollar invested in cash each year, before any growth assumptions. Low FCF yield typically signals a growth premium; high FCF yield may signal either value or a dividend/buyback opportunity.

Technical Definition

Unlevered FCF (Free Cash Flow to Firm, FCFF):

FCFF = EBIT × (1 − t) + D&A − Capex − ΔNWC

where t is the effective tax rate and ΔNWC is the change in net working capital.

Levered FCF (Free Cash Flow to Equity, FCFE):

FCFE = Net Income + D&A − Capex − ΔNWC + Net Borrowing

Simplified approximation (most common in practice):

FCF = Operating Cash Flow − Capex

FCF Conversion = FCF / Net Income (high conversion = earnings quality; low conversion = accrual-heavy earnings)

Owner Earnings (Buffett): Net Income + D&A − "maintenance capex" (the capex required to maintain competitive position, not expansion)

Piotroski signal F₄: positive when Operating Cash Flow > ROA (i.e., cash earnings exceed accrual earnings), a signal of earnings quality. This is one of the most predictive of the nine F-Score signals.

How VectorFin Uses This

VectorFin's whystock_score includes a cash flow quality component based on the Piotroski accruals signal — specifically, whether operating cash flow exceeds accrual-based earnings. Companies with consistently high FCF conversion relative to reported earnings receive higher quality scores.

Beyond the quantitative signal, VectorFin's NLP captures management language around capital allocation. Earnings calls where management discusses "strong free cash flow generation," "capital return to shareholders," or "debt reduction from operations" versus calls dominated by "investment phase" and "scaling infrastructure" have materially different FCF profiles in the subsequent 12 months.

GET https://api.vectorfinancials.com/v1/signals/whystock-score/{ticker}?date=2024-10-01
GET https://api.vectorfinancials.com/v1/embeddings/search  # POST with FCF-related query

Code Example

import requests

API_BASE = "https://api.vectorfinancials.com"
API_KEY = "vf_your_api_key_here"

# Find earnings call passages about FCF and capital allocation
resp = requests.post(
    f"{API_BASE}/v1/embeddings/search",
    json={
        "query": "strong free cash flow generation capital return buyback dividend reduction in debt",
        "tickers": ["AAPL", "MSFT", "META", "GOOGL"],
        "period_start": "2023-Q1",
        "period_end": "2024-Q4",
        "top_k": 6,
    },
    headers={"X-API-Key": API_KEY},
)

for r in resp.json()["results"]:
    print(f"{r['ticker']} {r['period']} (score: {r['score']:.3f})")
    print(f"  {r['text'][:200]}")
    print()

# Check FCF quality via whystock score components
resp2 = requests.get(
    f"{API_BASE}/v1/signals/whystock-score/AAPL",
    params={"date": "2024-10-01", "decompose": True},
    headers={"X-API-Key": API_KEY},
)
data = resp2.json()
print(f"AAPL FCF quality component: {data['components'].get('cash_flow_quality', 'N/A')}")
print(f"AAPL Piotroski F-Score: {data['components'].get('piotroski_f_score', 'N/A')}")

Put Free Cash Flow to work in your pipeline

Access AI-ready financial data — embeddings, signals, Iceberg tables.