We’ve received numerous requests over the years for a Self Storage Development Model in Excel. With strong investment and development activity in this niche property type, I recognize a self storage model on A.CRE is long overdue. But with so many other projects on our plates and limited experience with self storage, we just hadn’t found the time. That changed late last year.

Since sharing this model, we’ve made several updates. Included in those updates are various bug fixes as well as enhancements. Two enhancements are worth mentioning. The model now includes a simple vs. detailed lease-up module to help you model your lease-up schedule with more precision. We’ve also added a simple vs. detailed concessions module, to help you model free rent and other concessions. We continue to update the model as issues arise and as your thoughts and suggestions come in.

Note: This model has been through various updates since its initial launch. Most recently, I added a permanent debt module to allow both merchant build (i.e. build, lease, then sell) and build-to-core (i.e. build, lease, hold) scenarios. Check out the walk-through video below for more details on using this, and other features, of the model.

The Catalyst for the Self Storage Development Model in Excel

This model was really made possible thanks to our A.CRE Apartment Development model. You see, when I built the apartment development model, I deliberately built it in blocks or modules. With the modules largely independent of one another, swapping out one module for another only takes a few hours (rather than days) and in most cases requires minimal changes to the other modules.

So building this self storage development model was relatively simple. I started with the A.CRE Apartment Development model, swapped out the apartment operating cash flow module for the self storage operating cash flow module, and then made a few tweaks to the other modules and summary sections. Finally, I made some updates to the VBA code, cleaned up a few unnecessary named ranges, and the model was complete.

In all, this self storage model only took about 25 hours to build – in contrast to the 200+ hours I’ve spent over the years on the Apartment Development model. And I really like the result – a robust, yet simple and intuitive model for assessing self storage real estate development opportunities.

Includes a self storage operating cash flow module

Basic Objectives – A.CRE Self Storage Development Model

Given that the backbone of the Self Storage Development model is the Apartment Development model, all of the criteria that drove the process remained the same. I wanted the model to be robust – meaning it had to be able to do everything an institutional-quality self storage development model can do, while being simple and intuitive.

The result is a model where 100% of inputs are on one, easy to use tab (i.e. worksheet) – the Underwriting tab. Cash flows are shown immediately to the right of the inputs on the Underwriting tab, and the outcomes are reported on an attractive and printer-friendly Summary tab. The only other tabs are a Versions tab, where changes to the model are listed and a hidden data tab, where data validation lists live.

The Summary tab includes six charts that visualize the results of the analysis.

This model likely still contains errors. If you spot an error, have a feature request, or would like to make a suggestion to improve the model, please let me know.

Overview – A.CRE Self Storage Development Model

The A.CRE Apartment Development Model includes one primary inputs tab, one report tab, one data tab, and a tab to track version changes to the model.

Version Tab (Visible by default)

The model opens initially to this tab so you can see what changes have been made in the most recent version of the model. On this tab you can also find links to model tutorials, guides, support, and other information.

Underwriting Tab (Visible by default)

The Underwriting tab is where all of your primary inputs are entered. The tab is broken up into six sections, built from top to bottom. The sections can be accessed either by scrolling down to each or using the buttons along the top of the screen. The six sections are ‘Description’,  ‘Development’, ‘Operations’, ‘Reversion (Sale)’, ‘Returns’, and ‘Sensitivity’.

Summary Tab (Visible by default)

While the return metrics levered IRR, levered EMx, and Development Spread are shown shown along the top of the Underwriting tab, the bulk of the risk and return metrics are shown/visualized on the Summary tab. The summary tab also includes six charts, a strengths/weaknesses section, a frame to include a picture/map, and a summary of the investment. The Summary tab is meant to be printed, and as such the view mode is set to Print Preview by default.

Annual Cash Flows (Hidden by default)

In version 1.3, we added an Annual Cash Flow report tab. The tab rolls up the monthly cash flows to annual periods, so you can view high-level cash flows on one page. The report is printable. You can access the report by pressing the ‘Show’ toggle on the Summary tab within the Property Cash Flow section.

Data Tab (Hidden by default)

Some basic backend settings are housed in a Data tab. These settings are related to the s-curve development cash flow forecasting module, date and period headers, and may include other settings as the model evolves.

Guides and Tutorials for Using the Self Storage Development Model

Below find a video walk-through of the Self Storage Development model. This video was based on v1.5 of the model, and includes a quick overview of all of the features of this Excel model. Please let us know if you spot any bugs/errors or have a feature request.


This version of the model is only compatible with Excel 2013, Excel 2016, and Excel 365

Download the A.CRE Self Storage Development Model

To make this model accessible to everyone, it is offered on a “Pay What You’re Able” basis with no minimum (enter $0 if you’d like) or maximum (your support helps keep the content coming – typical real estate development models sell for $100 – $300+ per license). Just enter a price together with an email address to send the download link to, and then click ‘Continue’. If you have any questions about our “Pay What You’re Able” program or why we offer our models on this basis, please reach out to either Mike or Spencer.

