Dwellsy IQ

Methodology Documentation

How we measure property managers.

Outside-in performance intelligence on property management operators. Methodology v0.8 · Design v2.0 · Aug 20, 2026 · 44 covered markets.

v0.8·Design v2.0·Aug 20, 2026·Bakersfield · Baltimore · Birmingham · Boulder · Bozeman · Charlotte · Chattanooga · Chicago · Cincinnati · Clarksville · Cleveland · Columbus · Dallas-Fort Worth · Denver · Detroit · Fort Collins · Fort Wayne · Fresno · Houston · Huntsville · Indianapolis · Jacksonville · Kansas City · Knoxville · Los Angeles · Louisville · Memphis · Milwaukee · Minneapolis · Modesto · Montgomery · Nashville · Orlando · Phoenix · Pittsburgh · Richmond · Sacramento · San Antonio · San Francisco · San Jose · Seattle · St. Louis · Stockton · Visalia

Download PDF

Section 01

Inclusion criteria.

How a property manager qualifies for an Operator IQ scorecard.

Every operator in our coverage markets is evaluated against two eligibility tests before a scorecard is produced. The tests are designed to filter single-rental owners and one-off listings while admitting operators with meaningful market presence.

A property manager qualifies if both of the following are true:

  1. At least 30 listings observed in the trailing 12 months (anchored to our data refresh date for the market).
  2. At least three distinct addresses or at least one community where we observe thirty or more distinct units in the trailing 12 months.

The two-pronged second test admits both scattered-site operators (who hit the diversity threshold through breadth) and single-asset multifamily operators (who hit it through depth at a single community).

Three operator states.

Clearing the two tests above is not the whole story. An operator can qualify on size and still have stopped appearing in our listing data — and those two facts deserve different treatment. Every operator we observe therefore sits in exactly one of three states.

StateWhat it meansHow it appears
RankedClears both eligibility tests and has listing activity inside the recency window.Scorecard, ranked lists, and a seat in every cohort baseline.
DormantClears both eligibility tests and has a real 12-month record, but no listing event — creation or deactivation — inside the recency window.Scorecard, labeled Dormant with the date of the last listing we observed. Held out of ranked lists and cohort baselines; reachable behind a toggle on the market page.
Not eligibleFalls short on listing count or address diversity, or is removed by a category exclusion (below).No scorecard.

The recency window is 60 days, measured from the market's data refresh date. It is judged at the operator-name level, aggregating the newest event across the id fragments an operator churns through over time (see §07), so an operator that is still listing is never called dormant on the strength of one stale fragment.

What dormant does and does not claim. It is a statement about our listing record, not about the business. We can see that an operator stopped posting listings with us on a particular date; we cannot see why. A portfolio may have changed hands, syndication may have moved elsewhere, or the operator may simply be between lease-ups. So we report the observed fact — the date of the last listing we saw — and stop there.

Why they are held out of the baselines. A dormant operator's twelve-month window ended whenever their listings did, so ranking it against operators whose window ends today compares two different things. Dormant operators are still scored against the ranked cohort — their metrics and stars are computed on the same scale — but they are not membersof it, and they are absent from every median, percentile, and eligible-operator count. That separation is what makes the state purely additive: no ranked operator's numbers move because some other operator went quiet.

Earlier versions of this methodology deleted these operators outright. That silently discarded real market presence — in one market, an operator carrying more than four thousand listings in the trailing year simply vanished from the answer to “who operates at scale here?” Keeping them visible and clearly labeled is more useful than pretending we never saw them.

Earlier methodology versions labeled this window “T6M” on the market headline tile, which was a labeling drift; the actual eligibility filter has always been T12 in production. v0.6.3 (Patch 2) corrects the surfaced label so it matches the underlying computation. No operator gains or loses eligibility from the relabel.

Category exclusions.

Two filters remove non-operators before any operator is formed. First, listings whose source company type is a data-platform artifact — property-management marketing software or listing-syndication services — are dropped at the row level; they never become an operator, a scorecard, a search result, or a market count. Second, a small curated denylistcatches source-misclassified artifacts that slip past the type filter — for example, a listing-syndication platform mislabeled as an “Owner” in the source data that would otherwise top a market. The denylist is deliberately narrow, reviewed as a code change, and surfaced read-only in our admin tooling. These are the exclusion rules the earlier methodology promised to document once they existed.

Broker vs. property manager.

We type each operator as a property manager or a brokerfrom the source company-type signal — a majority vote across the operator's listings, with the parent company's type taking precedence. Brokers are tracked and scored, but within their own cohort: a property manager is only ever ranked against other property managers, and a broker only against other brokers (the rent-performance baseline is likewise split), and brokers are hidden from the default ranked lists behind a “show brokers” toggle.

Because some franchise operators — notably Real Property Management offices — hold brokerage licenses and are tagged “Brokerage” at the source despite operating as property managers, a small curated override reassigns those specific operators to the property-manager cohort. The override is keyed on the operator's name, so it survives the source re-issuing new internal ids.

Section 02

Unit identity (URU).

Each rental property on Dwellsy is resolved to a Unique Rentable Unit before any analysis runs.

The URU is the four-level hierarchy Dwellsy assigns: building or community → address → unit → room/bed. All metrics in this scorecard operate on the unit level (the third tier), aggregated up to the operator's full portfolio.

URU resolution happens upstream of this scorecard in Dwellsy's core data infrastructure. The scorecard consumes resolved URUs as inputs — it does not derive them.

Section 03

Operator classification.

We classify every operator on two independent axes — operator type and scale — combining into a 7-cell taxonomy as of v0.6.2.

Operator typemeasures how the operator's portfolio is organized — whether their units are concentrated in multi-unit communities (multifamily buildings, build-to-rent communities, condo developments) or distributed across individually-managed single-family rentals. v0.6.2 refines the v0.6.1 three-way split into a four-way axis by splitting MF/BTR by median community size.

We group the operator's portfolio by community and count distinct units the operator manages at each community. A community is concentrated if the operator manages 10 or more units there. From that:

  • SFR (Scattered) — concentrated share < 30%.
  • Small MF/BTR — concentrated share ≥ 70% AND median concentrated community size 10–49 units.
  • Large MF/BTR — concentrated share ≥ 70% AND median concentrated community size ≥ 50 units.
  • Hybrid — concentrated share between 30% and 70% (no scale split).

Formula · operator type

concentrated_share = Σ urus in ≥10-unit communities / total urus

Unit-type override (applied first).Concentrated share alone conflates “scattered” with “single-family.” An operator running apartments spread across many small buildings can look Scattered by concentration even though they are plainly a multifamily operator. To correct this we compute each operator's house share — observed house-type units divided by house-plus-apartment units — and when it is ≤ 10% (essentially all apartments) we classify the operator as MF/BTR regardless of concentrated share. The Small-vs-Large split then follows the same median concentrated community-size rule (≥ 50 units → Large, otherwise Small). This override runs before the concentrated-share bands above; only operators that are not apartment-dominant are classified by concentrated share. About a third of eligible operators carry the override.

Formula · apartment-dominant override

house_share = house urus / (house urus + apartment urus) · if 0.10 MF/BTR

Why the Small vs Large MF/BTR split. MF/BTR community size is a structural distinction. A 200-unit Class A operator has a different risk profile and different operating profile than an operator running 8-unit walk-up small MF. The v0.6.1 five-cell taxonomy collapsed these into one MF/BTR bucket; v0.6.2 makes the distinction visible.

