Why Do Investors Care So Much About LTV:CAC?
https://a16z.com/why-do-investors-care-so-much-about-ltvcac
https://a16z.com/why-do-investors-care-so-much-about-ltvcac
β€6
π Essential SaaS Metrics: What Really Matters?
A SaaS business runs on subscriptions.
Its health = predictable revenue + strong retention + efficient growth.
Here are the core metrics every SaaS founder, operator, and investor should track.
---
## π° Core Financial Metrics
πΉ MRR / ARR β Monthly / Annual Recurring Revenue
Your primary indicator of predictable revenue.
πΉ ARPU β Average Revenue Per User
How much revenue each customer generates on average.
πΉ ARR Growth Rate β Percentage increase in ARR
Shows how fast the company is scaling.
πΉ Expansion Revenue β Upsells, upgrades, add-ons
The healthiest form of growth comes from existing customers.
πΉ Gross Profit Margin
Revenue minus cost of goods sold. Strong SaaS businesses typically operate at 70β90%.
---
## π Retention & Customer Success Metrics
πΉ Churn Rate (Logo & Revenue)
Percentage of customers or revenue lost during a period. Lower = stronger stability.
πΉ Net Dollar Retention (NDR / NRR)
Revenue retained from existing customers including upgrades/downgrades.
If >100%, your revenue grows even without acquiring new customers.
πΉ NPS (Net Promoter Score)
Measures customer loyalty and likelihood to recommend.
πΉ Usage / Activation Rate
How actively customers use your product. Low usage today = churn tomorrow.
---
## π Acquisition & Efficiency Metrics
πΉ CAC (Customer Acquisition Cost)
Total sales & marketing spend required to acquire a new customer.
πΉ LTV / CLV (Customer Lifetime Value)
Total revenue expected from a customer over their lifecycle.
πΉ LTV-to-CAC Ratio
Measures ROI on acquisition. Ideal benchmark: 3:1 or higher.
πΉ CAC Payback Period
Months required to recover acquisition costs. Ideally < 12 months.
πΉ Rule of 40
Revenue growth rate + profit margin should exceed 40%.
A strong benchmark for balanced growth.
---
## π₯ Additional Stability Metrics
β’ Cash Runway β How long the company can operate before running out of cash
β’ Customer Concentration β Revenue dependence on a few major customers
β’ Burn Multiple β Efficiency of growth relative to cash burned
---
π SaaS isnβt just about growth.
Itβs about *predictable, efficient, and sustainable growth.*
Track the right metrics. Build with discipline. Scale with confidence.
A SaaS business runs on subscriptions.
Its health = predictable revenue + strong retention + efficient growth.
Here are the core metrics every SaaS founder, operator, and investor should track.
---
## π° Core Financial Metrics
πΉ MRR / ARR β Monthly / Annual Recurring Revenue
Your primary indicator of predictable revenue.
πΉ ARPU β Average Revenue Per User
How much revenue each customer generates on average.
πΉ ARR Growth Rate β Percentage increase in ARR
Shows how fast the company is scaling.
πΉ Expansion Revenue β Upsells, upgrades, add-ons
The healthiest form of growth comes from existing customers.
πΉ Gross Profit Margin
Revenue minus cost of goods sold. Strong SaaS businesses typically operate at 70β90%.
---
## π Retention & Customer Success Metrics
πΉ Churn Rate (Logo & Revenue)
Percentage of customers or revenue lost during a period. Lower = stronger stability.
πΉ Net Dollar Retention (NDR / NRR)
Revenue retained from existing customers including upgrades/downgrades.
If >100%, your revenue grows even without acquiring new customers.
πΉ NPS (Net Promoter Score)
Measures customer loyalty and likelihood to recommend.
πΉ Usage / Activation Rate
How actively customers use your product. Low usage today = churn tomorrow.
---
## π Acquisition & Efficiency Metrics
πΉ CAC (Customer Acquisition Cost)
Total sales & marketing spend required to acquire a new customer.
πΉ LTV / CLV (Customer Lifetime Value)
Total revenue expected from a customer over their lifecycle.
πΉ LTV-to-CAC Ratio
Measures ROI on acquisition. Ideal benchmark: 3:1 or higher.
πΉ CAC Payback Period
Months required to recover acquisition costs. Ideally < 12 months.
πΉ Rule of 40
Revenue growth rate + profit margin should exceed 40%.
A strong benchmark for balanced growth.
---
## π₯ Additional Stability Metrics
β’ Cash Runway β How long the company can operate before running out of cash
β’ Customer Concentration β Revenue dependence on a few major customers
β’ Burn Multiple β Efficiency of growth relative to cash burned
---
π SaaS isnβt just about growth.
Itβs about *predictable, efficient, and sustainable growth.*
Track the right metrics. Build with discipline. Scale with confidence.
β€5
AnalyticsEngineeringSQLdbt.pdf
10.3 MB
Rui Machado / Analytics Engineering with SQL and dbt
π4β€2π₯2π2π1
π° The 4 Types of SQL Joins
SQL joins combine rows from two or more tables based on a related column. Here are the different types of joins you can use:
1β£ Inner Join
Returns only the matching rows between both tables. It keeps common data only.
π’ Left Join
Returns all rows from the left table and matching rows from the right table. If a row in the left table doesnβt have a match in the right table, the right tableβs columns will contain NULL values in that row.
π’ Right Join
Returns all rows from the right table and matching rows from the left table. If no matching record exists in the left table for a record in the right table, the columns from the left table in the result will contain NULL values.
π’ FULL OUTER JOIN
Returns all rows from both tables, filling in NULL for missing matches.
SQL joins combine rows from two or more tables based on a related column. Here are the different types of joins you can use:
1β£ Inner Join
Returns only the matching rows between both tables. It keeps common data only.
π’ Left Join
Returns all rows from the left table and matching rows from the right table. If a row in the left table doesnβt have a match in the right table, the right tableβs columns will contain NULL values in that row.
π’ Right Join
Returns all rows from the right table and matching rows from the left table. If no matching record exists in the left table for a record in the right table, the columns from the left table in the result will contain NULL values.
π’ FULL OUTER JOIN
Returns all rows from both tables, filling in NULL for missing matches.
π6β€2
π₯ Top 8 SQL Tricks Every Data Person Should Know
1οΈβ£ QUALIFY instead of subqueries
Filter window function results directly β no wrapping needed:
2οΈβ£ EXCEPT in SELECT * (BigQuery)
Grab everything but the noise:
3οΈβ£ COUNT(DISTINCT x) vs APPROX_COUNT_DISTINCT(x)
On billions of rows, approximate counts are 10x faster and usually accurate within ~1%.
4οΈβ£ NULL-safe comparisons
5οΈβ£ Window frames are not all the same
6οΈβ£ Anti-joins done right
7οΈβ£ GROUP BY ALL
Stop counting column positions. Group by every non-aggregated column automatically (BigQuery, Snowflake, DuckDB).
8οΈβ£ CTEs β optimization
In some engines CTEs are inlined, in others materialized. If a CTE is referenced twice and it's heavy β check the query plan, don't assume.
#SQL #BigQuery #DataEngineering #Analytics
1οΈβ£ QUALIFY instead of subqueries
Filter window function results directly β no wrapping needed:
QUALIFY ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY created_at DESC) = 12οΈβ£ EXCEPT in SELECT * (BigQuery)
Grab everything but the noise:
SELECT * EXCEPT (raw_payload, _synced_at) FROM t3οΈβ£ COUNT(DISTINCT x) vs APPROX_COUNT_DISTINCT(x)
On billions of rows, approximate counts are 10x faster and usually accurate within ~1%.
4οΈβ£ NULL-safe comparisons
a = b is NULL when either side is NULL. Use IS NOT DISTINCT FROM (or <=> in MySQL) to compare safely.5οΈβ£ Window frames are not all the same
ORDER BY inside OVER() silently changes the default frame to RANGE UNBOUNDED PRECEDING β CURRENT ROW. Running totals? Fine. Full-partition aggregates? Bug.6οΈβ£ Anti-joins done right
NOT EXISTS beats NOT IN β the latter returns nothing if the subquery contains a single NULL. π¬7οΈβ£ GROUP BY ALL
Stop counting column positions. Group by every non-aggregated column automatically (BigQuery, Snowflake, DuckDB).
8οΈβ£ CTEs β optimization
In some engines CTEs are inlined, in others materialized. If a CTE is referenced twice and it's heavy β check the query plan, don't assume.
#SQL #BigQuery #DataEngineering #Analytics
β€5π2π₯1