vv0.2.100
Intermediate tutorial

Adjusting Your Cost-Seg Estimate for a High-End Finish Property

How the finish_level field changes your 5-year allocation, why per-item upgrades get scaled to 30%, and how to model a luxury rental without double-counting.

Adjusting Your Cost-Seg Estimate for a High-End Finish Property

This tutorial covers a single mechanic: how the finish_level field interacts with per-item upgrade flags inside the calculator, and why a luxury single-family rental does not get a luxury-times-luxury bump. The behavior matters because the calculator is screening for whether a full engineering deliverable would clear the typical $5,000 year-1 federal tax effect floor, and double-counting upgrades is the single most common way a screening number drifts away from what an actual study would conclude.

The two axes the calculator reads

The questionnaire collects upgrades along two axes that overlap. The first axis is per-item — the property owner ticks "custom cabinets," "granite counters," "glass shower," "gas fireplace," each adding its own bump (0.1%–0.5%) to the 5-year personal-property bucket per IRS Pub 946, Table B-1. The second axis is finish_level, a single dropdown with three values: builder, mid-range, high-end. The high-end value adds a 3% bump to the 5-year bucket; mid-range adds 1%.

A real engineering study sees one set of upgrades in the field, not "high-end finish" plus each component listed independently. To prevent inflation, the engine scales per-item bumps that overlap with the finish bracket — custom-cabinets, granite-quartz, flooring-hardwood, glass-shower, chandeliers, crown-molding, fireplace-gas, etc. — down to 30% of their table value whenever finish_level is set to mid-range or high-end. The set lives in FINISH_DOUBLE_DIP_KEYS in cost_seg/constants.py.

What changes when a property owner picks "high-end"

A property where the owner enters builder-grade with five line-item upgrades produces a different 5-year allocation than the same property entered as high-end with the same five line items. The high-end version applies the 3% finish bump and discounts the line items to 30%; the builder version keeps the line items at 100% and adds no global bump. For a property loaded with overlapping upgrades the high-end path tends to land slightly higher, but the gap is far smaller than it would be without the double-dip resolution.

Per-item bumps that do not scale down are the truly additive ones — security system, built-in speakers, smart lighting, recessed-light counts, and bathroom-count-scaled fixtures. Those represent equipment that an engineering study would inventory whether or not the property is otherwise builder-grade.

Worked example — $700,000 STR, high-end finish

A property owner buys a short-term rental in March 2026 for $700,000 with $140,000 allocated to land, leaving $560,000 of depreciable basis. The base STR allocation is 13% / 1% / 8% per BASE_PERCENTAGES in constants.py. The owner enters finish_level=high-end and ticks custom cabinets, granite, hardwood floors, glass shower, gas fireplace, chandeliers.

Without the double-dip resolution, the per-item bumps would total roughly 1.9% on top of the 3% finish bump for an extra 4.9% on the 5-year bucket. With the resolution: per-item bumps scale to 30% (≈0.6%), plus the 3% finish bump = 3.6% added to the 13% base = 16.6% of basis on 5-year property. On $560,000, that is roughly $93,000 of 5-year personal property versus $109,000 under the inflated path. The finish-bracket label is doing most of the work, which is exactly what an engineering study would conclude.

At 100% bonus depreciation in 2026 (OBBBA permanent rate per IRC §168(k)(6)) and a 32% federal bracket, the year-1 effect on that 5-year slice alone moves from roughly $35,000 in tax under the inflated model to roughly $30,000 under the calibrated path. That is the order of magnitude the screening tool is designed to surface honestly.

Try a high-end STR estimate →

When to enter "mid-range" instead

The mid-range value carries a 1% finish bump rather than 3%, with the same 30% scaling on overlapping per-item flags. Property owners who installed quartz counters and luxury vinyl plank but kept builder-grade cabinetry and standard lighting are typically a mid-range entry, not high-end. Engineering deliverables follow the same gradient — Pub 946 Table B-1 does not award the same allocation to a Class B finish that it does to a true Class A residence.

The builder value applies no global finish bump and lets per-item flags pass through at their table value. A property where the only "upgrade" is a single tile backsplash and a security system reads as builder; the line items deserve their full ~0.4% combined bump because there is no global finish position absorbing them.

How to think about an entry that the tool labels "above threshold"

A "high-end" entry that produces a year-1 estimate above the $5,000 screening floor reflects two things: the higher base STR allocation and a modest finish premium. It does not reflect a guaranteed engineering outcome. A real cost segregation study uses on-site inspection, original construction documents, and asset-level cost detail (RS Means or vendor invoices) to assign basis — a screening calculator using questionnaire categoricals will diverge from a study by 10%–25% in either direction.

Compare a builder vs. high-end entry on the same property →

Citations

Disclaimer. This tutorial describes general federal tax concepts. TaxProtestTx (Nought Labs LLC) is a feasibility-screening tool, not tax advice or a cost segregation study. Calculator output cannot be relied on under Treasury Circular 230. Consult a qualified CPA, EA, or attorney before filing. Results are not guaranteed.

Try it on your property

Open the calculator
Disclaimer. This page describes general federal tax concepts. TaxProtestTx (Nought Labs LLC) is a feasibility-screening tool, not tax advice or a cost segregation study. The calculator output cannot be relied on under Treasury Circular 230. Consult a qualified CPA, EA, or attorney before filing. Results are not guaranteed.