Scale(Institutional vs Independent) measures the operator's footprint. An operator is Institutional if they manage 500 or more distinct units across all Operator IQ coverage markets in the trailing 12 months, Independent otherwise. The 500-unit threshold is a judgment call; in practice it cleanly separates names that operate at scale requiring institutional capital structures from established local and regional operators.

Scale classification considers an operator's observed presence across all Operator IQ coverage markets, not just the market in which a given scorecard is published. Operators are Institutional if their combined trailing-12-month observed units across all our covered markets meet or exceed 500. This rule lets us recognize national operators whose footprint in any single market falls below the threshold but whose cross-market scale is substantial. The Hybrid bucket does not carry a scale split — a Hybrid operator is simply Hybrid regardless of cross-market urus.

SFR · Independent

SFR Independent

Owner-operator scattered SFR books. Typical local property manager working a single MSA with concentrated share under 30%.

Sample operators · Ampere PM, Doorby PM, HomeRiver Group

SFR · Institutional

SFR Institutional

Geographically distributed SFR books large enough to operate at institutional scale (500+ urus across all Operator IQ markets).

Sample operators · Progress Residential, Tricon Residential, Invitation Homes

Small MF/BTR · Independent

Small MF/BTR Independent

Owner-operator concentrated portfolios with median community size 10–49 units. Often family- or partnership-owned walk-ups.

Sample operators · WRH Realty Services, Duke Properties, Schweb Partners

Small MF/BTR · Institutional

Small MF/BTR Institutional

Smaller MF/BTR portfolios that meet the 500-uru cross-market scale threshold. Rare cell — fewer than 5 operators in the v0.6.2 footprint.

Sample operators · ResProp, Asset Living, Optivo Group

Large MF/BTR · Independent

Large MF/BTR Independent

Owner-operator multifamily with median community size 50+ units. Concentrated share above 70% but cross-market scale below 500 urus.

Sample operators · Brookside Properties, ARIUM Living, Link Real Estate Group

Large MF/BTR · Institutional

Large MF/BTR Institutional

200+ unit communities operated at national scale. Carries the largest absolute urus per operator across the 7-cell taxonomy.

Sample operators · Mission Rock Residential, Bridge Property Management, LVL Living

Hybrid · No scale split

Hybrid operator

Mixed portfolios with concentrated share between 30% and 70%. Hybrid is its own classification — there is no Independent / Institutional split for Hybrid operators.

Sample operators · Austell Village, Generation PM, H&H Property Management

Figure 1. The seven-cell taxonomy. The type axis (rows) splits operators into SFR, Small MF/BTR, and Large MF/BTR by the apartment-dominant override, concentrated share, and median community size. The scale axis (columns) splits each type into Independent and Institutional by cross-market urus. Hybrid carries no scale split — it is its own classification. Cell colors match the quadrant badges used elsewhere on the scorecard.

The taxonomy is structural, not evaluative. Each cell contains operators of varying quality. The classification answers “what kind of operator is this?” — the rest of the scorecard answers “how well do they operate?”

7-cell distribution · v0.7

Across 44 covered markets and 3,649 eligible operators: SFR Independent leads at 57.6%, reflecting the SFR-heavy Southeast + Sun Belt footprint. Small MF/BTR Independent is now the second-largest cell at 25.8% — the apartment-dominant override moved most scattered-apartment operators here, which also shrank Hybrid to 3.3%. MF/BTR Institutional (Small + Large) totals 3.9% of operators but holds the largest absolute urus per operator; Large MF/BTR Independent is 6.5%. (Distribution as of the current snapshot.)

Section 04

Community visibility (MF/BTR only).

Whether an MF or BTR operator is showing Dwellsy a substantial share of the units in the communities they manage, or whether they're listing only a selected subset.

Why this measure is structural to operator type. Single-family operators cannot meaningfully cherry-pick which inventory they show on Dwellsy. Every property is unique. A renter searching for a three-bedroom house in a specific neighborhood is looking for that specific home with its specific layout, yard, and location — the operator cannot substitute Property B for Property A. To capture any rental, the SFR operator must list it. The cherry-picking risk is structurally low.

Multifamily and BTR operators sit on undifferentiated inventory in a leasing office. A community with 20 vacant two-bedroom units can list five and route walk-in prospects to the rest. The cherry-picking option is structurally available, and some operators use it — historically as a strategy to control which units appear in third-party search results.

Community Visibility measures whether this is happening.

