Recommended resources
The freely available resources this lesson will direct you to.
- Cómo Calcular la Rentabilidad de un Inmueblewww.youtube.com
- 💰🏡 Cómo calcular la rentabilidad de un inmueble | 💥 REGALO Excel detallado!!! 💥www.youtube.com
- Guía para calcular la rentabilidad de tu inversión inmobiliariablog.trovimap.com
- Calculadora de rentabilidad inmobiliaria: guía de usowww.borneoadvisors.com
Hello! Welcome back to the course.
In our last lesson, we calculated Pre-Tax Cash Flow, which tells us the absolute amount of cash a property generates after paying all its bills, including the mortgage. This is a vital number, but it doesn't tell the whole story. For instance, is a €2,000 annual cash flow good? The answer depends entirely on how much money you had to invest to achieve it.
Today, we'll learn how to answer that question by calculating the Cash-on-Cash (CoC) Return. This is one of the most important metrics for a real estate investor because it measures the performance of the actual cash you've put into a deal. It tells you how hard your money is working for you.
By the end of this lesson, you will be able to calculate and interpret the Cash-on-Cash return for any leveraged rental property investment.
1. Defining Cash-on-Cash Return
Cash-on-Cash (CoC) Return measures the annual pre-tax cash flow you receive relative to the total amount of cash you personally invested. In short, it answers the question: "For every euro I put into this deal out of my own pocket, what percentage am I getting back each year in cash?"
The formula is straightforward:
Let's break down these two components:
-
Annual Pre-Tax Cash Flow (The Numerator): We already know this from our previous lesson. It's the property's Net Operating Income (NOI) minus its total annual debt service (mortgage payments).
-
Total Cash Invested (The Denominator): This is the total amount of money you had to bring to the closing table. It's your equity in the deal from day one. This typically includes:
- Down Payment (
Entrada): The portion of the purchase price not covered by the mortgage. - Acquisition Costs: All the fees and taxes associated with the purchase, such as:
- Property Transfer Tax (ITP) or VAT (IVA).
- Notary fees (
Notaría). - Property Registry fees (
Registro). - Bank appraisal (
Tasación) and any mortgage-related fees you have to pay.
- Renovation & Furnishing Costs (
Reforma y Mobiliario): Any initial capital needed to get the property rent-ready.
- Down Payment (
The key insight is that this metric focuses exclusively on your capital, not the total price of the asset or the money the bank loaned you.
This image of a Spanish profitability calculator neatly summarizes the costs that make up the "Total Cash Invested."

2. Calculating Cash-on-Cash Return: A Step-by-Step Example
Let's put theory into practice with a clear, step-by-step example.
Calculadora de rentabilidad inmobiliaria: guía de uso
The financial advisory firm Borneo Advisors provides a concise guide with a perfect example of this calculation. It clearly separates the calculation of invested equity from the cash flow.
First, read the section 'Métricas clave que debes conocer' to see the definition of Cash-on-cash. Then, carefully follow the 'Ejemplo guiado paso a paso', focusing on how 'Equity invertido' (your Total Cash Invested) and 'Cash flow antes de impuestos' are calculated and then used to find the final CoC return.
Let's review the steps from the Borneo Advisors example to solidify our understanding:
Property & Financing Data:
- Purchase Price: €300,000
- Acquisition Costs: €30,000
- Renovation: €20,000
- Financing: 70% of purchase price (€210,000 loan)
- NOI: €13,395 (calculated in the previous lesson's example)
- Annual Debt Service: €11,950
Step 1: Calculate Total Cash Invested
This is the money the investor paid out-of-pocket.
- Down Payment (30% of €300,000): €90,000
- Acquisition Costs: €30,000
- Renovation Costs: €20,000
- Total Cash Invested = €90,000 + €30,000 + €20,000 = €140,000
Step 2: Calculate Annual Pre-Tax Cash Flow
- Pre-Tax Cash Flow = NOI - Annual Debt Service
- Pre-Tax Cash Flow = €13,395 - €11,950 = €1,445
Step 3: Calculate Cash-on-Cash Return
- CoC Return = (€1,445 / €140,000) * 100
- CoC Return ≈ 1.03%
In this scenario, for every €100 the investor put into the deal, they are getting back €1.03 in cash each year. This seems low, highlighting how a heavy debt burden can reduce immediate cash flow, even if the underlying asset is sound. The value of CoC is that it makes this trade-off immediately visible.
To hear another clear explanation, watch this short clip. The speaker uses the term "ROCE" (Return on Capital Employed), which in this context is used interchangeably with Cash-on-Cash return.
Cómo Calcular la Rentabilidad de un Inmueble
The 'Libertad Inmobiliaria' channel provides a very direct explanation of this metric, which they call ROCE.
Watch the segment from 05:45 to 06:10. Pay close attention to how the speaker defines the metric as 'Cash Flow dividido entre el capital propio que tú has puesto para la operación'— a perfect summary of Cash-on-Cash return.
Test your understanding!
You are analyzing an apartment in Madrid with the following details:
- Purchase Price: €250,000
- You obtain a mortgage for 80% of the purchase price.
- Total acquisition costs (ITP, notary, etc.) and renovations: €35,000
- Annual Net Operating Income (NOI): €12,000
- Annual Debt Service (total mortgage payments): €9,600
What is the Cash-on-Cash Return for this investment?
Show answer
-
Calculate Total Cash Invested:
- Down Payment: 20% of €250,000 = €50,000
- Other Costs (acquisition + renovation): €35,000
- Total Cash Invested = €50,000 + €35,000 = €85,000
-
Calculate Annual Pre-Tax Cash Flow:
- Pre-Tax Cash Flow = NOI - Debt Service
- Pre-Tax Cash Flow = €12,000 - €9,600 = €2,400
-
Calculate Cash-on-Cash Return:
- CoC Return = (€2,400 / €85,000) * 100
- CoC Return ≈ 2.82%
3. CoC vs. Total Return: A Quick Note on Principal Paydown
You might be thinking: "But when I pay my mortgage, part of that payment reduces my loan balance. Isn't that a form of return?"
You are absolutely right. This is an essential concept. The standard Cash-on-Cash return formula intentionally ignores this "silent" return from paying down your debt (equity buildup) and any potential appreciation in the property's value.
Why? Because the purpose of CoC is to measure liquidity and the return from the property's operations on your invested cash.
However, other metrics exist to capture the total picture. Some analysts use a variation of CoC that adds the annual principal paydown to the cash flow in the numerator. This measures your growth in net worth, not just cash in your pocket.
Guía para calcular la rentabilidad de tu inversión inmobiliaria
This article from the Trovimap blog provides a great example that discusses this exact point.
Read the sections 'La métrica clave del inversor apalancado: el Cash-on-Cash Return' and 'Volvemos al ejemplo de Valencia...'. Notice how the author first calculates a cash flow of -€8, but then adds back the principal paydown of €3,050 to show a much higher return. This illustrates the difference between pure cash flow return and total return including equity buildup.
For our purposes, we will stick to the standard definition: CoC Return is based on Pre-Tax Cash Flow. But it's crucial to remember that it's only one piece of the puzzle. The equity you build by paying down your mortgage is a separate, powerful component of your total return, which we will analyze in detail in our very next lesson.
4. Modeling Cash-on-Cash Return in Python
Now let's add this functionality to our Python model. By creating separate functions for each component, our code remains clean, readable, and easy to modify.
# We continue using numpy_financial, you may need to install it:
# pip install numpy-financial
import numpy_financial as npf
# --- Functions from previous lessons (for context) ---
def calculate_pre_tax_cash_flow(noi: float, annual_debt_service: float) -> float:
"""Calculates the annual pre-tax cash flow."""
return noi - annual_debt_service
# --- New Functions for this lesson ---
def calculate_total_cash_invested(purchase_price: float, loan_amount: float, other_costs: float) -> float:
"""
Calculates the total cash invested by the investor.
Args:
purchase_price (float): The total purchase price of the property.
loan_amount (float): The principal amount of the mortgage loan.
other_costs (float): All other out-of-pocket costs (closing, renovation, etc.).
Returns:
float: The total cash invested.
"""
down_payment = purchase_price - loan_amount
return down_payment + other_costs
def calculate_cash_on_cash_return(pre_tax_cash_flow: float, total_cash_invested: float) -> float:
"""Calculates the Cash-on-Cash return as a percentage."""
if total_cash_invested == 0:
return 0.0 # Avoid division by zero
return (pre_tax_cash_flow / total_cash_invested) * 100
# --- Let's model the 'Test your understanding' exercise ---
# Inputs
purchase_price = 250000
ltv = 0.80 # 80% Loan-to-Value
other_upfront_costs = 35000
noi_annual = 12000
debt_service_annual = 9600
# Calculations
loan_amount = purchase_price * ltv
# 1. Calculate Total Cash Invested
total_cash = calculate_total_cash_invested(purchase_price, loan_amount, other_upfront_costs)
# 2. Calculate Pre-Tax Cash Flow
pre_tax_cf = calculate_pre_tax_cash_flow(noi_annual, debt_service_annual)
# 3. Calculate Cash-on-Cash Return
coc_return = calculate_cash_on_cash_return(pre_tax_cf, total_cash)
print("--- Cash-on-Cash Return Analysis ---")
print(f"Purchase Price: €{purchase_price:,.2f}")
print(f"Loan Amount (80% LTV): €{loan_amount:,.2f}")
print("--------------------------------------")
print(f"Down Payment: €{purchase_price - loan_amount:,.2f}")
print(f"Other Upfront Costs: €{other_upfront_costs:,.2f}")
print(f"Total Cash Invested: €{total_cash:,.2f}")
print("--------------------------------------")
print(f"Annual NOI: €{noi_annual:,.2f}")
print(f"Annual Debt Service: €{debt_service_annual:,.2f}")
print(f"Annual Pre-Tax Cash Flow: €{pre_tax_cf:,.2f}")
print("======================================")
print(f"Cash-on-Cash Return: {coc_return:.2f}%")
Conclusion
You've now added another essential metric to your investor toolkit. Cash-on-Cash return provides a clear measure of how efficiently your invested capital is generating cash. It's the go-to metric for comparing different leveraged investment opportunities and understanding the immediate financial impact of an acquisition.
Key Takeaways:
- Cash-on-Cash Return = (Annual Pre-Tax Cash Flow / Total Cash Invested).
- It measures the return on your equity, not the entire property value.
- "Total Cash Invested" includes your down payment plus all other out-of-pocket acquisition and setup costs.
- This metric is crucial for understanding the power and risks of leverage—a smaller down payment can significantly increase your CoC return.
- Standard CoC focuses on cash liquidity and does not include the "silent return" of equity buildup from paying down your loan.
Preview of the Next Lesson:
We've touched on the idea of a "silent return." In our next lesson, "Calculate equity buildup through mortgage principal paydown," we will dive deep into this concept. We'll learn how to separate the interest and principal components of your mortgage payment and quantify exactly how much wealth you are building each month simply by making your loan payments.