Financial ModelingIntermediate12 min read

Forecast Cash Runway in Excel or Google Sheets

Build a six-month cash runway forecast with monthly cash flow, reserve checks, and an average-burn comparison.

A cash runway forecast shows how expected receipts and payments change available cash each month. This guide builds a six-month forecast that identifies the first month-end when cash reaches or falls below a chosen minimum reserve.

The example, titled Six-Month Cash Runway Forecast, uses synthetic data rather than company data. Before relying on the result, replace its assumptions with verified cash balances, collection timing, payroll payments, and operating costs.

Here, runway means the number of complete forecast months before the first reserve breach. Burn rate means the average amount of cash lost per month when average net cash flow is negative. Because the model uses month-end totals, it doesn’t estimate the exact day cash reaches the reserve.

What You'll Need

  • Google Sheets or a current version of Microsoft Excel
  • One worksheet named Runway Forecast
  • Available unrestricted cash from a recent bank reconciliation
  • Monthly cash receipts, payroll payments, and other cash-cost assumptions
  • One consistent currency for every amount
  • Comma formula separators; some spreadsheet locales require semicolons instead

Step-by-Step Guide

1

Open the six-month runway template

You can Copy this Google Sheets template or Download the Excel file.

The recorded tests in this guide were run in Google Sheets. Although the Excel file is available for use, those tests didn’t independently verify its execution in Excel.

If you build the sheet manually, use this layout:

RangePurpose
A1Six-Month Cash Runway Forecast
A3:B4Starting cash and minimum reserve
A7:G7Monthly schedule headers
A8:A13Month 1 through Month 6
B8:D13Monthly cash-flow inputs
E8:G13Calculated monthly results
A15:B18Runway summary

Use these headers in A7:G7:

CellHeader
A7Month
B7Cash Receipts
C7Payroll
D7Other Operating Costs
E7Net Cash Flow
F7Projected Ending Cash
G7Above Buffer

Each row represents one successive full month. For an operating forecast, replace Month 1 through Month 6 with explicit month-end dates.

Complete six-month cash runway template with inputs, monthly projections, and summary metrics.