Scope. We compute Community Visibility for operators who meet three conditions: at least one community where they manage 30 or more units, at least 50% of their inventory in concentrated communities, and at least 12 monthsof listing history at those communities. Operators who don't meet all three conditions don't have this section on their scorecard — for them, the question is either unanswerable (Scattered operators, where there's no honest denominator) or not yet measurable (operators below the tenure gate).

Formula.For each qualifying community, we compute the operator's expected listing volume in the trailing 12 months based on the community's true unit count (the structural community-size field from Dwellsy's core data, present in every listing row) and a default annual turnover rate of 20%. We compare that expectation to the operator's actual listing count.

Formula · community visibility ratio

ratio = Σ actual_listings_t12 / Σ (true_community_size × 0.20)

The 20% turnover assumption matches the empirical cross-market norm across Chattanooga, Jacksonville, and Nashville under v0.6.1 — and aligns with the U.S. national rental-household mobility rate.

The ratio answers:

“Of the units that should have plausibly turned over and been listable in T12, how many did this operator actually list?”

Three-state taxonomy (v0.6.1, unchanged in v0.6.2). v0.6 simplified the Community Visibility output to three states. The legacy fourth state (“above expected — comprehensive coverage”) was retired because it implied a comparative judgment the data couldn't support; a visibility ratio above 1.0× simply means the operator is listing comprehensively at higher-than-default turnover, which is a positive signal but doesn't warrant a separate color-coded tier.

Reported states:

  • Partial visibility (ratio <0.5×) — observed listings represent less than half of expected. Notably reduced visibility relative to community structure.
  • Likely partial visibility (0.5–0.8×) — most but not all expected listings present. Possible normal turnover variation, possible selective listing.
  • Comprehensive visibility (≥0.8×) — listings cover the substantial majority of expected turnover. Within expected range for a fully-transparent operator.

Ratios materially above 1.0× are meaningful signal — they identify operators visibly more transparent than the cohort norm, which is a credibility-positive signal. Institutional Class A MF communities typically turn over faster than the cohort average; a 2.1× visibility ratio for an operator like UDR reads as the operator genuinely listing comprehensively.

Section 05

Days on Market & Tenant Retention.

The two halves of the lease cycle — how quickly an operator leases a vacant unit, and how long a unit holds a tenant before it comes back to market.

Days on Market (DOM).

DOM measures lease-up speed — how efficiently an operator moves a vacant unit off the market. It is the joint-largest component of the composite (30%) because it captures pricing strategy, marketing reach, and lease-up execution in a single clean signal.

For each trailing-12-month listing where the listing was deactivated on or after it was created, per-listing DOM is the number of days the listing stayed live.

Formula · days on market

dom_listing = deactivation creation (days)

The operator's DOM is the median across its house and apartment listings. We use median rather than mean because listing-duration distributions are right-skewed. Lower DOM means faster lease-up: the metric is inverted for star assignment, so an operator in the top quartile of its cohort (fastest lease-up) earns a gold star.

Tenant Retention.

Longer tenure reflects multiple compounding operator behaviors — tenant screening, property condition, responsiveness, fair renewal pricing — and is one of the cleanest behavioral signals in the scorecard.

We measure retention with a Kaplan-Meier survival estimateof how long units hold a tenant. For every unit an operator has listed two or more times, each occupied interval — from a listing's deactivation to the same unit's next listing creation — is a completed tenancy, provided it lasts at least 3 months (shorter re-posts are re-listing noise and are dropped). A unit whose most recent listing has closed but not yet re-listed contributes a right-censored observation: the tenant may still be in place, so we know only that tenure is at least the time since deactivation.

Formula · tenancy event & censoring

event = next_creation prev_deactivation (months, ≥ 3)
censored = now last_deactivation

Pooling every unit's events and censored observations, the Kaplan-Meier product-limit estimator yields S(t) — the probability a tenancy lasts at least t months. The ranked metric is S(18), the share of tenancies that reach 18 months, shown as a percentage and phrased “about X% of tenancies reach 1.5 years.” Higher is stickier, so a top-quartile operator earns a gold star; we also report the full curve at 12, 18, and 24 months. Because censoring is handled natively by the estimator, an operator with a short observation window is no longer biased downward the way a raw gap-median would be — the censoring correction the earlier methodology deferred is now the metric itself.

Qualification, suppression & recency · v0.7

A survival estimate is only trustworthy with enough long-lived units and real turnover, so we surface S(18) only when an operator has at least 25 observations reaching 18 months and at least 5 turnover events. Below either threshold the metric is suppressed: the Tenant Retention card shows no value and no star, and the operator's composite is re-normalized across its remaining metrics (the retention weight is redistributed, not scored as zero). The card instead reads “Too early to assess renewal — this operator has been tracked N years.” Separately, operators whose most recent listing event is more than 60 days old are classified dormant: they keep a scorecard but are held out of the ranked set and every cohort baseline, so a stale window never sets the bar for currently-listing peers (see §01).

Section 06

Mix-adjusted rent trajectory.

How the operator's rents have moved over time, adjusted for bedroom mix to control for the most basic compositional difference between portfolios.

We bucket trailing-six-quarters listings by quarter, compute median rent within each bedroom bucket (1-bedroom, 2-bedroom, 3-bedroom-and-up), and average across buckets weighted by the operator's overall bedroom mix. The result is the mix-adjusted median rent per quarter.

The trajectory chart shows the last six quarters. The headline YoY change compares the two most recent trailing-four-quarter windows: it is the mean mix-adjusted rent across the most recent four quarters divided by the mean across the prior four quarters, minus one. Averaging four quarters on each side smooths quarter-to-quarter noise; the figure is computed only when each four-quarter window has at least two non-null quarters.

Reported, not ranked.

We deliberately exclude rent levelfrom the composite ranking. Rent level reflects portfolio quality position more than operator capability — a Class A operator and a Class C operator can both perform exceptionally well on their respective portfolios, but rent level alone would rank one higher than the other based on inherited inventory quality. We report the trajectory because the information is useful in context. We do not rank operators on rent level because it's the wrong question for evaluating operator quality.

Section 07

Rent performance.

The rent-related signal that does belong in operator ranking — measuring not the rent level but how the operator's rents move relative to comparable peers during the same period.

Formula.We compute the operator's mix-adjusted YoY rent change (from §06) and subtract the MSA cohort median YoY change over the same period. Operators whose rents grew faster than the cohort median are positive on Rent Performance. Operators who lagged the cohort are negative.

Formula · rent performance delta

delta = pm_yoy cohort_median_yoy

The delta shown on a scorecard uses the market-wide property-manager median as its baseline. For ranking — the percentile, star, and composite contribution — each operator is compared only within its own operator type: property managers against the PM median, brokers against the broker median, never pooled.

This isolates operator pricing capability from inherited portfolio quality. Every operator in the cohort is compared to the same peer-group baseline during the same period. Class A operators are not rewarded for managing high-rent inventory; they are rewarded only when they push rents faster than other Class A operators (who would be reflected in the cohort median). Similarly, Class C operators aren't penalized for low rent levels — only for failing to push rents at peer rates.

Confounders we disclose.The metric is meaningful but noisier than DOM or Tenancy. We control for bedroom mix but not for square footage, neighborhood, building age, or amenity differences within an operator's portfolio. Three real noise sources:

  • Submarket exposure (operators concentrated in gentrifying neighborhoods see faster growth regardless of skill).
  • Mix shift within the trailing window (an operator adding higher-rent properties mid-window shows artificial growth).
  • Capital events (operators who renovated mid-window push rents through investment, not pure leasing skill).

We weight Rent Performance at 10% of the composite ranking to reflect these confounders. A future version (v0.7) will refine the metric to compare only units that appear in both periods — eliminating the mix-shift confound and likely justifying a heavier weight at that point.

Market rent growth aggregate.

Each market displays a median year-over-year rent growth figure computed across the ranked operators in that market. The figure represents the typical ranked operator’s portfolio rent trajectory over the trailing 12 months. The benchmark line (“vs national”) compares the market value against the median across all ranked operators across all coverage markets — a single national number that does not vary by market.

Computation.Each operator’s value is its own mix-adjusted YoY rent change (the four-quarter-over- four-quarter figure from §06) — notthe cohort-relative delta. The market aggregate is the equal-weighted median of those per-operator values across the market’s eligible property managers(brokers are excluded). Operator-equal weighting keeps the metric interpretable — “the typical property manager in this market” — rather than letting a few large portfolios dominate; a unit-weighted alternative is a possible future refinement.

Formula · market rent growth T12

market_rent_growth_t12 = mediani ∈ eligible PMs in market (operatori.pmYoyChange)

Formula · national benchmark

national_rent_growth_t12 = mediani ∈ eligible PMs (all markets) (operatori.pmYoyChange)

The market-vs-national delta is surfaced as a tile benchmark line (green if > +0.2 pp, orange if < −0.2 pp, neutral within the band). The national reference is a single value computed across every covered market; where a snapshot does not yet carry it, the tile shows the market value without a national comparison. Submarket-level rent growth is not computed — listing-level geographic aggregation with minimum-N controls remains a future candidate; under a submarket filter the headline tile retains the MSA-wide value with an explicit scope annotation.

State-level aggregates.

State-level aggregates pool operators across all MSAs in a state. The counts — active operators and operators eligible for ranking — deduplicate by canonicalOperatorId, so a multi-market operator counts once per state rather than once per MSA. The state-level medians (DOM, rent growth) still pool one value per operator per MSA, so an operator that appears in several in-state MSAs contributes once for each; pushing canonical dedup down to the medians is a future candidate.

The state landing pages at /property-managers/[state] surface four operator-weighted tiles — active operators (sum across MSAs), eligible for ranking (sum across MSAs), median DOM T12 (operator-weighted median across the pooled in-state ranked operators), and rent growth T12 (operator-weighted median of pmYoyChangeacross the same pool). Median DOM and rent growth carry a “vs national” benchmark line where the national reference is the operator-weighted median across every ranked operator in every covered MSA — the same single national number that Patch 3 already computes for market-level rent growth, and its DOM analogue computed at runtime.

Single-MSA states get the same UX as multi-MSA states; the state page renders one MSA card. As coverage expands and adds new MSAs in already-covered states, the state page auto-updates without any data-layer changes: state membership is derived from each market’s state field.

Share trajectory.

Share trajectoryshows how this operator’s share of ranked-cohort listing activity has changed year-over-year. The metric is computed across continuing operators with substantial presence in both periods (at least 30 listings in each), normalized to share of the cohort’s total listings so that proportional pipeline expansion across all operators produces a 0% trajectory. Real movement indicates relative gain or loss of market position.

Continuing cohort. Operators with at least 30 listings in BOTH the trailing 12 months (T12) AND the prior 12-month window (T24-T12). Operators outside the cohort fall into one of two display categories: Newly tracked(≥30 listings T12 but <30 in the prior window) or New operator (zero prior listings). These operators see a context pill in place of a comparison number; their data is excluded from the cohort median.

Formula · share trajectory

total_t12 = Σ t12ListingsCount over continuing cohort
total_t24t12 = Σ t24t12ListingsCount over continuing cohort
share_t12 = op.t12ListingsCount / total_t12
share_t24t12 = op.t24t12ListingsCount / total_t24t12
shareTrajectoryYoY = (share_t12 − share_t24t12) / share_t24t12

Why share rather than absolute? An earlier version of the metric computed absolute year-over-year listing-count change. A pressure test surfaced three biases that made the absolute version unusable: pipeline-coverage expansion (every operator appeared to grow even if they did nothing), thin-baseline noise (operators with 1 listing in the prior period produced absurd growth percentages), and survivor bias (operators that shrank to zero between periods were systematically excluded from the median). The share-based reframe addresses the first two biases directly and partially addresses the third. The pressure-test results, post-revision, show plausible directional signal consistent with known market dynamics — Phoenix at +10.07% (established operators consolidating), Memphis at −9.89% (SFR aggregators entering aggressively), Clarksville at −15.81% (heaviest fragmentation in the v0.6.3 footprint).

Why no star treatment? Share trajectory is a contextmetric, not a performance one. A higher share isn’t reliably better: longer tenancies → fewer relistings → lower share (good operationally, lower share); improving operationally drops the share via the same mechanism. M&A activity, portfolio composition shifts, and new entrants all move share without reflecting operator health. Star treatment requires a metric where “higher = better” is reliably true; share trajectory fails that test. The scorecard shows the metric with cohort + national context and methodology disclosure so readers can form their own judgment.

Residual caveats. Coverage bias is only neutralized if pipeline improvements affected all continuing operators uniformly — non-uniform improvement (e.g., a new ingestion source biased toward aggregators) would still distort. Survivor bias is now partly addressed: an operator that stops listing is classified dormant rather than deleted, so it stays visible with the date of its last observed listing (see §01). Bias persists for operators that shrank toward zero without crossing the recency window. Listing-level re-listing methodology affects numerator and denominator alike but is a counting artifact worth acknowledging. The metric is shown for context and is not used in ranking or composite scoring.

Operator identity.

Two problems complicate “who is this operator?”: the same operator can appear in several markets, and the source data periodically re-issues an operator new internal ids, splitting one operator into several records within a single market. We resolve both into a single canonical operator entity, which powers the cross-market profile at /operators/[canonical-slug]and dedup’d state-level counts.

Cross-market identity is ID-based.Operators appearing in multiple markets are linked primarily by Dwellsy’s own parent-company id (parentCompanyId), taken per operator as the modal parent id across its listings. At merge time, operators sharing a parent id are grouped into one canonical entity with a shared id slugged from the parent-company name. This id-based grouping is authoritative— it overrides any name-based assignment. It unites a parent’s differently-branded entities and keeps same-named-but- differently-owned operators apart, which is exactly the roll-up / parent-entity mapping earlier methodology had deferred.

Curated name mapping is the fallback.Operators that carry no parent id fall back to a human-curated cross-market mapping held in versioned decision files. These are reviewed for same-name false positives — generic names that collide across markets but represent unrelated companies (e.g. two distinct “Trinity Management Company” operators) are excluded and stay separate. Curated groupings are protected: the id linker never overrides them. A conservative name normalization — lowercase, strip legal suffixes and punctuation, collapse whitespace — is used to propose candidate matches for that review and to normalize parent-company names so corrected casing survives the merge.

Within-market fragment merge.

When the source re-issues an operator new internal ids, one operator fragments into several no-parent records in the same market. Two mechanisms re-pool them. An exact-tier auto-merge groups no-parent records whose names are identical after stripping legal suffixes and punctuation — but only when the shared name is distinctive(at least two tokens, at least one not a generic word like “property” or “management”), so purely-generic or single-token names never auto-merge. A curated merge list handles the remainder, and curated decisions win over auto-merges on any conflict.

Guards.Placeholder names (“Company Name Not Provided” and similar) and any pair on an explicit do-not-merge denylist are never merged; structural invariants — every survivor is a real member, no record spans two distinct names, no slug collisions — are asserted on every pipeline run, and a sign-off report is emitted for review. Below-threshold id-bearing fragments are surfaced only to an internal merge tool, never to the seed, the operator table, or search.

State-level count dedup. State-level operator counts deduplicate by canonicalOperatorId— a multi-market operator that appears in Nashville, Memphis, and Clarksville counts once in Tennessee’s state-level total.

Concession activity.

For every operator in coverage, the classifier scans T12 listing descriptions for stereotyped concession language — “one month free”, “move-in special”, “no deposit”, percent-off promotions, and similar patterns — and computes the share of T12 listings that mention at least one. The result is surfaced on the scorecard as the operator’s concession rate, with a listing-weighted market concession rate as cohort context.

Regex-based, v1 catches stereotyped language. Detection is pattern-matching, not semantic. The v1 dictionary covers about a dozen pattern families (free month, percent off, dollar off, no/reduced deposit, move-in special, explicit concession, rent reduction, lease special, limited- time offer, waived fee, free rent). Indirect or paraphrased language (“ask us about specials” without naming the special) will be missed. A v2 LLM-grader pass is on the v0.7 backlog.

Context, not ranked.Concession activity does not feed the composite ranking and does not award stars. It’s presented as a present-tense signal of demand or supply stress at the operator level — high participation can mean any of: aggressive lease-up, soft submarket, large institutional discounting program. Read alongside DOM, rent growth, and share trajectory rather than in isolation.

Cohort comparison. The market reference is a listing-weighted concession rate — total concession-mentioning T12 listings divided by total T12 listings across the ranked cohort (operators with no T12 listings are excluded). Listing-weighting is used instead of a per-operator median because the per-operator distribution is heavily zero-inflated, so its median is often just 0. Operators more than 20 percentage points above the market rate receive an orange accent (elevated concession activity vs the cohort); operators more than 20 pp below get a green accent (low concession activity).

Section 08

Marketing scores.

Marketing discipline — whether the operator presents their listings with complete data, consistent quality, and care.

Five subscores, each on a 0–100 scale, are computed from trailing-12-month listings. Each richness subscore saturates near the p90 of the cross-market operator distribution, so the top decile earns 100 and the rest spread across the range:

  • Completeness — percentage of listings that are fully populated on all three core fields: a non-empty description, at least one photo, and at least one amenity. The test is all-or-nothing per listing — a listing missing any one of the three does not count toward completeness.
  • Amenities — the mean number of amenities per listing, scaled so that an average of 18 reaches 100: min(100, 100 × mean_amenities ÷ 18).
  • Description — a 0.5 / 0.5 blend of text length and content richness, assessed over listings that have a description: 0.5 × min(100, 100 × mean_distinct_words ÷ 195) + 0.5 × 100 × min(1, mean_content_categories ÷ 6). Length uses distinct words (robust to whitespace or boilerplate padding); content richness counts how many of four descriptive areas — amenities, location, transit and parking — the prose touches, so an informative listing outscores a long but repetitive one. Rules are scored separately, below. An operator needs at least five non-blank descriptions to be assessed on the non-blank subset; below that, blanks count (their absence is already reflected in Completeness).
  • Photos — the median number of photos per listing, scaled so that a median of 30 reaches 100: min(100, 100 × median_photos ÷ 30).
  • Stated rules — whether the listing tells a renter the terms: pet policy, fees and deposits, and lease requirements. Scored on how many of those three areas a typical description covers, with two of three reaching 100: 100 × min(1, mean_policy_areas ÷ 2). Assessed on the same non-blank basis as Description — a blank description is already penalised by Completeness, and counting it again here would charge an operator twice for one omission. These three were previously folded into content richness as three of seven interchangeable areas, which let an operator saturate that subscore on amenities and location while telling a renter nothing about the terms. They are also the least-stated part of a listing in practice, which is why they now carry their own weight.

The reported Marketing Discipline score is a weighted blend of the five subscores, not a simple average:

Formula · marketing discipline

marketing = 0.30 × completeness + 0.20 × photos + 0.20 × description + 0.15 × amenities + 0.15 × rules

Operators with consistently well-prepared, informative listings score in the 80s and 90s. Operators with sparse data, missing photos, or threadbare descriptions score lower.

Scored against a fixed bar, not a cohort.

Marketing Discipline is the one metric whose star is awarded on an absolute threshold rather than a rank within a peer cohort: gold at 80 and above, silver at 70 and above, everywhere and for every operator.

Every other metric has to be market-relative, because it measures something local — days on market, rent and retention all move with conditions in the metro. Listing completeness does not. A complete listing is complete in Bozeman and in Los Angeles, so a fixed bar is the honest comparison, and it is the one an operator can act on: the gap to 80 is a specific list of things to add, whereas a percentile only says to outrank whoever happens to be nearby.

Earlier versions ranked this metric within the same cohorts used for the others, which produced the perverse result that an operator scoring 60 could earn gold for leading a weak cohort while one scoring 82 earned silver in a strong one — while the scorecard printed the raw score beside it. The bars above were set against the national distribution: 19.1% of ranked operators clear 80 and a further 23.1% clear 70, close to the shape the previous quartile ranking produced.

Section 09

Composite & the star system.

How the per-metric signals combine — a versioned internal composite that never appears on a scorecard, and the per-metric stars that do.

The composite is a single weighted score computed from the metrics above. It is versioned and load-bearing internally, but it is never surfaced on a scorecard as a score or an ordinal rank — per our standing rule, scorecards show only stars, values against a cohort benchmark, and positions. The composite’s only visible effect is as the final tie-break in market-list ordering, which leads with gold- then silver-star counts and falls back to the composite only to break ties within an equal-star bucket. The weights still set that ordering and drive the PDF export, so we document them here.

Weights for operators with Community Visibility computed:

ComponentWeight
Days on Market (DOM)30%
Tenant Retention30%
Rent Performance10%
Marketing Quality15%
Community Visibility15%

Weights for operators without Community Visibility (the section is suppressed for Scattered and Hybrid operators below the visibility gate, and for MF/BTR operators under the 12-month tenure threshold):

ComponentWeight
Days on Market35.3%
Tenant Retention35.3%
Rent Performance11.8%
Marketing Quality17.6%

The 15% normally allocated to Community Visibility redistributes proportionally to the other four components. Both schemes sum to 100%, so composite scores remain comparable across the full cohort.

The philosophy behind these weights

The composite is designed to reward operator behavior, not inherited portfolio characteristics. DOM and Tenancy share the lead at 30% each because they measure the two halves of the lease cycle — DOM captures how efficiently the operator leases vacant units (pricing strategy, marketing reach, lease-up execution), and Tenancy captures how successfully they retain tenants once placed (screening, property condition, renewal skill). These are the most direct operator-behavior signals available, and over a multi-year investment horizon they compound to drive operator-quality outcomes.

Marketing Discipline (15%) and Community Visibility (15%) are secondary but meaningful signals. Marketing Discipline reflects listing-side rigor; Community Visibility reflects transparency. Both are real quality differentiators, both are harder to game than they look, and both deserve weight without dominating.

Rent Performance (10%) is included as a pricing-skill signal but weighted lower than the cleaner metrics due to its documented confounders.

What we do not weight. Rent level. Portfolio quality. National scale beyond the MSA. These are descriptive characteristics, not performance signals. We surface them as context but do not let them drive operator rank.

Star system.

In place of a rank, each metric earns a binary star. Per-metric stars are what the scorecard actually leads with — they appear in the header star summary, on each operating-metric card, and in the market-list row chips.

  • 🌟 Gold star — top quartile of the applicable cohort (≥75th percentile).
  • ⭐ Silver star — second quartile (50th–75th percentile) — above-median position within cohort.
  • No star— below the 50th percentile. The cohort qualifier still renders (“Present in cohort”) but no star icon. This reinforces operator dignity — top performers earn stars; others simply have no star.

Cohort hierarchy. Star assignment requires choosing which cohort to compare against. v0.6.2 pre-computes three percentile ranks per metric per PM and selects the applicable cohort via a fallback waterfall:

  1. Primary cohort — same MSA + same 7-cell quadrant. Used if N ≥ 10.
  2. Fallback cohort — same MSA + same operator type (SFR / MF/BTR / Hybrid), any scale. Used if primary N < 10 and fallback N ≥ 10.
  3. MSA cohort — all eligible operators in the same MSA. Used as the final fallback.

The cohort label displayed in the scorecard (e.g., “Gold star · Chattanooga SFR Independent cohort”) reflects whichever level was actually selected.

Broker / property-manager partition. Every cohort — and the rent-performance baseline — is partitioned by operator type, so property managers are compared only against other property managers and brokers only against other brokers. The two operator types are never pooled at any level of the waterfall.

Lending signals.

Earlier versions surfaced a dedicated block of four underwriting-oriented signals. That standalone block has been retired on the web scorecard, and one signal — the old Vacancy Signal — has been removed entirely. The three survivors are now folded into the scorecard’s Scale & Fit section as position context rather than a separately scored section:

  • Operator Stability— the operator’s observation history (years visible) shown against a cohort median. Context only; no star.
  • Geographic Concentration — top-3 city share of observed urus, with a cohort median. Descriptive — no star; concentration is neither inherently favorable nor unfavorable.
  • Pricing Tier— the operator’s latest mix-adjusted median rent positioned within the MSA rent distribution: Premium (≥75th pct) / Mid-market (25–75th) / Value (<25th). A positional label, not evaluative.

For anyone who wants the original at-a-glance panel, the PDF exportstill renders a dedicated three-signal “Lending Signals” page (Operator Stability, Geographic Concentration, Pricing Tier). None of these feed the composite.

Section 10

Honest limitations.

We document what this methodology does well and what it doesn't. This is a working methodology, not a finished one.

Things we measure cleanly. Lease-up speed, tenant retention, listing data completeness, multifamily/BTR transparency, basic portfolio classification.

Things we measure with caveats.Rent Performance carries known confounders (submarket exposure, mix shift, capital events). Ordering within thin-data buckets may favor small-sample outliers; per-metric qualification gates suppress the least-supported values, but we don't yet apply a graded confidence discount.

Things we don't yet measure.

  • Operator transparency for Scattered (SFR) operators. The cherry-picking question is unanswerable for SFR operators in the listings data alone — there is no external denominator we can construct. SFR Credibility is deferred to v1.x, pending claim-flow portfolio attestation.
  • National scale beyond our covered markets. Operators with substantial portfolios in markets we don't yet cover may classify as Independent under our methodology even when they operate at institutional scale nationally. Resolution path: expanded market coverage and operator portfolio attestation via the claim flow.
  • Granular unit quality (square footage, amenities, year built, condition) beyond bedroom count.
  • Submarket exposure within an MSA.

Things this scorecard cannot tell you. Whether the operator will renew their lease with you. Whether a specific unit is well-maintained. Whether the operator is currently for sale or in a transition. Whether market-level conditions are favorable.

Observation precision.

Every figure on a scorecard is qualified as observed, not total portfolio. The seed surfaces three distinguishable unit-count fields per PM so templates can phrase precisely:

  • urusT12 — distinct units observed listing in the trailing 12 months. The smallest, most-conservative number.
  • observedCommunities — count of concentrated communities where we observe the operator listing.
  • observedCommunityTotalUnits— sum of the top-down PM-managed unit counts across those observed communities. A proxy for portfolio scale at those locations — not a claim about the operator's full portfolio.

Templates phrase explicitly: “managing 8 observed large multifamily communities in the Nashville MSA — communities totaling approximately 2,400 units, with 1,069 distinct units observed listing in trailing 12 months.” We never claim “manages 1,069 units” or “operates 2,400 units” — both would imply we know the operator's full portfolio.

Estimated managed units.Because observed urus undercount an operator’s book — a unit only surfaces when it lists, on turnover — we also publish a portfolio-size estimate that scales observed urus back up by unit-type turnover (house urus × 3.3 + apartment urus × 2.6). We report it as a band — <50 through 1,600+ — and never as a point figure. Calibration against operators who told us their own count showed the estimate runs materially low for apartment-heavy books, and that what remains after every available signal is coverage: units that never list with us at all. No multiplier recovers those, so the estimate is a floor rather than a census, and a band is the most we can honestly claim. It is never fed into the composite, and is documented in full on the portfolio-estimator methodology page.

Operator-dignity language gate.

Every auto-generated string — executive summaries, distinguishing characteristics, map narratives — passes through a dignity-language validator at seed time. Forbidden tokens include weak, poor, strong, excellent, underperforming, manages X, operates X. Acceptable replacements use quartile language and observation qualifiers: “Gold star · Lease-up Performance, top quartile in cohort” rather than “Strong leasing performance.” “5 communities observed in our coverage” rather than “Their portfolio of 5 communities.” The system measures; it does not editorialize.

Deferred to future versions.

The following improvements are tracked for future releases:

  • Same-unit-controlled Rent Performance — compares only units present in both periods, eliminating the mix-shift confound; likely justifies a heavier composite weight.
  • Minimum-N confidence multiplier on the composite — a graded discount for thin-data operators, beyond the current per-metric qualification gates and rationale text.
  • SFR Credibility instrument — deferred until claim-flow portfolio attestation provides external scope data for scattered operators.
  • Submarket-aware peer cohorts and submarket-level rent growth — activate when listing-level geography with minimum-N controls is added.
  • Persistent eligibility per window — a stability component (consistent eligibility across refreshes) not yet computed.
  • Canonical dedup on state-level medians — state counts already dedup by canonical identity; the medians still pool one value per operator per MSA.
  • Operator dispute / appeal process — as scorecards reach operators, a defined correction path.

Section 11

Glossary.

Terms of art used throughout the scorecards and methodology.

TermDefinitionMethodology
URUUnique Rentable Unit — Dwellsy's unit-identity framework, resolving a listing through the address → unit → room → bed hierarchy.§02
CommunityA multi-unit grouping defined upstream by Dwellsy. May be a single building, a multi-building MF community, a BTR development, or a condo development.§03, §04
Trailing 12 months (T12)Observation window anchored to the data refresh date. A listing falls in T12 if creation or deactivation occurred in the window, or if the listing is still active.§01
Concentrated communityA community where the operator manages 10 or more distinct units within this PM.§03, §04
MSA cohortThe set of eligible PMs within the same MSA used as the comparison group for percentile ranks.§09
CompositeThe weighted percentile-rank average across DOM, Tenant Retention, Rent Performance, Marketing, and (when applicable) Community Visibility. Computed internally and versioned, but never surfaced as a score or a rank on scorecards — its only visible effect is as the final tie-break in star-ordered market lists.§09
Scope gateThe three-condition test (≥30 units in ≥1 community, ≥50% concentrated, ≥12 months tenure) that controls whether Community Visibility is computed for an operator.§04
7-cell taxonomyThe v0.6.2 operator classification: SFR / Small MF/BTR / Large MF/BTR / Hybrid on the type axis, crossed with Independent / Institutional on the scale axis (Hybrid is single-cell, no scale split). Replaces the v0.6.1 5-cell taxonomy by splitting MF/BTR by median community size (10-49 = Small, ≥50 = Large).§03
Management model (inferred)A hire-framed signal for whether an operator likely manages third-party properties (a PM you can hire), only owns/operates its own, or is undetermined — with a confidence level. Inferred from two layers: listing structure (independent scattered single-family operators are third-party managers by nature; an operator running both apartment communities and scattered homes is a management book) and, where a website is available, a keyword read of whether the site markets property-management services to owners. The apartment middle is often Unknown because listings can't separate a large third-party manager from an owning REIT — Unknown means verify directly, not "no." Owner-operator is always shown as "(likely)."§03
Concentrated shareFraction of an operator's observed urus that sit in communities where they manage 10 or more units. Drives the SFR / MF/BTR / Hybrid split (< 30% / ≥ 70% / in between) — but only for operators that are not apartment-dominant; the apartment-dominant override (house share ≤ 10%) is applied first.§03
Gold / Silver / No starQuartile labels assigned per metric per PM. Gold = top quartile (≥75th percentile) of the applicable cohort; Silver = above-median (50-75th); No star = below median. Replaces percentile-rank tier labels from earlier versions.§09
Primary / Fallback / MSA cohortThree cohort levels used for star assignment per metric. Primary = same MSA + same 7-cell quadrant; Fallback = same MSA + same operator type (any scale); MSA = all eligible operators in the MSA. The applicable level is selected by N≥10 waterfall.§09
Years visibleLength of operator observation history in Operator IQ data, measured from the first observed listing. Surfaced as operator-tenure context; it no longer gates the retention metric, which now uses a Kaplan-Meier survival estimate with its own qualification test.§05
Mix-adjusted median rentQuarterly median rent computed within bedroom buckets and averaged using the operator's bedroom mix as weights. Controls for compositional differences across operators; underlies both Rent Trajectory (§06) and Rent Performance (§07).§06, §07
Observed vs portfolioEvery unit-count figure on a scorecard is qualified as observed in Dwellsy listings, not as the operator's full portfolio. urusT12 (distinct units observed listing in T12), observedCommunities, and observedCommunityTotalUnits are seeded as distinct fields so templates can phrase precisely.§10
Lending SignalsUnderwriting-relevant context signals. Vacancy has been retired. The three survivors — Operator Stability, Geographic Concentration, Pricing Tier — are folded into the scorecard's Scale & Fit section on the web (no longer a standalone section) and still render as a dedicated page in the PDF export. None feed the composite.§09
Active operatorAn operator with ≥3 listings observed in the trailing 12 months. Replaces the legacy total-operator denominator as the surfaced headline figure on market pages (v0.6.3 Patch 1). Distinct from eligible — active is a presence threshold; eligible is the ranking threshold.§01
Eligible for rankingAn operator with ≥30 listings observed in the trailing 12 months. Operators below this threshold appear in the universe (tracked) tier but don't receive a composite rank or per-metric stars. Window labeled T12 throughout the product (v0.6.3 Patch 2 corrected an earlier T6M label drift).§01
Market rent growth (T12)Median operator-level YoY rent change across the ranked cohort in a market, surfaced on the Market Snapshot tile (v0.6.3 Patch 3). Displayed alongside a national-benchmark line and a pre-computed pp delta vs national.§07
National benchmarkReference value computed once across every continuing operator in every covered MSA. Used as the comparison line on market rent growth tiles and on the share-trajectory surface. Single value across markets — embedded per-market in the seed for render simplicity.§07
Star summary chip★N ☆M chip showing an operator's gold + silver per-metric star counts. Used on market list rows and the scorecard header. Counts roll up across DOM, Rent Performance, Marketing, Tenant Retention, and (when applicable) Community Visibility. Composite star is excluded from the rollup to avoid double-counting.§09
State-level aggregateCross-MSA operator counts at /property-managers/[state]. Counts deduplicate by canonicalOperatorId (v0.6.4) so a multi-market operator counts once per state. Pool of in-state MSAs powers state-level medians for DOM and rent growth.§07
Continuing operatorAn operator with ≥30 listings in both T12 and the prior T24→T12 window. Used as the strict-cohort definition for share-trajectory math (v0.6.3 Patch 6). Operators below threshold in either window classify as new-in-coverage or null-baseline and don't surface a share trajectory value.§07
Share trajectory (YoY)Year-over-year change in an operator's share of ranked-cohort listing activity. Pre-computed per market against the continuing cohort. Surfaced as context only — not used in composite ranking and not star-bearing (v0.6.3 Patch 6).§07
New in coverage / null baselineShare-trajectory eligibility labels for operators outside the continuing cohort. Null baseline: no prior-window listings (t24 = 0 or null). New in coverage: prior listings present but below the 30-listing threshold. Both render an explicit status on the scorecard rather than a misleading trajectory number.§07
Canonical operator identityOperators that appear in multiple markets resolve to a single canonical entity — primarily by Dwellsy's parent-company id (parentCompanyId), which is authoritative, with a human-curated name mapping as the fallback for operators that carry no parent id. Powers the /operators/[canonicalSlug] operator route and state-level count dedup.§07
Cross-market operatorAn operator whose canonical entity spans ≥2 covered markets. Surfaced via a chip in the scorecard header linking to the cross-market profile. In the current 34-market footprint, 134 multi-market canonical entities cover 413 of 3,649 PM records.§07
Concession activity / concession rateShare of an operator's T12 listings that mention concession language (regex-based classifier on listing descriptions). Surfaced on the scorecard with a listing-weighted market concession rate for cohort context. Context only — not star-bearing, not in the composite. Operators absent from the classifier input show no section.§07
Concession patternsv1 dictionary of ~14 stereotyped pattern families the classifier matches: free month(s), % off, $ off, no/reduced deposit, move-in special, explicit concession, rent reduction, lease special, limited offer, waived fee, free rent, plus an explicit_concession catch-all. Indirect/paraphrased language is missed by design — a v2 LLM-grader pass is a future candidate.§07
Apartment-dominant overrideClassification rule applied before the concentrated-share bands: when an operator's house share (house units ÷ (house + apartment units)) is 10% or less, they are classified MF/BTR regardless of concentrated share, so scattered-apartment operators are no longer mislabeled SFR or Hybrid. Small vs Large still follows median concentrated community size.§03
Tenant retention — S(18)The ranked retention metric: a Kaplan-Meier survival estimate of the share of an operator's tenancies that reach 18 months ("about X% reach 1.5 years"). A tenancy is the occupied interval between a listing's deactivation and the same unit's next listing (≥ 3 months); still-occupied units are right-censored. Reported as a percentage, not a duration.§05
Retention qualification / suppressionA survival estimate is surfaced only when an operator has ≥ 25 observations reaching 18 months and ≥ 5 turnover events. Below either threshold the metric is suppressed — no value, no star — and the composite is re-normalized across the operator's remaining metrics (the retention weight is redistributed, not scored zero).§05
Dormant operatorAn operator that clears both eligibility tests but has no listing event (creation or deactivation) inside the 60-day recency window. It keeps a scorecard carrying the date of the last listing we observed, and is held out of ranked lists and every cohort baseline so a stale 12-month window is never compared against currently-listing peers. The label describes our listing record, not the state of the business. Judged at the operator-name level, across a name's id fragments.§01, §05
Category exclusionTwo filters that remove non-operators before an operator is formed: a type-based filter (data-platform artifacts — property-management marketing software, listing-syndication services) and a small curated denylist for source-misclassified artifacts. Surfaced read-only in admin tooling.§01
Broker vs. property managerEach operator is typed as a property manager or a broker from the source company-type signal (majority vote, parent type taking precedence). The two are scored in separate cohorts and never pooled; brokers are hidden from the default ranked lists. A small curated override reassigns source-mislabeled operators (e.g. license-holding franchise offices).§01, §09
Within-market fragment mergeThe data source periodically re-issues an operator new internal ids, splitting one operator into several records in a single market. An exact-tier auto-merge re-pools no-parent records with identical distinctive names (≥2 tokens, ≥1 non-generic, after stripping legal suffixes); placeholder names and a do-not-merge denylist are excluded, invariants are asserted, and a curated merge list wins on conflict.§07
Estimated managed unitsA portfolio-size estimate from observed on-market turnover, split by unit type: house URUs (T12) × 3.3 + apartment URUs (T12) × 2.6, with the two turnover multipliers admin-tunable. Reported as one of seven size bands (<50 through 1,600+), never as a point figure — calibration against operator-reported counts showed the estimate runs materially low for apartment-heavy operators, and that the residual is coverage (units that never list with us) rather than a mis-tuned multiplier. Read it as a floor, not a census. Context only — not in the composite. See the portfolio-estimator methodology page.§10

Section 12

Version history.

Methodology is versioned. Each scorecard cites the version that produced it and the data-freshness date.

Material changes — new metrics, re-weightings, threshold shifts — bump the version. Cosmetic changes do not. Prior versions remain accessible, and every scorecard carries the version it was computed under so historical scorecards can be interpreted in their original frame.

Recent versions:

VersionDateChange
v0.7July 2026Methodology overhaul across metrics, identity, and surface. 34 covered markets; 3,649 eligible operators. Tenant Retention replaced the re-lease-gap median with a Kaplan-Meier survival estimate — S(18), the share of tenancies reaching 18 months — with a qualification gate (≥25 observations reaching 18 months, ≥5 turnover events), suppress-and-reweight when unqualified, and a 60-day recency gate that dropped stale operators outright — since replaced by the dormant tier, which keeps them visible and labeled instead (see §01). Rent Stability was removed entirely. Operator classification gained an apartment-dominant override (house share ≤ 10% → MF/BTR, applied before the concentrated-share bands), reshaping the distribution (Hybrid 342 → 119; Small MF/BTR Independent is now the second-largest cell). Marketing Discipline was recalibrated (p90 rescale, a new photos sub-score, and a length-plus-content-richness description sub-score). Portfolio size moved to a unit-type turnover model (house urus × 3.3 + apartment urus × 2.6, admin-tunable, with a low–high band), superseding the earlier cohort-banded estimator. Operator identityis now ID-based across markets (parentCompanyId authoritative, curated name mapping as fallback) plus a within-market fragment-merge system for id-churned operators; category exclusions (data-platform company types and a curated denylist) and broker-vs-property-manager cohort partitioning were documented. On the surface, the redesigned scorecard (design v2.0) became the default and the earlier Classic layout was retired: rank and composite are never surfaced (the composite stays internal, breaking ties in star-tied lists), and the standalone Lending Signals block was folded into Scale & Fit on the web (kept as a three-signal PDF page; the Vacancy Signal was retired).
v0.6.4May 21, 2026Watch List foundation (PR 1 of ~5).Data layer + filter evaluator + fit-scoring engine + CRUD API for user-defined target lists. Saved buy boxes hold three layers of criteria — required (deal-breakers), preferred (weighted preferences that drive a 0-100 fit score), excluded (negative filters) — applied across the full operator universe to produce a ranked target list with per-criterion breakdown. Field catalog covers Geographic, Scale (incl. v0.7 portfolio estimates), Asset, Trajectory, and Operator dimensions. Two starter templates seeded — Evernest-style SFR density build-out + Genstone-style integrated services — drawn verbatim from the watch-list spec’s worked examples. No editor UI yet (ships in PR 2); minimal admin view at /watch-lists for verification. Methodology cohorts + ranking unchanged — Watch List is a screening surface on top of the existing scorecard universe, not a metric revision.
v0.6.4May 21, 2026Portfolio Size Estimator. New size-banded model that estimates total managed units per operator from observed URU activity, keyed on Dwellsy 7-cell × URU bands. Calibrated against a 70 operator-market sample with per-cohort medians + P25/P75 confidence bands. Surfaces on scorecard Layer 5 with cohort attribution and a full methodology page. Estimates also baked into the canonical- operator aggregateStats blob so cross-market profiles can sum the bands across member PMs. Large MF/BTR cohorts receive an explicit “insufficient calibration data” treatment (n is too small to estimate reliably); those scorecards prompt for a verified self-report via the claim flow rather than pretending to a number. Methodology version unchanged (still v0.6.4) — no cohort or ranking changes; estimator is context only and does not feed the composite. (Superseded in v0.7 by the unit-type turnover model — see §10 and the portfolio-estimator page.)
v0.6.4May 19, 2026Patch 1 — canonical operator identity. Same operator running across multiple markets is now grouped under a single canonical entity via name normalization (strip LLC, Inc, Ltd, Co, Corp suffixes; lowercase, normalize whitespace). 22 multi-market canonical entities baked at seed time covering 60 of 575 PM records — Invitation Homes (4 markets), Mission Rock Residential (5), First Keys Homes (5), and others. New /operators/[canonicalSlug] cross-market profile route with aggregate footprint, modal classification (most-frequent 7-cell with lexicographic tiebreaker), and per-market scorecard cards. Search results group multi-market operators under a new Cross-market operators section above ranked single-market results. State-level operator counts deduplicate by canonical identity (a PM appearing in three in-state MSAs counts once on the state page). Scorecard Layer 1 gains a cross-market badge linking to the canonical profile when the operator is multi-market. Normalization is conservative — substantive tokens like Property Management, Realty, and Group are preserved; false-positive collisions were manually reviewed and excluded. See §07 sub-anchor on canonical operator identity. Cohort unchanged from v0.6.3.
v0.6.3May 19, 2026Market headline reframe. New Market Snapshot tiles for active operators (≥3 listings T12) and market rent growth T12 with a national benchmark line (Patches 1 + 3). T6M eligibility label corrected to T12 on the tile and on §01 — production always used T12; the surfaced label had drifted (Patch 2, no cohort change). Submarket-aware active-operator counts and footprint-eligible counts when ?submarket= is active; DOM and rent-growth tiles retain MSA scope with explicit annotation because submarket-level computation requires listing-level geography work scheduled for v0.7. Subheader strip beneath the H1 removed (data duplicated by tiles and footer). Patch 4 added star-count list ordering (gold count desc, silver count desc, composite rank asc) with ★N ☆M chips on each row; the Operator landscape grid migrated to the v0.6.2 7-cell taxonomy with median rent-vs-comp as a third per-cell metric. Patch 5 added state landing pages at /property-managers/[state] with operator-weighted state aggregates pooled across in-state MSAs (see §07 sub-anchor on state aggregates). Patch 6 added share-of-market trajectoryto scorecard Layer 5 — operator’s share of ranked-cohort listing activity year-over-year, computed across continuing operators with ≥30 listings in both T12 and the prior T24-T12 window. An initial absolute-trajectory version was rejected after a pressure test surfaced pipeline- coverage, thin-baseline, and survivor biases; the revised share-based metric neutralizes the first two and partially addresses the third. Surfaced as a context signal only — no star treatment, not used in ranking. See §07 sub-anchor on share trajectory. Cohort unchanged from v0.6.2.
v0.6.2May 17, 2026Seven covered markets (Chattanooga, Jacksonville, Nashville, Memphis, Knoxville, Clarksville, Phoenix); 572 eligible PMs. Eight methodology patches enabling the v1.0 scorecard design: 7-cell taxonomy (MF/BTR split by median community size), multi-level percentile rank computation (primary / fallback / MSA), star system per metric, Rent Stability methodology fix (12-quarter raw-listings volatility, spec; pipeline catch-up in v0.7), Tenancy short-history caveat, unit-count precision data (urusT12 / observedCommunities / observedCommunityTotalUnits as distinguishable fields), Geographic Concentration pre-computation, and pre-computed scorecard text (executive summaries, distinguishing characteristics, map narratives) with operator-dignity validation at generation time. Ships paired with design v1.0.
v0.6.1May 17, 2026Three covered markets (Chattanooga, Jacksonville, Nashville). Community Visibility denominator switched to top_down_community_count; default turnover rate dropped from 40% to 20%; anomaly flag retired. Institutional/Independent classification considers cross-market observed units.
v0.6May 16, 2026Operator classification redefined on both axes. Coverage Confidence renamed to Community Visibility and reformulated. Rent level removed from composite; Rent Performance added. Composite weights rebalanced toward operator behavior. SFR Credibility deferred. Methodology page rewritten to articulate operator-type asymmetry honestly.
v0.3.4Mar 5, 2026Final Chattanooga-only release. Coverage Confidence chip promoted to headline row. Superseded by v0.6 (and reformulated entirely under v0.6.1).
v0.3.0–v0.3.3Nov 2025 – Feb 2026Iterative refinements during initial Chattanooga calibration. Tenancy methodology stabilized at episode-clustering with 180-day window and unit-weighted median.

Data is refreshed monthly. The current snapshot reflects listing activity through Aug 20, 2026.

Methodology v0.8·Design v2.0·Last reviewed Aug 20, 2026·Next scheduled review October 2026

Email questions to operatoriq@dwellsy.com