We regularly update the model (see version notes). Paid contributors to the model receive a new download link via email each time the model is updated.

Version Notes


  • Added link to ‘Best Practices in Real Estate Financial Modeling’ guide for newer users of A.CRE models
  • Misc. updates to placeholder inputs
  • Updated Other Income calculation
    • Now possible to make Other Income variable (or fixed) to occupancy – see Fixed % input cells E95:E98 on Underwriting tab
    • Set Other Income to only begin upon Operations Begin month
  • Added heading label to cells G45:I45
  • Fixed issue where Construction Loan payoff amount was wrong in cases where the Perm. Debt feature is used
  • Added ‘Loan Fee’ input for Perm. Debt (cell F73)
  • Misc. formatting updates


  • Added Permanent Debt Module
    • Perm. Debt toggle buttons added to row 68 of Underwriting tab
    • Wrote Perm. Debt Activate and Deactivate VBA macros
    • Added Perm Debt assumptions (rows 70:73 of Underwriting tab)
    • Added Perm Debt funding
    • Added Perm Debt Payoff
    • Added Perm Debt Service and Cash Flow after Financing lines to Operating Cash Flow section
    • Revised Net Cash Flow and Returns section to include Perm Debt cash flows
    • Made loan payoff dynamic in Key Assumptions on Summary tab
  • Fixed Buildable SF metric on Summary tab (I30:I33)
  • Updated various default assumptions


  • Changed ‘Land Size’ label to ‘Land Area (Parcel Size)’
  • Rearranged building SF labels; added ‘Gross Buildable Area’ input to ‘Investment Description’ section
  • Changed FAR calculation to be based on Gross Buildable Area
  • Added SF or M2 Module
    • Drop-down menu in cell I8 to toggle between SF and M2
    • Updated labels to reflect either SF or M2
    • Removed any reference to SF in cell formatting; labels now reference whether cell is SF or M2
  • Added Land Cost per land area metric to row 24 (Land Costs column C)
  • Added capability to model partnership cash flows with one single investor (i.e. no LP or no GP)
  • Misc. formatting enhancements/changes
  • Created video walk-through for this model

***A special thank you to Rob DaRos for his contribution to this round of updates!***


  • Added printable ‘Annual Cash Flow’ report tab (hidden by default); monthly cash flows from Underwriting tab rolled up for reporting purposes
  • Created toggle to hide/show Annual Cash Flow report (see right side of Summary tab – Property Level Cash Flow section)
  • Cleaned up Misc. VBA code
  • Updated IRR formulas to allow for scenarios where there is no cash flow in time 0
  • Fixed Unlevered ROI formula on summary tab; had been dividing by Total Project Cost including financing costs
  • Changed JV waterfall to use Promote assumption rather than ‘Distribution %” assumption (G215:G219, G236:G240 on Underwriting tab)
  • Mill rate metric now included on row 152 of Underwriting tab for Untrended, Trended, and Sale pro formas
  • Added ‘/Unit’ metric to sale proforma (D164:D168 of Underwriting tab)
  • Added Stabilized Value /Unit and /SF (or /M2) metrics to rows 168 and 169 of the Underwriting tab
  • Added conditional formatting in cell E55 of Underwriting tab; now reads ‘Detail —>’ when ‘Variable Rate’ is used
  • Fixed mislabeled header (/Rentable SF instead of /Unit) in rows 53 and 58 of Underwriting tab
  • Misc. formatting fixes/improvements


  • Built module for modeling rent concessions
    • Added ‘Concessions (% of Gross Rent)’ line below Gross Rent
    • Added ‘Simple’ or ‘Detailed’ toggle to select what method to use for modeling the concessions
    • Wrote VBA macros to toggle between Simple and Detailed
    • Added a ‘During Lease Up’ and After Lease Up’ assumption to choose concessions percentage during those phases
    • Added a ‘Concessions %’ line above cash flows; when method type is set to ‘Detailed”, line allows user to manually model concessions % by month
  • Minor update to VBA language for Lease Up Macro
  • Misc. formatting fixes and improvements


  • Removed hidden button from OpEx section, that had been leftover from Apt Dev. Version of model
  • Cleaned up unnecessary VBA code
  • Misc. formatting fixes and improvements

beta v0.1

About the Author: Born and raised in the Northwest United States, Spencer Burton has nearly 20 years of residential and commercial real estate experience. Over his career, he has underwritten $30 billion of commercial real estate at some of the largest institutional real estate firms in the world. He is currently Head of Real Estate Investments and member of the founding team at Stablewood Properties. Spencer holds a BS in International Affairs from Florida State University and a Masters in Real Estate Finance from Cornell University.