Home Sale Calculator: What Will You Walk Away With?
Tell us a little about your house in South Carolina or Georgia and what shape it’s in. You’ll see about what listing with an agent leaves you, next to our cash offer.
Listing can leave you more if the house is ready and you can wait. Cash is simpler and faster.
Tap the closest one. A guess is fine.
Your estimate
Listing with an agent Estimate
$0
to you in about 0 months
Before paying off what you owe.
Our cash offer
No commissions.
No closing costs.
Close in as little as 7 days.
Cash offer within 24 hours. No obligation.
| Cost | Agent | Cash offer |
|---|---|---|
| Commission | $0 | $0 |
| Repairs | $0 | We buy as-is. |
| Bills while it sells | $0 | Fewer months |
| Closing costs | $0 | $0. We pay them. |
| What you owe | $0 | Paid off at closing |
Text me this estimate
Send us the address on our short form and we’ll go over these numbers with you. Or call 803-471-4870.
See how we figured this
This is an estimate, not an offer. Based on real closings in our area.
This estimator needs JavaScript. Or call us at 803-471-4870 and we’ll go over the numbers with you.
(function () { “use strict”; var root = document.getElementById(“nahg-est”); if (!root || root.getAttribute(“data-ready”)) return; root.setAttribute(“data-ready”, “1”); /* —- Settings Drew can change. A page can also set window.NAHG_EST_CFG before this block. —- */ var CFG = { phoneText: “803-471-4870”, phoneHref: “tel:+18034714870”, offerUrl: “/get-a-cash-offer-today/”, /* “Text me this estimate” -> Carrot form “Offer Estimator – Text Me” (see CARROT-FORM-SETUP.md). “off” = draft. Sends nothing. “embed” = the Carrot Form block sits on the same page; this script moves it into the text-me card, hides the fallback fields below, and keeps its hidden field filled. “post” = keep these styled fields; on submit, copy them into the (hidden) Carrot form on the page and submit it, so Carrot’s spam checks and the REsimpli feed still run. */ carrotMode: “off”, carrotFormId: 0, /* Carrot form ID, once it’s created */ carrotFields: { /* Gravity Forms input names in that form. Defaults match CARROT-FORM-SETUP.md. */ first_name: “input_1”, phone: “input_2”, terms: “input_3.1”, sms: “input_4.1”, summary: “input_5” }, buyerCreditPct: 0 /* v2 had 0-2% credits to the buyer. Off in v3. If set, it’s folded into “Repairs and months of bills”. */ }; if (window.NAHG_EST_CFG) { for (var ck in window.NAHG_EST_CFG) if (Object.prototype.hasOwnProperty.call(window.NAHG_EST_CFG, ck)) { if (ck === “carrotFields”) { for (var fk in window.NAHG_EST_CFG.carrotFields) CFG.carrotFields[fk] = window.NAHG_EST_CFG.carrotFields[fk]; } else CFG[ck] = window.NAHG_EST_CFG[ck]; } } /* Same starting numbers as v2 (see ../notes.md and ../FEES-SUMMARY.md). closeFees = average seller-paid closing attorney + recording fees on our own CSRA closings (sales with an agent): SC $308, GA $135. Owner’s title = $0 (buyer paid it on every statement). Monthly bills = property tax + insurance + power + lawn ($100), v2 defaults. */ var STATE = { SC: { name: “South Carolina”, comm: 5.59, closeFees: 308, tax: 78, ins: 169, util: 150, lawn: 100 }, GA: { name: “Georgia”, comm: 5.74, closeFees: 135, tax: 134, ins: 149, util: 151, lawn: 100 } }; /* —- Condition report: 6 items, 4 answers each. —- The words a visitor sees. Drew can edit these freely; the math is in BANDS below. */ var LEVELS = [“excellent”, “good”, “fair”, “poor”]; var LEVEL_NAME = { excellent: “Excellent”, good: “Good”, fair: “Fair”, poor: “Poor” }; var ITEMS = [ { key: “roof”, name: “Roof”, short: “roof”, ex: { excellent: “Under 5 years old. No leaks.”, good: “5 to 15 years old. No leaks.”, fair: “15 to 20 years old, or needs a patch.”, poor: “Leaks, missing shingles, or 20+ years old.” } }, { key: “foundation”, name: “Foundation”, short: “foundation”, ex: { excellent: “No cracks. Floors are level.”, good: “Small hairline cracks. Nothing moving.”, fair: “Some cracks, sticking doors, or a soft spot in the floor.”, poor: “Big cracks, sagging floors, or water under the house.” } }, { key: “windows”, name: “Windows”, short: “windows”, ex: { excellent: “Newer double-pane. All open and lock.”, good: “Older, but they work. No broken glass.”, fair: “A few stick, fog up, or won’t lock.”, poor: “Broken, rotted, or drafty all over.” } }, { key: “kitchen”, name: “Kitchen”, short: “kitchen”, ex: { excellent: “Updated in the last 10 years.”, good: “Older, but clean. Everything works.”, fair: “Dated. Worn cabinets, counters, or appliances.”, poor: “Water damage, missing pieces, or needs all new.” } }, { key: “baths”, name: “Bathrooms”, short: “baths”, ex: { excellent: “Updated. No leaks.”, good: “Older, but clean and working.”, fair: “Dated. Cracked tile or a slow leak.”, poor: “Soft or rotted floor, or one doesn’t work.” } }, { key: “hvac”, name: “Heating and air”, short: “HVAC”, ex: { excellent: “Under 5 years old. Cools well.”, good: “5 to 12 years old. Works fine.”, fair: “12 to 15 years old, or needs a repair.”, poor: “Not working, or 15+ years old.” } } ]; /* —- Repair math. ASSUMPTIONS for Drew to adjust (not from our data). See notes.md. —- Per item and answer: lo/hi = % of home value; fLo/fHi = dollar floor for the low/high end; mLo/mHi = months of fix-up before listing. Each end = the bigger of (% x value) and the floor. Excellent = $0. */ function band(lo, hi, fLo, fHi, mLo, mHi) { return { lo: lo, hi: hi, fLo: fLo, fHi: fHi, mLo: mLo, mHi: mHi }; } var NONE = band(0, 0, 0, 0, 0, 0); var BANDS = { roof: { excellent: NONE, good: band(0, 0.5, 0, 500, 0, 0), fair: band(0.5, 2, 1000, 3000, 0.25, 0.5), poor: band(3, 6, 8000, 14000, 0.5, 1) }, foundation: { excellent: NONE, good: band(0, 0.5, 0, 500, 0, 0), fair: band(1, 4, 2000, 6000, 0.25, 0.5), poor: band(5, 12, 10000, 25000, 1, 2) }, windows: { excellent: NONE, good: band(0, 0.5, 0, 500, 0, 0), fair: band(0.5, 2, 1000, 3000, 0.25, 0.5), poor: band(2, 5, 5000, 12000, 0.5, 1) }, kitchen: { excellent: NONE, good: band(0.5, 1.5, 500, 2000, 0, 0), fair: band(2, 5, 4000, 10000, 0.25, 0.5), poor: band(5, 12, 12000, 25000, 1, 2) }, baths: { excellent: NONE, good: band(0.5, 1, 500, 1500, 0, 0), fair: band(1.5, 4, 3000, 8000, 0.25, 0.5), poor: band(4, 9, 8000, 16000, 0.5, 1.5) }, hvac: { excellent: NONE, good: band(0, 0.5, 0, 500, 0, 0), fair: band(0.5, 2, 1000, 3000, 0.25, 0.5), poor: band(2.5, 5, 6000, 10000, 0.25, 0.5) } }; var BASE = band(0.5, 1.5, 1000, 2500, 0, 0); /* every house: cleaning, paint touch-ups, small fixes before listing */ /* Caps: repairs top out at 35% (low end) / 50% (high end) of value; fix-up time at 5 months. */ var CAP = { loPct: 35, hiPct: 50, prepMonths: 5 }; /* Months on the market (v2: 1.7 to 2.4, Redfin/Realtor.com) and contract to closing (v2: 1.2, ICE). */ var TIME = { marketLo: 1.7, marketHi: 2.4, loan: 1.2 }; function $(id) { return document.getElementById(“nahg-est-” + id); } var money = (window.Intl && Intl.NumberFormat) ? new Intl.NumberFormat(“en-US”, { maximumFractionDigits: 0 }) : null; function fmt(n) { var r = Math.round(Math.abs(n)); return “$” + (money ? money.format(r) : String(r)); } function r100(n) { return Math.round(n / 100) * 100; } function r1000(n) { return Math.round(n / 1000) * 1000; } function parseMoney(s) { s = String(s || “”).toLowerCase().replace(/,/g, “”).trim(); if (!s) return null; var k = /k$/.test(s), v = parseFloat(s.replace(/[^0-9.]/g, “”)); if (!isFinite(v)) return null; return k ? v * 1000 : v; } function radio(name) { var el = root.querySelector(‘input[name=”nahg-est-‘ + name + ‘”]:checked’); return el ? el.value : “”; } /* SC: S.C. Code 12-24-10, $1.85 per $500 or fraction (about 0.37%). GA: O.C.G.A. 48-6-1, $1 for the first $1,000 + $0.10 per $100 or fraction after (about 0.1%). Folded into the one “Closing costs” line; never shown on its own. */ function deedTax(state, price) { if (price <= 0) return 0; if (state === "SC") return Math.ceil(price / 500) * 185 / 100; if (price <= 100) return 0; return (100 + Math.ceil(Math.max(0, price – 1000) / 100) * 10) / 100; } function itemCost(b, price, end) { /* end: "lo" or "hi" */ return end === "lo" ? Math.max(price * b.lo / 100, b.fLo) : Math.max(price * b.hi / 100, b.fHi); } function repairs(ans, price) { var out = { lo: itemCost(BASE, price, "lo"), hi: itemCost(BASE, price, "hi"), prepLo: 0, prepHi: 0, items: [] }; for (var n = 0; n < ITEMS.length; n++) { var k = ITEMS[n].key, a = ans[k], t = BANDS[k]; var bl = t[a], bh = t[a]; var lo = itemCost(bl, price, "lo"), hi = itemCost(bh, price, "hi"); out.lo += lo; out.hi += hi; out.prepLo += bl.mLo; out.prepHi += bh.mHi; out.items.push({ key: k, short: ITEMS[n].short, answer: a, lo: lo, hi: hi }); } out.rawLo = out.lo; out.rawHi = out.hi; out.hi = Math.min(out.hi, price * CAP.hiPct / 100); out.lo = Math.min(out.lo, price * CAP.loPct / 100, out.hi); out.capped = out.hi < out.rawHi; out.prepHi = Math.min(out.prepHi, CAP.prepMonths); out.prepLo = Math.min(out.prepLo, out.prepHi); return out; } /* The 2 items that drive the most cost (Fair or Poor only). */ function drivers(rp) { var list = rp.items.filter(function (x) { return x.answer === "fair" || x.answer === "poor"; }); list.sort(function (a, b) { return (b.hi + b.lo) – (a.hi + a.lo); }); return list.slice(0, 2).map(function (x) { return x.short; }); } function compute(v) { var s = STATE[v.state], b = repairs(v.ans, v.price); var monthly = s.tax + s.ins + s.util + s.lawn; var r = { commission: v.price * s.comm / 100, repLo: b.lo, repHi: b.hi, pctLo: b.lo / v.price * 100, pctHi: b.hi / v.price * 100, capped: b.capped, drivers: drivers(b), prepLo: b.prepLo, prepHi: b.prepHi, monthsLo: b.prepLo + TIME.marketLo + TIME.loan, monthsHi: b.prepHi + TIME.marketHi + TIME.loan, credits: v.price * (CFG.buyerCreditPct || 0) / 100, closing: s.closeFees + deedTax(v.state, v.price), owed: v.owed || 0, monthly: monthly }; r.holdLo = monthly * r.monthsLo; r.holdHi = monthly * r.monthsHi; var fixed = r.commission + r.credits + r.closing + r.owed; r.netHi = v.price – fixed – r.repLo – r.holdLo; /* exact, best case: low repairs, faster sale */ r.netLo = v.price – fixed – r.repHi – r.holdHi; /* exact, worst case: high repairs, slower sale */ /* What the visitor sees: lines to the nearest $100, the "to you" range to the nearest $1,000. */ var sh = { comm: r100(r.commission), repLo: r100(r.repLo), repHi: r100(r.repHi), holdLo: r100(r.holdLo), holdHi: r100(r.holdHi), close: r100(r.closing + r.credits), owed: Math.round(r.owed) }; var base = v.price – sh.comm – sh.close – sh.owed; sh.netHi = r1000(base – sh.repLo – sh.holdLo); sh.netLo = r1000(base – sh.repHi – sh.holdHi); r.show = sh; return r; } function monthsText(r) { var a = Math.round(r.monthsLo), b = Math.ceil(r.monthsHi); if (b <= a) b = a + 1; return a + " to " + b + " months"; } function range(lo, hi) { return lo === hi ? fmt(lo) : fmt(lo) + "\u2013" + fmt(hi); } function minusRange(lo, hi) { return "\u2212" + range(lo, hi); } function read() { var unsure = $("unsure").checked, owed = unsure ? null : parseMoney($("owed").value); return { state: radio("state"), price: parseMoney($("value").value), owed: owed, owedKnown: owed !== null, ans: answers() }; } function check(v) { if (!v.state) return { msg: "Pick South Carolina or Georgia.", el: $("state-sc") }; if (v.price === null) return { msg: "Put in a rough value for the house.", el: $("value") }; if (v.price < 10000) return { msg: "Put in the full amount, like 200,000.", el: $("value") }; for (var n = 0; n < ITEMS.length; n++) if (!v.ans[ITEMS[n].key]) return { msg: "Answer the 6 questions about the house. A guess is fine.", el: null, step: n }; return null; } /* Plain " to " in the text message: an en dash would force Unicode SMS (more segments). */ function rangeTo(lo, hi) { return lo === hi ? fmt(lo) : fmt(lo) + " to " + fmt(hi); } function toYou(s) { if (s.netHi < 0) return "about " + rangeTo(-s.netHi, -s.netLo) + " short of what you owe"; if (s.netLo 0 ? “, payoff ” + fmt(s.owed) : “”) + “). ” + “Our cash offer: no commissions, we pay all closing costs, close in as little as 7 days. Call ” + CFG.phoneText + “.”; } var shown = false, last = null, liveTimer = null; function render() { var v = read(), bad = check(v); if (bad) { if (shown) $(“err”).textContent = bad.msg; return false; } $(“err”).textContent = “”; var r = compute(v), s = r.show, st = STATE[v.state]; last = { v: v, r: r }; if (s.netHi < 0) { $("net").textContent = "About " + range(-s.netHi, -s.netLo) + " short"; $("net-sub").textContent = "of paying off what you owe"; } else if (s.netLo < 0) { $("net").textContent = "Up to about " + fmt(s.netHi); $("net-sub").textContent = "and it may not cover what you owe"; } else { $("net").textContent = "About " + range(s.netLo, s.netHi); $("net-sub").innerHTML = "to you in about ” + monthsText(r) + ““; } $(“owed-note”).hidden = v.owedKnown; var al = $(“alert”); if (s.netLo 0; $(“l-owed-row”).hidden = !showOwed; $(“l-owed”).textContent = “\u2212” + fmt(s.owed); $(“how-list”).innerHTML = “Common questions
Is this a cash offer?
No. It’s a rough estimate of what listing with an agent might leave you. A real cash offer depends on the house itself. Call 803-471-4870 or send us the address, and we’ll get you a cash offer within 24 hours. No obligation.
What closing costs does a seller pay around here?
Outside of commission, not much. Around here, the seller’s closing attorney and recording fees average about $308 in South Carolina and $135 in Georgia. Add the state deed tax: about $3.70 per $1,000 of price in South Carolina and $1 per $1,000 in Georgia. When you sell to us, we pay all closing costs.
Do I still pay off my mortgage if I sell to you?
Yes. What you owe gets paid off at closing, same as any sale. The difference is no commission, and we pay all closing costs.
Can you help if I’m facing foreclosure?
We may be able to help you stop it by selling before the sale date. Call 803-471-4870 as soon as you can. We buy as-is and can close in as little as seven days. This isn’t legal advice, so talk to your attorney too.
North Augusta House Guys · CSRA House Guys, LLC · 400 West Ave, Suite 1, North Augusta, SC 29841 · 803-471-4870