Enter starting cash, reserve, inflows, payroll, and other costs. The sheet calculates projected cash and runway.

    2

    Enter starting cash, the reserve, and monthly assumptions

    Start by entering available unrestricted cash in Runway Forecast!B3. Exclude restricted funds that can’t pay normal operating expenses.

    Next, enter the minimum cash reserve that shouldn’t be spent in Runway Forecast!B4. The model treats projected cash equal to the reserve as a breach, not as cash remaining above the buffer.

    For the baseline example, enter:

    CellValue
    B3120000
    B410000

    Enter the monthly assumptions in A8:D13:

    MonthCash ReceiptsPayrollOther Operating Costs
    Month 1300004000015000
    Month 2320004000015000
    Month 3350004200016000
    Month 4360004200016000
    Month 5380004400017000
    Month 6400004400017000

    Specifically:

    1. Enter expected monthly cash receipts in B8:B13.
    2. Enter monthly payroll payments in C8:C13.
    3. Enter other operating cash costs in D8:D13.

    Record receipts when cash is expected to arrive, not when revenue is invoiced or recognized. Likewise, payroll and operating costs should reflect expected payment timing.

    All inputs in B3:B4 and B8:D13 must be nonnegative numbers. Record refunds, payroll credits, or cost reimbursements as cash receipts rather than negative expenses. Otherwise, a negative cost could incorrectly increase projected cash.

    You can apply number validation of zero or greater to those ranges, but validation may not catch pasted or imported values. As a second control, the formulas in the next steps include nonnegative checks.

    Format:

    • B3:B4, B8:F13, and B17 as currency
    • B18 as a number with one decimal place
    3

    Calculate monthly cash flow and ending cash

    In E8, calculate cash receipts less payroll and other operating costs:

    =IF(AND(COUNT(B8:D8)=3,MIN(B8:D8)>=0),B8-C8-D8,NA())
    

    Fill the formula through E13.

    This formula requires all three monthly inputs to be numeric and nonnegative. A blank cell, whitespace-only text, text such as TBD, or a negative number returns #N/A. Numeric zero remains valid.

    Then, in F8, calculate projected ending cash:

    =IF(AND(ISNUMBER($B$3),$B$3>=0,COUNT(B$8:D8)=3*ROWS(B$8:B8),MIN(B$8:D8)>=0),$B$3+SUM(B$8:B8)-SUM(C$8:C8)-SUM(D$8:D8),NA())
    

    Fill the formula through F13.

    The formula starts with unrestricted cash in B3, adds cumulative receipts, and subtracts cumulative payroll and operating costs. It checks every input row through the current month, so an invalid earlier input also invalidates later balances.

    Finally, use G8 to test whether ending cash remains strictly above the reserve:

    =IF(AND(ISNUMBER(F8),ISNUMBER($B$4),$B$4>=0),--(F8>$B$4),NA())
    

    Fill the formula through G13.

    The indicator means:

    • 1: Projected ending cash is above the reserve.
    • 0: Projected ending cash is equal to or below the reserve.
    • #N/A: A required input, reserve, or calculated balance is invalid.

    Review monthly net cash flow, projected ending cash, and buffer indicators in E8:G13.

    Monthly operating forecast showing net cash flow, ending cash, and whether cash remains above the buffer.

    The month-by-month schedule shows when projected ending cash reaches the minimum reserve.

    The recorded tests used nonnegative inputs. The nonnegative guards above don’t change the baseline outputs, but their behavior for negative inputs follows from the formulas rather than a separately recorded test.

      4

      Calculate the runway summary

      Add these summary labels:

      CellEntry
      A15First month-end at or below reserve
      A16Complete months before breach
      A17Average monthly burn
      A18Burn-rate runway in months

      In B15, find the first month with ending cash at or below the reserve:

      =IF(OR(COUNT(F8:F13)<6,NOT(ISNUMBER($B$4)),$B$4<0),NA(),IFERROR(MATCH(TRUE,F8:F13<=$B$4,0),0))
      

      Interpret the result as follows:

      • 1 through 6: The corresponding month is the first reserve breach.
      • 0: No breach occurs within the six-month forecast.
      • #N/A: The schedule or reserve contains an invalid input.

      Next, calculate the number of complete months before the first breach in B16:

      =IF(NOT(ISNUMBER(B15)),NA(),IF(B15=0,ROWS(A8:A13),B15-1))
      

      If B15 is 5, the model reports four complete months before the breach. If B15 is 0, B16 returns 6. This means only that all six modeled month-end balances remain strictly above the reserve.

      In B17, calculate average monthly net burn:

      =IF(COUNT(E8:E13)<6,NA(),MAX(0,-AVERAGE(E8:E13)))
      

      This is the greater of zero and the negative average monthly net cash flow. It’s a simplified comparison measure, not a replacement for the monthly schedule.

      In B18, calculate reserve-adjusted runway from average burn:

      =IF(OR(NOT(ISNUMBER(B17)),B17<0,NOT(ISNUMBER($B$3)),$B$3<0,NOT(ISNUMBER($B$4)),$B$4<0),NA(),IF(B17=0,0,MAX(0,$B$3-$B$4)/B17))
      

      Read B18 together with B17:

      • If B17 is positive, B18 estimates reserve-adjusted runway using average burn.
      • If B17 is zero, B18=0 is a sentinel meaning the forecast has no average burn. Use the finite six-month schedule instead.
      • If starting cash is already at or below the reserve and average burn is positive, B18=0 means zero reserve-adjusted months remain.
      • If a required input is invalid, B18 returns #N/A.

      This approach preserves the zero-average-burn behavior recorded for the linked template. It doesn’t interpret zero average burn as zero months of cash runway.

        5

        Verify the baseline result

        The recorded Google Sheets test produced these baseline results:

        MonthNet Cash FlowProjected Ending CashAbove Buffer
        Month 1-25000950001
        Month 2-23000720001
        Month 3-23000490001
        Month 4-22000270001
        Month 5-2300040000
        Month 6-21000-170000

        The summary should show:

        CellExpected result
        B155
        B164
        B1722833.33
        B184.8 when displayed to one decimal place

        Check the result independently:

        Total net burn = 25000 + 23000 + 23000 + 22000 + 23000 + 21000
                       = 137000
        
        Average monthly burn = 137000 ÷ 6
                             = 22833.33
        
        Reserve-adjusted cash = 120000 - 10000
                              = 110000
        
        Average-burn runway = 110000 ÷ 22833.33
                            ≈ 4.8 months
        

        The time-phased schedule identifies Month 5 as the first month-end at or below the reserve. By comparison, the average-burn result is 4.8 months. It isn’t an exact depletion date.

          6

          Test different operating assumptions

          Before each independent scenario, reset the baseline so changes from one case don’t carry into the next.

          Increase the Month 1 receipt

          Reset to the baseline, then change only B8 from 30000 to 50000.

          The recorded Google Sheets execution produced:

          Ending cash: 115000, 92000, 69000, 47000, 24000, 3000
          B15: 6
          B16: 5
          B17: 19500
          B18: 5.6 when displayed to one decimal place
          

          Although the Month 6 ending balance is positive, it’s below the 10000 reserve. The extra 20000 delays the first month-end reserve breach from Month 5 to Month 6.

          Enter zero activity above the reserve

          Reset the sheet, then enter:

          • B3: 50000
          • B4: 10000
          • Every cell in B8:D13: 0

          The recorded execution produced:

          Net cash flow each month: 0
          Ending cash each month: 50000
          Buffer indicator each month: 1
          B15: 0
          B16: 6
          B17: 0
          B18: 0
          

          Because B17 is zero, the B18 result is a no-average-burn sentinel. The schedule establishes only that no breach occurs within the six modeled months.

          Check the equality boundary

          Reset to the baseline, then change Month 5 receipts in B12 from 38000 to 44000. Month 5 should end with exactly 10000, equal to the reserve.

          The formula-derived result should be:

          F12: 10000
          G12: 0
          B15: 5
          B16: 4
          

          Cash equal to the reserve isn’t above the buffer.

          Check malformed and negative inputs

          In a copy of the forecast, clear a required monthly input or enter text such as TBD or whitespace. The affected net cash flow and dependent calculations should return #N/A.

          Next, enter a negative receipt, payroll amount, operating cost, starting balance, or reserve. The guarded formulas should also return #N/A instead of treating a negative cost as a cash inflow.

          These malformed-input and negative-input checks follow from the formulas; they weren’t part of the recorded execution cases. Restore the baseline inputs afterward.

          Also confirm that starting cash appears only in B3. Don’t include it again as a Month 1 receipt.

          The example accepts monthly totals rather than transaction rows, so it doesn’t detect duplicated payments or bank transactions.

            7

            Model hiring, spending, and financing scenarios

            Create a separate copy of the forecast for each scenario you want to compare. Then change the inputs according to when cash is expected to move:

            • Hiring: Increase payroll in C8:C13 beginning with the expected payment month. Include employer taxes and benefits if they aren’t already in another cash-cost line.
            • Operating spending: Change D8:D13 for software, rent, contractors, insurance, taxes, debt payments, or irregular expenses.
            • Collections: Change B8:B13 when customer payments are expected to arrive.
            • Financing: Add fundraising proceeds to B8:B13 only in scenarios where the receipt and timing are assumed. Keep uncertain financing separate from the operating baseline.
            • Refunds and credits: Add expected cash refunds or reimbursements to receipts. Don’t enter negative payroll or operating costs.

            If G8:G13 remains 1, every modeled ending balance is strictly above the reserve. That means only that no breach appears within the six-month horizon. Extend the forecast before drawing conclusions about later periods.

            If you need linked income statement, balance sheet, and cash flow schedules, use a startup three-statement model instead of expanding this runway schedule into an accounting model.

              8

              Review and update the forecast

              Update the model whenever actual cash activity or a material assumption changes:

              1. Replace B3 with the latest reconciled unrestricted cash balance.
              2. Move receipts to the months when collection is now expected.
              3. Update payroll for hiring, departures, taxes, benefits, and payment timing.
              4. Add material operating costs, debt service, taxes, and one-time payments to the appropriate months.
              5. Compare actual cash movement with the prior forecast.
              6. Confirm that B15:B18 agree with the monthly schedule.

              Keep the model’s timing limits in mind during each review. The forecast doesn’t model intramonth payments, so cash could fall below the reserve during a month even if the month-end balance remains above it.

              Uncertain receipts, omitted expenses, restricted cash, or delayed collections can also make the displayed runway too optimistic.

                9

                Ask ModelMonkey to inspect the runway model

                ModelMonkey can use spreadsheet context in Google Sheets and Microsoft Excel to help read ranges, inspect formulas, analyze results, and propose spreadsheet changes. When the workflow presents a preview, review the proposed edits before proceeding.

                For this workbook, use this request:

                Inspect Runway Forecast!A1:G18.
                
                Check that B3 contains nonnegative unrestricted starting cash and B4 contains a nonnegative minimum reserve. Confirm that B8:D13 contains only nonnegative numbers.
                
                Confirm that E8:E13 calculates receipts minus payroll and other operating costs, F8:F13 projects cash from B3, and G8:G13 returns 1 only when ending cash is strictly above B4.
                
                Compare the first balance in F8:F13 that is at or below B4 with B15 and B16. Check B17 against average monthly net burn. Confirm that B18 returns 0 as a no-average-burn sentinel when B17 is zero and otherwise calculates reserve-adjusted cash divided by average burn.
                
                Flag blank, whitespace-only, text, negative, or nonnumeric inputs rather than replacing them with zero. Show any proposed formula changes for review.
                

                Compare the response with the baseline control values in Step 5. ModelMonkey can assist with the inspection, but you should still review its formulas and conclusions against verified inputs.

                  Wrapping Up

                  The completed workbook shows monthly net cash flow, projected ending cash, the first month-end at or below a minimum reserve, and the number of complete months before that breach. It also compares the time-phased result with an average-burn estimate.

                  In the illustrative baseline, the first reserve breach occurs in Month 5, leaving four complete forecast months before the breach. Replace the demonstration values with verified cash assumptions, and extend the horizon when six months isn’t enough for the decision you’re evaluating.

                  Frequently Asked Questions

                  What is the basic cash runway formula?

                  A reserve-adjusted average-burn estimate is:

                  Cash runway = (Unrestricted cash - Minimum reserve) ÷ Average monthly burn
                  

                  This shortcut requires positive average burn. Use the month-by-month schedule when receipts or payments change materially between periods or when average burn is zero.

                  Why does the forecast use a minimum reserve instead of zero?

                  The reserve represents cash that management doesn’t intend to spend. Identifying when cash reaches that threshold can provide an earlier planning signal than waiting for a projected negative balance.

                  The appropriate reserve is a business decision and must be entered by the reader.

                  What do zero and error results in B15 and B18 mean?

                  B15=0 means every ending balance remains strictly above the reserve within the six-month horizon.

                  For B18, inspect B17:

                  • If B17=0, then B18=0 means there is no average burn. Use the monthly schedule.
                  • If B17 is positive, B18=0 means starting cash is already at or below the reserve.
                  • B18=#N/A means a required input is invalid.

                  Why are negative cash inputs rejected?

                  The example’s input schema uses nonnegative receipts and costs. Negative payroll or operating costs would increase projected cash because the formula subtracts those values.

                  Enter reimbursements, refunds, and other cash credits as receipts instead. If your reporting convention requires signed inputs, redesign the formulas and controls consistently before using the forecast.

                  Can this forecast identify the exact date cash reaches the reserve?

                  No. It uses month-end totals and identifies the first affected month. Estimating a specific date requires a daily forecast with expected collection and payment dates.

                  Is net cash flow the same as accounting profit?

                  No. Net cash flow reflects when money is expected to enter or leave the bank account. Accounting profit can include revenue not yet collected and expenses not yet paid.