<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Felix ZHU</title>
    <description>The latest articles on DEV Community by Felix ZHU (@bitearcade).</description>
    <link>https://dev.to/bitearcade</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4119247%2F314be7a5-638d-465e-8ca0-8bf1ae1acb8e.png</url>
      <title>DEV Community: Felix ZHU</title>
      <link>https://dev.to/bitearcade</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bitearcade"/>
    <language>en</language>
    <item>
      <title>Built a Free SaaS Metrics Calculator — Here's the Math Behind It</title>
      <dc:creator>Felix ZHU</dc:creator>
      <pubDate>Thu, 10 Sep 2026 11:54:59 +0000</pubDate>
      <link>https://dev.to/bitearcade/built-a-free-saas-metrics-calculator-heres-the-math-behind-it-b3l</link>
      <guid>https://dev.to/bitearcade/built-a-free-saas-metrics-calculator-heres-the-math-behind-it-b3l</guid>
      <description>&lt;p&gt;As a developer, I hate spreadsheets.&lt;/p&gt;

&lt;p&gt;Every time I needed to calculate runway, LTV, or CAC payback for a project, I'd open Google Sheets, build a formula, and inevitably mess up the cell references. After the third time I accidentally calculated runway using the wrong burn rate, I decided to build a tool.&lt;/p&gt;

&lt;p&gt;The result: a free SaaS Revenue Calculator that runs entirely in the browser.&lt;/p&gt;

&lt;p&gt;The Math Behind the Metrics&lt;br&gt;
Here's what the calculator computes and how.&lt;/p&gt;

&lt;p&gt;Runway&lt;br&gt;
javascript&lt;br&gt;
// Runway = Cash in bank / Net monthly burn&lt;br&gt;
const runway = cashInBank / netBurn;&lt;/p&gt;

&lt;p&gt;// Net burn = Monthly costs - MRR&lt;br&gt;
const netBurn = monthlyCosts - mrr;&lt;/p&gt;

&lt;p&gt;// If netBurn is negative, you're profitable and runway is infinite&lt;br&gt;
if (netBurn &amp;lt;= 0) return Infinity;&lt;br&gt;
Runway tells you how many months until you run out of cash. If your MRR exceeds operating costs, you're profitable and runway is effectively infinite.&lt;/p&gt;

&lt;p&gt;LTV (Lifetime Value)&lt;br&gt;
javascript&lt;br&gt;
// LTV = ARPU / Monthly churn rate&lt;br&gt;
const arpu = mrr / activeCustomers;&lt;br&gt;
const ltv = arpu / monthlyChurnRate;&lt;br&gt;
LTV is how much revenue an average customer generates before they churn. Higher is better. A healthy LTV:CAC ratio is 3:1 or higher.&lt;/p&gt;

&lt;p&gt;CAC Payback&lt;br&gt;
javascript&lt;br&gt;
// CAC Payback = CAC / (ARPU * Gross Margin)&lt;br&gt;
const cacPayback = cac / (arpu * grossMargin);&lt;br&gt;
CAC payback is how many months it takes to recover acquisition costs. Under 12 months is good. Under 6 months is excellent.&lt;/p&gt;

&lt;p&gt;Why I Built This&lt;br&gt;
I was tired of:&lt;/p&gt;

&lt;p&gt;Manual calculations — Building the same formulas in every new spreadsheet&lt;/p&gt;

&lt;p&gt;Opaque tools — Existing calculators that don't show their math&lt;/p&gt;

&lt;p&gt;Paywalls — Tools that charge $50/month for basic arithmetic&lt;/p&gt;

&lt;p&gt;The calculator is free, runs locally, and shows you exactly how each metric is computed.&lt;/p&gt;

&lt;p&gt;Technical Implementation&lt;br&gt;
The calculator is a single HTML file with vanilla JavaScript. No frameworks, no build step, no dependencies. It runs entirely client-side — your financial data never leaves your browser.&lt;/p&gt;

&lt;p&gt;Key design decisions:&lt;/p&gt;

&lt;p&gt;Real-time updates: Every input change recalculates all metrics instantly&lt;/p&gt;

&lt;p&gt;12-month projection: Uses compound growth to project MRR forward&lt;/p&gt;

&lt;p&gt;Health indicators: Each metric shows a green/yellow/red status based on benchmarks&lt;/p&gt;

&lt;p&gt;When to Use This&lt;br&gt;
Before a fundraise — Investors will ask about LTV:CAC, CAC payback, and net burn. Get your numbers straight.&lt;/p&gt;

&lt;p&gt;When deciding to hire — See how adding a salary affects your runway.&lt;/p&gt;

&lt;p&gt;When evaluating churn — Model how reducing churn from 5% to 3% changes LTV and runway.&lt;/p&gt;

&lt;p&gt;→ Try the calculator&lt;/p&gt;

&lt;p&gt;FAQ&lt;br&gt;
Can I self-host this?&lt;/p&gt;

&lt;p&gt;The calculator is a static HTML file. You can save it locally and run it offline.&lt;/p&gt;

&lt;p&gt;Does it store my data?&lt;/p&gt;

&lt;p&gt;No. Everything runs in your browser. No server calls, no analytics, no storage.&lt;/p&gt;

&lt;p&gt;What's Next&lt;br&gt;
I'm planning to add:&lt;/p&gt;

&lt;p&gt;Scenario comparison (side-by-side what-if analysis)&lt;/p&gt;

&lt;p&gt;Export to CSV/PDF&lt;/p&gt;

&lt;p&gt;Cohort retention modeling&lt;/p&gt;

&lt;p&gt;If you have feature requests, let me know.&lt;/p&gt;

&lt;p&gt;Disclosure: This article contains affiliate links. If you sign up through these links, we may earn a commission at no extra cost to you.&lt;/p&gt;

</description>
      <category>saas</category>
      <category>startup</category>
      <category>javascript</category>
      <category>indiedev</category>
    </item>
  </channel>
</rss>
