-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
546 lines (535 loc) · 24.4 KB
/
index.html
File metadata and controls
546 lines (535 loc) · 24.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MCDCF - Monte Carlo Discounted Cash Flow</title>
<meta name="description" content="Monte Carlo Discounted Cash Flow (MCDCF) is a tool for property investors to forecast the potential financial performance of their investments.">
<meta name="keywords" content="monte carlo, discounted cash flow, mcdcf, property investment, real estate, financial modeling, investment analysis">
<meta name="author" content="StatSim">
<style>
body {
/* font-family: 'Roboto', sans-serif; */
font-family: monospace;
}
.main {
padding: 16px 0;
margin-left: 260px;
margin-right: 30px;
}
.main-container {
max-width: 1130px;
width: 100%;
margin: 0 auto;
}
.main h1 {
font-weight: 800;
font-size: 36px;
margin-top: 32px;
margin-bottom: 16px;
line-height: 1.2;
}
.main h2 {
font-size: 24px;
margin-top: 32px;
margin-bottom: 5px;
line-height: 1.2;
}
.main h3 {
font-size: 18px;
margin-top: 20px;
margin-bottom: 5px;
line-height: 1.2;
}
.main h2, .main h3, .main h4 {
margin-top: 24px;
}
.main p {
font-size: 14px;
line-height: 1.5;
margin-top: 10px;
}
.main ul {
margin-top: 10px;
margin-bottom: 10px;
padding: 0;
line-height: 1.5;
}
.main ul li {
font-size: 14px;
line-height: 1.5;
margin-top: 5px;
margin-left: 20px;
padding-left: 5px;
}
.main ul li strong {
background-color: #e7e7e7;
padding: 2px 4px;
}
.main pre {
background-color: #e7e7e7;
padding: 10px;
font-size: 12px;
line-height: 1.1;
}
/* blinking */
@keyframes blink {
0% {
opacity: 1;
}
50% {
opacity: 0;
}
100% {
opacity: 1;
}
}
#loader {
height: 387px;
display: flex;
justify-content: center;
align-items: center;
}
#loader p {
animation: blink 1s infinite;
}
#app {
display: none;
}
small {
font-size: 12px !important;
color: #666;
line-height: 1.1;
letter-spacing: 0.5px;
/* change font spacing */
}
@media print {
.no-print {
display: none !important;
}
.print-only {
display: block !important;
}
}
@media screen and (max-width: 1279px) {
.main {
margin-left: 30px;
}
}
</style>
</head>
<body>
<div id="app"></div>
<div class="main no-print">
<div class="main-container">
<div id="loader">
<p>Loading...</p>
</div>
<h1>Monte Carlo Discounted Cash Flow <span style="font-weight: 200">(MCDCF)</span></h1>
<small>
Download bundled offline version from: <a href="https://github.com/statsim/mcdcf/releases">https://github.com/statsim/mcdcf/releases</a>
</small>
<h2>Overview</h2>
<p>
The Monte Carlo Discounted Cash Flow (MCDCF) tool is a simulation‐based financial model designed for property investment analysis. It uses Monte Carlo techniques to create a distribution of possible future cash flows and performance metrics over the investment period. By integrating uncertainty in economic factors, property specifics, and operational variables, the tool computes key outputs such as Net Present Value (NPV), Internal Rate of Return (IRR), Before-Tax Cash Flow (BTCF), and After-Tax Cash Flow (ATCF). Users may choose between classical (deterministic) scenarios and probabilistic Monte Carlo simulations by adjusting the input parameters.
</p>
<h2>Real Estate Financial Modeling</h2>
<p>
Making a real estate investment involves uncertainty. Market conditions, economic factors, and property-specific costs can change over time, and predicting these changes can be challenging. Many investors struggle to understand how variables like inflation, economic growth, and interest rates might affect the performance of their investments.
</p>
<p>
This application solves the problem by using Monte Carlo simulations to model a wide range of possible future scenarios. It provides you with a probabilistic forecast of your investment's performance, showing potential outcomes rather than a single deterministic forecast. With this tool, you can better gauge the risks and rewards associated with a property, helping you to plan and strategize more effectively.
</p>
<h2>Main Components</h2>
<h3>Economic and Model Parameters</h3>
<p>
This block sets the simulation settings and global economic assumptions. It defines the time interval for each simulation step, the total number of steps, the number of samples (simulation runs), and the precision of the outputs.
</p>
<ul>
<li><strong>Economic Growth</strong>: Specifies growth rate of the economy which can be used to model rental growth across multiple income streams.</li>
<li><strong>Inflation</strong>: Defines inflation and its growth. Can be used to adjust income and expense items over time.</li>
<li><strong>Discount Rate</strong>: Rate used to discount future cash flows back to their present value.</li>
</ul>
<p>
Each income and expense item can be set to grow at a <strong>custom rate</strong>, follow global growth rate (i.e. inflation), or remain fixed.
For each economic variable (economic growth, inflation, discount rate), you can choose:</p>
<ul>
<li><strong>Fixed</strong>: A constant rate that remains unchanged throughout the simulation.</li>
<li><strong>Sample</strong>: A distribution of possible values that the variable might take eachh simulation step.</li>
<li><strong>Sample Once</strong>: A single value that is randomly selected at the beginning of the simulation and remains constant thereafter.</li>
<li><strong>Tabular</strong>: A custom table of values that the variable follows over time.</li>
</ul>
<h3>Property Details</h3>
<p>
Specific details about the property itself. These inputs are essential for calculating the financial dynamics of your investment:
</p>
<ul>
<li><strong>Property Name</strong>: Identify the property.</li>
<li><strong>Debt</strong>: Enter the debt amount, term, and <b>annual</b> interest rate to calculate the periodic debt service. You can also select ammortization interval (monthly or annually).</li>
<li><strong>Purchase</strong> and <strong>Sale</strong>: Input the purchase price, associated costs, sale price, and sale expenses to evaluate overall profitability.</li>
</ul>
<h3>Income Items <span style="font-weight: 100;">(Rent and Other Revenue)</span></h3>
<p>Income items represent revenue streams from the property. For each income item, you specify:</p>
<ul>
<li><strong>Description</strong>: A brief title or name for the income source.</li>
<li><strong>Amount</strong>: The base revenue generated per period.</li>
<li><strong>Units and Occupancy</strong>: The number of revenue-generating units and the percentage of those units that are occupied.</li>
<li><strong>Interval</strong>: The frequency of updates for the income stream.</li>
<li><strong>Active Status</strong>: Toggle whether the income stream is currently active, affecting its visibility and weight in the simulation.</li>
</ul>
<p>For both amount and occupancy you can specify a growth rate clicking arrow button on the right side of the input field.</p>
<ul>
<li><strong>Amount Growth</strong>: The growth rate of the income item. Can be <b>Fixed</b>, <b>Sample-based</b>, <b>Random Walk</b>, <b>Tabular</b> or tied to <b>Inflation</b>.</li>
<li><strong>Occupancy Growth</strong>: The growth rate of the occupancy. Can be <b>Fixed</b>, <b>Sample-based</b>, <b>Random Walk</b>, <b>Tabular</b> or tied to <b>Economic Growth</b>.</li>
</ul>
<h3>Expense Items</h3>
<p>
Expenses are divided into two categories: <b>Operating Expenses</b> and <b>Capital Expenses</b>. Operating expenses are recurring costs associated with the property's day-to-day operations, while capital expenses are one-time costs that improve the property's value. For each expense item, you input:
</p>
<ul>
<li><strong>Description:</strong> A brief description of the expense.</li>
<li><strong>Amount:</strong> The cost per period, which can be an absolute value or a percentage relative to a target income source.</li>
<li><strong>Type and Target:</strong> Specify whether the expense is an absolute cost or relative to income, and if relative, define the target (for example, Gross Income).</li>
<li><strong>Growth Settings:</strong> Like income, set the growth type and frequency for expense changes over time.</li>
<li><strong>Active Status:</strong> Enable or disable the expense, which visually adjusts the row opacity in the data table.</li>
</ul>
<h3>Taxes</h3>
<p>
Tax settings allow you to define the tax rate and the method of calculation.
</p>
<ul>
<li><strong>Depreciation</strong>: Controls how the property's depreciable basis is allocated over time
<ul>
<li><b>Depreciation Amount</b>: Represents the depreciation rate or portion of the property's basis that can be depreciated on an annual basis. In many tax systems, only a specific percentage (or a portion) of the building's cost can be written off each year.</li>
<li><b>Recovery Period</b>: Specifies the total number of years over which the property is depreciated. For residential real estate in the US, this often defaults to 27.5 years; for commercial, it may be 39 years (or another value, depending on local regulations).</li>
</ul>
</li>
<li><strong>Disposition Taxes</strong>: This block deals with taxes incurred when the property is sold
<ul>
<li><b>Capital Gains Tax Rate</b>: The tax rate applied to any capital gain realized upon selling the property—generally the difference between the net sale price and the adjusted basis (purchase price plus improvements minus depreciation).</li>
<li><b>Recapture Tax Rate</b>: A specific rate that applies to the portion of gains attributed to previously taken depreciation. Upon sale, tax authorities often “recapture” part of the depreciation benefit at this separate rate. </li>
</ul>
</li>
<li><strong>Marginal Taxes</strong>: This block sets the ongoing income tax rate
<ul>
<li><b>Marginal Tax Rate</b>: The ordinary income tax rate that applies to the property's taxable income each period (e.g., monthly or yearly). In other words, it is the top bracket or effective rate used to calculate income taxes on the property's net operating income (after expenses, but before capital gains events)</li>
</ul>
</li>
</ul>
<h2>Outputs and Reporting</h2>
<h3>Simulated Financial Projections</h3>
<p>
Once you have provided all inputs, the tool runs a series of Monte Carlo simulations. It calculates monthly values for:
</p>
<ul>
<li><strong>Effective Gross Income and Operating Expenses:</strong> Combined to determine the net operating income (NOI).</li>
<li><strong>Debt Service:</strong> Tracking both principal and interest components of your debt repayments.</li>
<li><strong>Cash Flows:</strong> Both before-tax (BTCF) and after-tax (ATCF) cash flows over the entire holding period.</li>
<li><strong>Internal Rate of Return (IRR):</strong> Annualized returns that reflect the investment’s performance under various scenarios.</li>
</ul>
<h3>Optimized for PDF export</h3>
<p>Press <strong>Ctrl+P</strong> to print the report or save as PDF. The tool is optimized for PDF export, so you can easily save your project for future reference or share it with others. You can make significant adjustments on that page too.</p>
<h2>Sharing</h2>
<h3>Share Your Project via URL</h3>
<p>
One of the features of the application is the ability to share your entire project configuration via a unique URL. When you click the "Copy Link" button, the tool compresses all your input data into a URL parameter. Recipients who open the URL will see your saved settings and simulation results without any additional setup. No servers involved on our side. Full project is encoded in the URL itself.
</p>
<h3>Import/Export uncompressed JSON config</h3>
<p>
You can also export and import your project configuration as a JSON file in <strong>Import/Export</strong> section. This feature is useful for saving your work locally or pasting outputs from LLMs. The JSON file contains all the input data and settings, allowing you to pick up where you left off at any time.
</p>
<h2>Examples for LLMs</h2>
<p>
Include following text blocks in your chats with large language models (LLMs) to make them generate MCDCF projects:
</p>
<h3>Full example:</h3>
<pre>
{
"model": {
"interval": "Year",
"steps": 10,
"samples": 1,
"precision": 2,
"economic_growth": {
"active": true,
"type": "Fixed",
"initial": 2.314552484901538,
"interval": "Year"
},
"inflation": {
"active": true,
"type": "Fixed",
"initial": 9.91444696610541,
"interval": "Year"
},
"discount_rate": {
"active": true,
"type": "Fixed",
"initial": 7.397029901537655,
"interval": "Year"
}
},
"property": {
"name": "Downtown Office Complex",
"debt": {
"amount": 2000000,
"term": 20,
"rate": 4.5,
"interval": "Month"
},
"purchase": {
"price": 3000000,
"costs": 150000
},
"sale": {
"price": "4000000",
"costs": 200000
}
},
"income": {
"items": [
{
"id": 1,
"description": "Office Rental Income",
"active": true,
"amount": 25000,
"units": 10,
"occupancy": 90,
"interval": "Year",
"amount_growth": {
"type": "Inflation",
"initial": 2,
"interval": "Year",
"target_values": [],
"growth_values": [],
"factor": "1"
},
"occupancy_growth": {
"type": "Fixed",
"initial": 0,
"interval": "Year",
"target_values": [],
"growth_values": []
}
}
]
},
"expenses": {
"items": [
{
"id": 1,
"description": "Property Management Fee",
"active": true,
"amount": 0.05,
"type": "Relative",
"target": "Gross Income",
"interval": "Month",
"amount_growth": {
"type": "Fixed",
"initial": 0,
"interval": "Year",
"target_values": [],
"growth_values": []
}
},
{
"id": 2,
"description": "Maintenance Expense",
"active": true,
"amount": 5000,
"type": "Absolute",
"target": "",
"interval": "Month",
"amount_growth": {
"type": "Fixed",
"initial": 1,
"interval": "Year",
"target_values": [],
"growth_values": []
}
}
]
},
"capex": {
"items": [
{
"id": 1,
"description": "Major Renovation",
"active": false,
"amount": 300000,
"type": "Absolute",
"target": "",
"interval": "Year",
"amount_growth": {
"type": "Fixed",
"initial": 0,
"interval": "Year",
"target_values": [],
"growth_values": []
}
}
]
},
"taxes": {
"depreciation": {
"amount": 3.5,
"period": 27.5
},
"marginal_tax_rate": 35,
"capital_gains_tax_rate": 20,
"recapture_tax_rate": 25
}
}
</pre>
<h2>Model</h2>
<p>
Defines how the simulation is run (time steps, number of samples, precision). Sets the behavior of economic variables (economic growth, inflation, and discount rate). Each variable can be fixed (deterministic) or configured to vary stochastically (e.g., random walk, sample-based).
</p>
<h3>Key Fields</h3>
<ul>
<li><strong>interval</strong>: The size of each simulation step (Year, Quarter, Month).</li>
<li><strong>steps</strong>: How many steps to simulate (e.g., 10 years).</li>
<li><strong>samples</strong>: Number of simulation runs. 1 means classical (no Monte Carlo).</li>
<li><strong>precision</strong>: Decimal places for results.</li>
<li><strong>economic_growth / inflation / discount_rate</strong>:
<ul>
<li><strong>active</strong>: Whether this variable is used in the model.</li>
<li><strong>type</strong>: Growth type (Fixed, Random Walk, Sample, Tabular, etc.).</li>
<li><strong>initial</strong>: Starting rate or value.</li>
<li><strong>interval</strong>: How often the rate updates (Year, Quarter, etc.).</li>
</ul>
</li>
</ul>
<h3>Possible Variations</h3>
<ul>
<li>Monte Carlo: Increase samples above 1 and set the type of a variable to Random Walk or Sample, adding fields like mean, std, and df.</li>
<li>Tabular: Provide a step-by-step sequence in <em>growth_values</em> for inflation or other variables.</li>
<li>Shorter/Longer Horizons: Change steps to model fewer or more periods.</li>
</ul>
<h2>Property</h2>
<p>
Contains property-level details: identification, financing (debt), purchase, and sale information. Helps compute debt service and net proceeds at sale.
</p>
<h3>Key Fields</h3>
<ul>
<li><strong>name</strong>: A label for the property (e.g., "Downtown Office Complex").</li>
<li><strong>debt</strong>:
<ul>
<li><strong>amount</strong>: Principal borrowed.</li>
<li><strong>term</strong>: Loan term in years.</li>
<li><strong>rate</strong>: Annual interest rate.</li>
<li><strong>interval</strong>: Payment interval (Month, Year, etc.).</li>
</ul>
</li>
<li><strong>purchase</strong>:
<ul>
<li><strong>price</strong>: Acquisition cost.</li>
<li><strong>costs</strong>: Additional fees or closing costs.</li>
</ul>
</li>
<li><strong>sale</strong>:
<ul>
<li><strong>price</strong>: Anticipated sale price (can be numeric or string).</li>
<li><strong>costs</strong>: Selling costs.</li>
</ul>
</li>
</ul>
<h3>Possible Variations</h3>
<ul>
<li>Cash Purchase: Set <em>debt.amount</em> to 0 if no financing is involved.</li>
<li>Shorter Loan: Decrease <em>debt.term</em> or increase <em>rate</em>.</li>
<li>Larger/Smaller Deal: Adjust <em>purchase.price</em> and <em>sale.price</em> to reflect bigger or smaller transactions.</li>
</ul>
<h2>Income</h2>
<p>
Describes one or more revenue streams from the property (e.g., rent, parking fees). Each item can have its own base amount, growth settings, and occupancy.
</p>
<h3>Key Fields</h3>
<ul>
<li><strong>description</strong>: Short label for the income source.</li>
<li><strong>amount</strong>: Base revenue per interval (e.g., $25,000/year).</li>
<li><strong>units</strong>: Number of revenue-generating units (e.g., 10 office suites).</li>
<li><strong>occupancy</strong>: Percentage of units occupied.</li>
<li><strong>interval</strong>: Frequency of the income calculation (Month, Quarter, Year).</li>
<li><strong>amount_growth</strong> and <strong>occupancy_growth</strong>:
<ul>
<li><strong>type</strong>: Growth approach (Inflation, Fixed, Random Walk, etc.).</li>
<li><strong>initial</strong>: Starting growth rate or offset.</li>
<li><strong>interval</strong>: Update frequency for growth.</li>
<li><strong>target_values</strong>/<strong>growth_values</strong>: Used if the type is Tabular.</li>
</ul>
</li>
<li><strong>Active Status</strong>: Toggle whether the income stream is currently active, affecting its visibility and weight in the simulation.</li>
</ul>
<p>
For both amount and occupancy you can specify a growth rate by clicking the arrow button on the right side of the input field.
</p>
<ul>
<li><strong>Amount Growth</strong>: The growth rate of the income item. Can be <b>Fixed</b>, <b>Sample-based</b>, <b>Random Walk</b>, <b>Tabular</b> or tied to <b>Inflation</b>.</li>
<li><strong>Occupancy Growth</strong>: The growth rate of the occupancy. Can be <b>Fixed</b>, <b>Sample-based</b>, <b>Random Walk</b>, <b>Tabular</b> or tied to <b>Economic Growth</b>.</li>
</ul>
<h3>Possible Variations</h3>
<ul>
<li>Seasonal Occupancy: Use Tabular for <em>occupancy_growth</em>.</li>
<li>Randomized Rent Growth: Switch <em>amount_growth.type</em> to Sample or Random Walk and specify mean, std.</li>
<li>Multiple Income Sources: Add more items with unique descriptions and amounts.</li>
</ul>
<h2>Expenses</h2>
<p>
Outlines operational costs of the property. Each expense can be absolute (fixed dollar) or relative (percentage of a target like Gross Income). Growth can be modeled similarly to income items.
</p>
<h3>Key Fields</h3>
<ul>
<li><strong>description</strong>: A brief description of the expense.</li>
<li><strong>amount</strong>: The cost per period, which can be an absolute value or a percentage if the type is Relative.</li>
<li><strong>type and target</strong>: Specify whether the expense is an absolute cost or relative to income, and if relative, define the target (for example, Gross Income).</li>
<li><strong>interval</strong>: How frequently the expense is calculated.</li>
<li><strong>amount_growth</strong>: Growth model for this expense.</li>
<li><strong>Active Status</strong>: Enable or disable the expense, which visually adjusts the row opacity in the data table.</li>
</ul>
<h3>Possible Variations</h3>
<ul>
<li>Inflation-Linked Costs: Set <em>amount_growth.type</em> to <b>Inflation</b>.</li>
<li>Stochastic Expenses: Use <b>Random Walk</b> or <b>Sample</b> to simulate uncertain costs.</li>
<li>Relative to Net Operating Income: Change <em>target</em> to <b>Net Operating Income</b> for some expenses.</li>
</ul>
<h2>Capex</h2>
<p>
Represents capital expenditures (major improvements or renovations). These costs are treated separately from operating expenses and are often excluded from Net Operating Income (NOI).
</p>
<h3>Key Fields</h3>
<ul>
<li><strong>amount</strong>: The cost of the capital project.</li>
<li><strong>type</strong>: Usually "Absolute", though relative capex is possible.</li>
<li><strong>interval</strong>: The period in which this expenditure occurs or is updated.</li>
<li><strong>amount_growth</strong>: If capex is expected to change over time or if multiple capex outlays occur.</li>
</ul>
<h3>Possible Variations</h3>
<ul>
<li>Planned Upgrades: Set active to true for a specific year, or use Tabular if the cost is phased over multiple steps.</li>
<li>Stochastic Renovation Cost: Switch <em>amount_growth.type</em> to <b>Random Walk</b> or <b>Sample</b>.</li>
</ul>
<h2>Taxes</h2>
<p>
Tax settings allow you to define the tax rate and the method of calculation. These settings apply during both the holding period (marginal tax on income) and at disposition (capital gains and depreciation recapture).
</p>
<h3>Key Fields</h3>
<ul>
<li><strong>depreciation.amount</strong>: Annual percentage of the property basis that is depreciable.</li>
<li><strong>depreciation.period</strong>: Recovery period in years.</li>
<li><strong>marginal_tax_rate</strong>: Rate applied to ongoing taxable income.</li>
<li><strong>capital_gains_tax_rate</strong>: Rate applied to the capital gain at sale.</li>
<li><strong>recapture_tax_rate</strong>: Rate for recapturing depreciation at sale.</li>
</ul>
<h3>Possible Variations</h3>
<ul>
<li>No Depreciation: Set <em>depreciation.amount</em> to 0.</li>
<li>Different Tax Regimes: Adjust <em>marginal_tax_rate</em>, <em>capital_gains_tax_rate</em>, and <em>recapture_tax_rate</em> to reflect local tax laws.</li>
<li>Shorter Depreciation Period: Lower <em>depreciation.period</em> if local rules allow accelerated depreciation.</li>
</ul>
</div>
</div>
<script type="module" src="/src/main.js"></script>
</body>
</html>