Prepared for Steven Morris · SOS production data pulled August 12, 2026 · Focus: trailing 12 months (395 turns) · Benchmark: full history since Dec 2023 (1,117 records, 33 live properties)
31 units have finished make-ready work and sit in "punch requested," a median of 12 days each. Only 3 punch walks have been completed in SOS since go-live; 28 are pending. Either walks are not happening, or they happen off-system and the unit never gets marked ready.
Decide: who owns punch completion at each property, and the SLA after punch is requested.The median pre-leased unit finishes 1 day before the applicant's scheduled move-in. 28% finish after it (19 of 69 measurable; most 1 to 4 days late, worst 43).
Decide: a required buffer (recommend ready 3+ days ahead) with anything inside it treated as an escalation.SOS looks pre-lease up live from ResMan snapshots retained about 130 days. Every pre-lease metric below becomes unmeasurable as snapshots roll off, and no server-side pre-lease KPI is possible today.
Decide: have Amber persist a "first pre-leased date" onto each make-ready. The one build item this report depends on.The 10 severity tags (Bedbugs, Hoarding, Heavy Damage, Smoke, Mold/Water, Pest, Pet, Full Paint, Construction, Eviction/Skip) shipped August 6. Zero tags applied so far.
Decide: make tagging part of the move-out walk standard so complexity-adjusted turn times become reportable.The trailing-12-month story: a stable fall (medians 15 to 21), a December bump, then February 2026, the worst month in the window (median 35 days on the highest volume in the dataset, 43 move-outs) with the hangover tail landing in March (P90 of 85 days). Since April: 21 → 15.5 → 14, a genuine improvement run, and June 2026 is the best fully-settled month in the entire dataset. Read the hatched July/August bars as incomplete, not as 9-day turns; the honest current-state claim is median mid-teens and improving. The walk queue held at 3 to 7 days all year, so the gains are coming from the work phase (21 median work days in February down to 7 in June).
| Move-out month | n | Avg vacant | Med vacant | P90 | Med work | Med walk | Avg cost / turn (n) |
|---|---|---|---|---|---|---|---|
| 2025-08 | 35 | 22.3 | 21 | 38 | 13 | 6 | $424 (32) |
| 2025-09 | 22 | 26.3 | 21.5 | 49 | 15 | 4 | $439 (22) |
| 2025-10 | 26 | 23.1 | 15 | 47 | 15 | 3 | $720 (26) |
| 2025-11 | 21 | 20.1 | 17 | 40 | 15 | 3 | $1,029 (21) |
| 2025-12 | 20 | 27.1 | 24 | 39 | 16.5 | 4 | $496 (20) |
| 2026-01 | 25 | 21.6 | 17 | 45 | 12 | 3 | $444 (24) |
| 2026-02 | 43 | 34.8 | 35 | 56 | 21 | 5 | $1,135 (29) |
| 2026-03 | 42 | 33.9 | 19 | 85 | 14.5 | 6 | $307 (5) |
| 2026-04 | 37 | 24.6 | 21 | 37 | 13 | 7 | – |
| 2026-05 | 36 | 18.2 | 15.5 | 32 | 9.5 | 5.5 | – |
| 2026-06 | 29 | 15.7 | 14 | 24 | 7 | 4 | – |
| 2026-07 * | 19 | 9.4 | 9 | 14 | 5 | 4 | $271 (15) |
| 2026-08 * | 3 | 8.7 | 9 | 11 | 2 | 5 | $384 (2) |
* Cohorts still finishing; only fast turns have closed, so these rows are biased low and will drift up. Cost is average recorded cost per turn, over the turns where cost was captured (n in parentheses): cost entry stopped during the March-to-June system transition and restarted in the native flow in July, so those months reflect capture, not true spend.
Cohort: 182 turns with move-outs since March 12 (where daily snapshots make pre-lease status observable). 108 became pre-leased during the turn, 74 did not. Complexity is identical between groups (median scope weight 9 in both, similar cost), so the speed gap is prioritization, not easier units.
| Days vacant (finished turns) | Pre-leased | Not pre-leased |
|---|---|---|
| 0–7 | 15 | 5 |
| 8–14 | 40 | 9 |
| 15–21 | 17 | 16 |
| 22–30 | 16 | 5 |
| 31+ | 13 | 12 |
| Finished ≤14 days | 55% | 30% |
| Property / unit | Move-out | Pre-leased | Work started | Ready | Pre-lease→ready |
|---|---|---|---|---|---|
| Two Fountains #27 | 04-14 | 04-22 | 04-23 | 04-25 | 3 d |
| Irving #201 | 04-09 | 04-18 | 04-16 | 04-23 | 5 d |
| Kirby Yards #107 | 04-20 | 04-21 | 04-22 | 04-29 | 8 d |
| Burnett Lofts #408 | 04-29 | 04-29 | 04-30 | 05-07 | 8 d |
| Inez #105 | 04-10 | 04-21 | 04-21 | 04-30 | 9 d |
| The Argyle #ARG-706 | 04-30 | 05-01 | 05-07 | 05-11 | 10 d |
| Pavilion #214 | 04-06 | 04-10 | 04-16 | 04-22 | 12 d |
| Crawford Corner #104 | 04-15 | 04-15 | 04-21 | 04-29 | 14 d |
| Beaux House #510 | 04-13 | 04-13 | 05-05 | 05-15 | 32 d |
| Burnett Lofts #107 | 04-06 | 04-29 | 06-25 | 07-15 | 77 d |
The two highlighted rows are the management story: most pre-leased units get a 3-to-14-day response, then a tail nobody catches (Beaux House #510 waited 22 days to start after pre-leasing; Burnett Lofts #107 sat 57 days between pre-lease and work start) because nothing surfaces "pre-leased and not started."
June 2026 move-outs, first 15 finishers, full date chains:
| Property / unit | Move-out | Walk done | Started | Ready | Vacant d | Weight | Pre-leased |
|---|---|---|---|---|---|---|---|
| Lakewood Plaza #2407E | 06-01 | 06-01 | 06-01 | 06-04 | 3 | 8 | 06-01 |
| Irving #204 | 06-10 | 06-16 | 06-17 | 06-17 | 7 | 9 | 06-16 |
| 7Up Lofts #106 | 06-01 | 06-03 | 06-08 | 06-11 | 10 | 9 | – |
| The Argyle #ARG-701 | 06-12 | – | 06-22 | 06-23 | 11 | – | 06-12 |
| Bella Villa #308 | 06-04 | 06-08 | 06-05 | 06-16 | 12 | 9 | 06-04 |
| The Argyle #ARG-406 | 06-13 | 06-25 | 06-24 | 06-26 | 13 | 9 | 06-13 |
| The Argyle #ARG-306 | 06-13 | 06-23 | 06-23 | 06-26 | 13 | 10 | 06-13 |
| Ferguson Flats #107 | 06-01 | 06-09 | 06-17 | 06-18 | 17 | 9 | – |
| Two Fountains #16 | 06-05 | 06-08 | 06-19 | 06-22 | 17 | 9 | 06-09 |
| Parkside Green #107 | 06-07 | 06-11 | 06-17 | 06-24 | 17 | 9 | 06-07 |
| Inez #107 | 06-04 | 06-11 | 06-16 | 06-22 | 18 | 9 | 06-23 |
| Pavilion #103 | 06-01 | 06-02 | 06-02 | 06-22 | 21 | 11 | 06-03 |
| Bella Villa #307 | 06-14 | 06-26 | 06-26 | 07-07 | 23 | 9 | 06-24 |
| Beaux House #400 | 06-01 | 06-05 | 06-16 | 06-24 | 23 | 9 | – |
| The Argyle #ARG-504 | 06-01 | 06-03 | 06-04 | 07-01 | 30 | 9 | 06-12 |
Even in the best settled month the spread runs 3 to 30 days, and the slow tail is dominated by late starts (Beaux House #400: walk done 06-05, work not started until 06-16), not slow work.
Walks are not slow; getting to them is. A 20-minute task with a 5-day queue is a scheduling habit, not a capacity problem.
| Median vacant by month | 2024 | 2025 | 2026 |
|---|---|---|---|
| January | 59 (15) | 15 (28) | 17 (25) |
| February | 36 (3) | 18 (35) | 35 (43) |
| March | 33 (25) | 14 (31) | 19 (42) |
| June | 17 (31) | 24 (34) | 14 (29) |
| July | 18 (36) | 20 (41) | 9* (19) |
| December | 22 (28) | 24 (20) | – |
Verdict: seasonality is real but moderate, and event-driven rather than smooth. Two patterns survive the year-by-year check: a December-through-March winter drag (the work phase itself stretches to a 22-day median in December vs 9 to 11 in summer, consistent with holiday staffing, vendor availability, and weather), and spike months that are weather/volume events rather than calendar constants (February spans 36 / 18 / 35 across the three years). Summer brings more turns but they run fast; winter brings fewer turns that each take longer. The dangerous scenario is a high-volume winter month, which is exactly what February 2026 was. Staffing implication: confirm vendor lineups and parts stock in November, not February.
No true complexity score exists yet. Task scope weight works as a proxy today, and it tracks reality. Trailing 12 months:
| Scope weight tier (T12M) | Turns | Median days vacant | Median cost (coverage) |
|---|---|---|---|
| ≤9 · standard turn (turn key, clean, trash-out, pest) | 212 | 17 | $292 (110) |
| 10–12 · added scope | 131 | 21 | $500 (81) |
| 13+ · heavy turn | 8 | 31.5 | $2,293 (5) |
Full-history benchmark shows the same gradient with more heavy volume: weight 9 runs 16 d / $343 (n=360); 10–12 runs 20 d / $513 (n=344); 13+ runs 36 d / $1,832 (n=43).
Recommended working tiers until tagging matures: Standard · weight ≤9, no red tag Heavy · 10–12 or orange tag Major · 13+ or red tag. That makes the technician leaderboard fair: a tech clearing hoarding units should not lose to one clearing standard turns.
Already built, use today: the property reports tab (current-status KPIs, walk-pending aging, days-vacant distribution, a Pre-Lease Move-Ins at Risk card, oldest-sitting list, per-technician performance) and the supervisory report (portfolio scoreboard, turn times, people, cost, trends, PDF unit summary). Aging thresholds and hold reasons with timestamps are live; a hold deliberately does not stop the vacancy clock.
Gaps to close (route to Amber, none large):