How It Works: Two-Step Analysis
Step 1 β "Analyze This Deal" (instant, free, no API key needed): ARV from your comps, confidence rating, max offer, fees, taxes, insurance, holding costs, flip profit, rental cash flow, verdict. All numbers appear immediately.
Step 2 β "Get AI Insights" (optional, API call ~$0.03): Risk assessment, buyer pitch, seller offer script, verdict explanation. If you uploaded property photos, the AI also compares what's visible against your repair scope and flags mismatches (shown in the Repairs tab). Also: repair estimate if checklist not used, rent estimate if not provided. Unlocks the conversational adjustment chat.
RentCast Integration (optional, 2 calls per deal): Click the "RentCast Autofill" button next to Property Details to pull property data before analyzing. Auto-fills beds, baths, sqft, year built, lot size, rent estimate, and current market value (for tax calc). Only fills empty fields β never overwrites your entries. RentCast comps appear in Deal Intel as reference (as-is condition, not after-repair). Your comps always drive the actual ARV. Free tier = 50 calls/month = ~25 deals.
You get the full deal math without an API key. The AI adds judgment and writing but never overrides the numbers.
1. ARV (After-Repair Value)
Use after-repair comps β recent sales of similar properties in updated/renovated condition from comparable sales. These represent what your deal property will sell for once the buyer finishes rehab.
ARV = average of your comp sale prices, sqft-adjusted. Straight average of whatever you enter, with two automatic adjustments: comps priced way outside the group (2.5×+ or under 0.4× the median) are treated as likely typos and dropped from the average, and remaining comps with sqft data get nudged toward the subject's size before averaging. No AI interpretation β the math runs the same way every time. 3+ comps with tight prices = high confidence. 1 comp = low confidence (get more before offering). Your comps always drive the actual ARV; see Section 9 for exactly how confidence and the sqft adjustment work.
2. Max Offer (what you offer the seller)
Max Offer = ARV × tier% − Repairs − Your Fee − Est. Liens
Tier by ARV: under $120k =
70% • $120-199k =
75% • $200-299k =
80% • $300k+ =
80% (only at HIGH comp confidence β medium/low confidence caps the tier-4 percentage at the $200-299k tier's 80%, though at $300k+ that's the same number by default; if you raise the tier-4 % above the tier-3 %, the cap applies)
Blended at the boundaries: right at a tier line, a single dollar of ARV used to swing the percentage by a full 5 points. Within a $20,000 window straddling each boundary (adjustable in Settings), the percentage now interpolates smoothly between the two tiers instead of cliffing β so $119,900 and $120,100 land a few dollars apart in max offer, not a few thousand.
All tier boundaries, percentages, and the blend window are adjustable in Settings.
For off-market deals (no asking price), the max offer IS the key output — your ceiling in negotiation.
3. Repairs
If you use the repair checklist: check what needs work, set the quantity (# of bathrooms, # of windows), and pick a tier (Budget / Mid-Range / Premium). Every cost calculates live in the browser before the AI runs. The AI uses your exact total — it does not recalculate.
Quantity fields: Bathrooms and windows have a count input. Sqft-based items (roof, flooring, paint, siding) auto-calculate from your property sqft — if sqft is blank, those line items price at
$0 and a warning appears next to the total instead of silently guessing a size.
Tier = where in the MI rate range:
Roof: $5 / $5.50 / $6.50 per sqft, area = (living sqft Γ· stories) Γ 1.15 pitch factor • Siding: $3 / $4.50 / $6 per sqft, wall area estimated from footprint (sqft Γ· stories) and perimeter • Kitchen: $18k / $25k / $35k • Bath: $13.5k / $18k / $25k each • Flooring: $5 / $6.50 / $8.50 per sqft • Paint: $1.50 / $2 / $2.50 per sqft • Furnace: $4.5k / $6.5k / $9k • AC: $4k / $6k / $8k • Windows: $400 / $600 / $800 each • Electrical: $2k / $2.75k / $3.5k • Plumbing: $4k / $6k / $8k
These are defaults. Go to the
Rates tab to replace any of them with your actual contractor pricing. Saved to your browser — enter once, used every time.
1950-or-earlier contingency: When year built is 1950 or earlier, the tool automatically adds
15% to all repair estimates. SE Michigan homes from this era commonly carry hidden costs: lead paint abatement, knob-and-tube wiring, cast iron plumbing, undersized electrical, possible asbestos. Displayed as a flagged line item in the Repairs tab and summary card.
If you skip the checklist: AI infers repairs from property age + condition:
Light = under 12% of ARV •
Medium = 12-27% of ARV •
Heavy = over 27% of ARV
(falls back to $15k/$40k if ARV isn't known yet)
4. Assignment Fee (your payday)
15% of deal room (deal room = ARV × tier% − repairs − liens). Your fee scales directly with deal quality — fat deals pay more, tight deals pay less.
Floor:
$7,500 (minimum viable fee) • Ceiling:
$20,000
Continuous, not a cliff: fee = 15% of room, floored at $7,500 and ceilinged at $20,000 — but never more than
50% of the deal room itself. That cap is what actually bites on thin deals: as deal room shrinks, the fee slides smoothly down toward $0 instead of jumping straight from "$7,500 floor" to a much smaller fallback the moment room dips below the floor. The seller is never left with a few dollars because the fee ate almost the whole room.
Fee %, floor, ceiling, and the max room share are all adjustable in Settings. If deal room is zero or negative, fee is $0.
5. Buyer Math (explicit formulas)
buyer_basis = max offer + your fee + liens — the price a disciplined buyer actually pays. This is algebraically identical to ARV × tier% − repairs (max offer is defined as that number minus fee minus liens, so adding fee and liens back always returns the same figure). It does
not shift to the seller's asking price if they're asking for more than max offer — what the seller wants only affects whether the deal happens (see the asking-gap verdict penalty in Section 8), never what you're assumed to pay for it. What keeps flip profit/ROI from being a rubber-stamped ratio of ARV is the net-profit check below: net profit factors in real holding and selling costs, which scale with repairs and hold time and can and do push a deal to marginal or not-viable even though gross profit can't.
buyer_all_in = buyer basis + repairs (total cash deployed into the property)
buyer_gross_profit = ARV − buyer basis − repairs (liens reduce what the seller nets, not buyer profit)
buyer_net_profit = gross − holding costs − agent commission − MI transfer tax − seller closing fees − buyer closing fees
ROI = gross profit ÷ (basis + repairs) β industry standard used by ATTOM, BiggerPockets, and most flippers
At initial offer: the Exits tab also shows what the flip looks like if the seller accepts your
opening offer (85% of max, adjustable) instead of the ceiling — basis there is initial offer + fee + liens. Usually meaningfully better profit/ROI than the max-offer scenario, since you're paying less for the same ARV and repairs. This is still your own offer, under your control — not the seller's ask.
Repairs counted
once in max offer formula (to leave room) and
once when buyer actually spends them. Never doubled.
6. Rent Estimate
If you enter a rent amount (from Zillow, Rentometer, etc.), the AI uses it exactly. No overriding.
If left blank, estimated from Michigan $/sqft/mo rates by city:
Detroit: $0.70-1.00 • Warren/Sterling Hts: $0.90-1.20 • Dearborn/Livonia: $0.85-1.15 • Ann Arbor: $1.20-1.60 • Grand Rapids: $1.00-1.30 • Lansing/Flint: $0.70-0.95
7. Exit Strategies
Flip viable: gross profit > $25k OR ROI > 20%. Marginal: gross > $15k OR ROI > 15%. Not viable: below both.
Net override: even if gross/ROI clears viable, a net profit under $15,000 after all costs caps it at marginal; a net profit at or below $0 always forces not-viable, full stop — a deal can't be "viable" while losing money.
Rental viable: cash flow > $200/mo AND cap rate > 6%. Marginal: cash flow > $50 OR cap > 4%.
Buyer net-profit floors scale with the deal: viable ≥ 5% of ARV, marginal ≥ 3% of ARV (a $300k flip needs ~$15k net to be "viable"; a $150k flip only ~$7.5k). This is a real three-band system now — net profit sitting between the two floors reads MARGINAL even if gross profit and ROI both cleared their own bars cleanly. Adjustable in Settings.
Michigan taxes, two tracks: flip holding costs always use the
current tax bill (often homestead/capped — taxes don't reset until the year after sale). Rental viability uses an
uncapped figure, but never keyed off ARV (that overstates year-1 taxes — Michigan reassesses off the sale/transfer value, not the after-repair value):
•
SEV + millage entered: uncap = current market value × 50% SEV × millage,
+18 mills if currently homestead (investor loses the PRE school exemption).
•
Only a current tax bill entered: uncap is estimated as that bill ×
1.3 (or ×
1.7 if currently homestead) — a rough multiplier, since there's no market value on file to recompute from. Verify with the township assessor.
•
Neither entered: uncap = the buyer's actual purchase basis (see Section 5) × 50% SEV × local millage estimate — the real price changing hands, not the after-repair ARV.
Toggle "Homestead (PRE)" next to the millage field to flag the property as currently owner-occupied.
Holding costs: taxes + rehab insurance (150% of standard — vacant/builder's risk policy) + $200/mo utilities + 12% hard money interest on (buyer's purchase basis + 50% of repairs as avg draw balance) + 2pt loan origination fee (one-time) — or
$0 financing cost entirely if the buyer-financing setting in Settings is switched to "cash." Hold periods keyed by repairs as a share of ARV:
5mo light (under 12%),
6mo medium (12-27%),
9mo heavy (over 27%) — accounts for renovation + ~40-day listing + ~30-day closing. On a heavy hold (7+ months), a note flags that the property may cross into a new tax year before the buyer resells, which the current-tax figure doesn't capture.
Closing costs β sell side: agent commission (default 5% β 2.5% listing + 2.5% buyer's agent, post-NAR) + Michigan transfer tax (0.86%, state $7.50/$1k + county $1.10/$1k, seller-paid) + seller title/settlement/misc ($750 flat).
Buy side: cash buyer title insurance (scales with purchase price at 0.55%), settlement fee, and recording β minimum $800, maximum $3,000. Title insurance is the variable component; settlement/recording are flat. All adjustable in Settings.
Buyer gross profit = ARV − buyer basis − repairs (industry standard, no costs deducted).
Buyer net profit = gross − holding − agent commission − transfer tax − seller closing − buyer closing (what buyer walks away with).
ROI = gross profit ÷ (buyer basis + repairs) β matches ATTOM/BiggerPockets standard.
Rental expenses: taxes + insurance (standard rate × landlord multiplier, default 1.2x, since a long-term occupied policy differs from the flip's vacant/builder's-risk rate) + 8% maintenance + 5% vacancy + 10% management.
Cap rate = NOI ÷ investment basis, using the same buyer basis as the flip math. Basis is configurable in Settings:
all-in (basis + repairs, default β matches cash-on-cash for all-cash buyers) or
total cash (all-in + holding + buyer closing costs, for a fuller cash-on-cash picture).
DSCR (display only): shown alongside cap rate for buyers who'd finance the hold. Assumes a 30-yr amortized loan at 75% LTV, 7.5% rate (both adjustable) on the all-in basis; DSCR = annual NOI ÷ annual debt service. ≥1.2 green, 1.0-1.2 amber, <1.0 red. Does not affect the rental or deal verdict.
All thresholds adjustable in Settings.
8. Verdict
Computed in three stages, in order β later stages can only pull the verdict down, never up:
Stage 1 β base rating from fee and exits alone:
GREAT DEAL: fee at full target % of deal room +
both flip AND rental viable (2 viable exits) — or fee at full target with flip alone strongly viable
GOOD DEAL: fee ≥ $7.5k + at least 1 viable exit
WEAK DEAL: fee $3-7.5k
PASS: fee under $3k, or no viable exit strategy
Stage 2 β caps (each can only lower the Stage 1 result):
• Low confidence → caps at WEAK (a $0-fee deal stays PASS, not WEAK — the cap can't raise a Pass)
• Repairs > 40% of ARV → caps at WEAK
Stage 3 β hard kills and further downgrades, applied after Stage 1+2:
• Negative max offer → PASS, always
• Offer < 10% of ARV → PASS
• Offer < 35% of ARV + still GREAT → capped at GOOD
•
Stress test fails (doesn't survive the confidence-scaled ARV drop) → GREAT capped at GOOD, and now
GOOD capped at WEAK too
• Buyer attractiveness fails 1 of 3 checks, or net profit lands in the marginal band even when all 3 checks technically pass → GREAT capped at GOOD
• Buyer attractiveness fails 2+ of 3 → downgrades one level (GREAT→GOOD, GOOD→WEAK)
•
Seller asking above max offer (new): gap ≤ 10% of max offer → noted, no downgrade (negotiable) • gap 10-25% → downgrades one level • gap > 25% → caps at WEAK regardless of what the math otherwise says, since a seller that far off max offer is unlikely to contract without major motivation
All dollar/percentage thresholds, including the asking-gap bands, are adjustable in Settings.
9. Confidence
Calculated locally from your comps β the AI does not judge comp quality. Your comps are user-selected.
HIGH: 3+ comps with prices within 15% of each other
MEDIUM: exactly 2 comps, within 15% of each other
LOW: only 1 comp — or 2 comps spread wider than 15% (a 2-comp deal doesn't get "medium" just for having two data points if they don't agree)
Outlier guard, two stages: (1) with 3+ comps, any comp priced more than 2.5× or under 0.4× the group's median is treated as a likely typo or non-comparable sale and excluded; (2) with
4+ comps, any comp whose sqft-adjusted price sits more than 25% from the group median (adjustable in Settings) is auto-excluded, worst-first, never trimming below 3 remaining comps — so one straggler comp gets dumped instead of blowing out the spread and tanking confidence. Excluded comps are still shown and flagged, just not counted.
Flags: beyond price outliers, a comp is flagged if its sale is stale (6+ months old by default) or its $/sqft deviates 20%+ from the median comp $/sqft (when sqft is entered). Flags cascade into confidence: half or more flagged caps HIGH down to MEDIUM,
and now also caps MEDIUM down to LOW; all comps flagged caps straight to LOW. Thresholds adjustable in Settings.
Sqft-adjusted pricing: when a comp has sqft data, its price is nudged toward the subject's size before it's averaged or measured for spread — half the $/sqft difference between the comp and the subject, applied to the comp's price. Comps without sqft data are averaged at face value. When this adjustment actually changes the average, the ARV shows both the raw and adjusted figures.
10. Taxes & Insurance
Taxes: Your SEV × millage / 1000 if provided. If not provided, estimated from market value × 50% (MI SEV) × a millage estimate — by city where we have one on file (
Detroit 86,
Flint 68,
Grand Rapids 54,
Warren 58 non-homestead mills), otherwise a
55 mill statewide default. These are estimates, not a substitute for the actual bill. See Section 7 for exactly how the rental-track uncap figure is derived (it's not just "uncapped SEV at the millage" anymore β the basis differs depending on what you've entered).
Insurance: Dwelling replacement cost = sqft × $/sqft by era (pre-1970: $150/sqft, 1970-1999: $165/sqft, 2000+: $180/sqft), then $8.5-11.5 per $1,000 of that value/yr (pre-1970: $11.5, 1970-1999: $9.5, post-2000: $8.5). Calibrate against a real MI quote β estimates only. All figures adjustable in Settings.
Rehab insurance: During flip hold, uses 150% of the standard rate for a vacant dwelling / builder's risk policy. Adjustable in Settings.
Insurance for rental analysis: Uses a separate landlord multiplier (120% of standard by default) reflecting a long-term occupied policy rather than a vacant/builder's-risk one.
10b. Est. Liens / Back Taxes
Michigan properties — especially Detroit — frequently have $5k-$20k+ in back property taxes, water liens, or code violation fines. Enter known or suspected amounts; they are subtracted from deal room and max offer.
A title search is always required to verify actual lien amounts before closing. The tool flags title/lien risk on every deal.
11. Risks (mandatory checklist)
Every deal checked against 8 categories, each rated high/medium/low:
1. Comp quality • 2. Tax burden (>2% of ARV?) • 3. Repair ratio (>40% of ARV?) • 4. Market conditions • 5. Title/liens (always flagged) • 6. Exit viability • 7. Spread sensitivity (confidence-scaled drop: 7% high / 10% medium / 13% low confidence β adjustable in Settings) • 8. Seasonality
12. Deal Intel (advanced metrics β all instant, no AI)
Deal Explanation tab: Plain-English walkthrough of every number with the actual math shown β intended for a new wholesaler to understand why the offer is what it is. Also flags any inputs near a threshold (ROI within 3 points of floor, comp spread near warning, fee near ceiling, stress net within $10k of break-even, etc.).
ARV per sqft: Shows your ARV divided by property square footage. Also checks if comp prices are consistent with each other (on the sqft-adjusted prices, outliers already excluded) β warns if they vary by more than 22%, which means the average (ARV) may be unreliable.
Stress test (confidence-scaled): What if the resale comes in light? The drop scales with comp quality: 10% base at medium confidence, 13% at low confidence (shaky ARV deserves a harder test), 7% at high confidence. It's evaluated against the same real buyer basis as the rest of the flip math (see Section 5) β contract price, fee, and repairs stay locked, only the resale drops, and the stressed scenario adds an extra month of holding cost (default 1) since a light resale usually means longer days-on-market. A failed stress test caps a GREAT deal at GOOD,
and now also caps a GOOD deal at WEAK. Base %, the Β±3pt confidence adjustment, and the extra hold month are all in Settings.
Deal room breakdown: ARV Γ tier% is the total pie β split three ways between buyer rehab costs, your fee, and the seller's offer. Shows a visual bar of how the room is divided. If the seller has an asking price, shows whether your fee fits.
Buyer metrics: All-in cost (buyer basis + repairs), total cash deployed (+ holding + closing), flip ROI % (gross / all-in), instant equity (ARV minus all-in), and
buyer attractiveness rating based on 3 checks β gross ≥ 12% of ARV, ROI ≥ 20%, and net profit, which now has its own middle band:
STRONG: Passes gross and ROI, and net profit is at or above the 5%-of-ARV viable floor — easy to assign
MARGINAL: Either exactly 1 of the 3 checks hard-fails,
or gross and ROI both pass but net profit lands between the 3% marginal floor and the 5% viable floor. Warning explains which check failed or where net landed.
WEAK: 2+ of the 3 checks fail (net counts as a fail below its 3% marginal floor) β hard to assign, auto-downgrades verdict one level
At initial offer: the Exits tab shows a parallel set of flip numbers computed at your opening offer instead of the ceiling β see Section 5.
13. Buyer Pitch & Offer Script
Buyer pitch is structured as a contract assignment pitch, not a property listing. Never says "for sale" or describes the property like an agent would. Always states "contract assignment," "equitable interest," and "assignment fee." Includes: deal structure, projected exits with numbers, and cash/POF requirement.
Deal card (copy button) follows the same rules β leads with "CONTRACT ASSIGNMENT" and includes the equitable interest disclosure.
Seller offer script: acknowledge situation, state offer with reasoning, value prop (fast close, no commissions, no repair requests). Always frames the inspection contingency as a "standard walkthrough to confirm condition" β never promises no inspection, never says "as-is purchase." No high-pressure tactics.