taLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-147309054-1');

Real Estate Investor KPIs: The 8 Numbers That Predict Your Contracts

Hesel Media lightning bolt icon
Esteban Andrade
November 1, 2026
•
11 Min
Real Estate Investor KPIs: The 8 Numbers That Predict Your Contracts

Most investors can tell you their cost per lead. Far fewer can tell you their cost per signed contract, and that is the number payroll depends on. If you don't track it, you're gambling with a team on the clock.

Key points

  • Real estate investor KPIs are the numbers that show how marketing dollars turn into seller conversations, appointments, offers, signed contracts and closed deals.
  • Eight KPIs run an acquisitions team: cost per inquiry, contact rate, inquiry-to-appointment rate, appointment-to-offer rate, offer-to-contract rate, cost per contract, speed to lead and setter capacity.
  • Cost per contract is the scoreboard. Cost per inquiry is a diagnostic, and the cheapest inquiry is often the most expensive contract.
  • Fix leaks in order: speed, contact, appointment, offer, contract. Buy more spend last.
  • A contract is not a closed deal. Track contract fallout, or your cost per deal will surprise you.

The findings in one line each

These are the numbers worth quoting. Each one says where it came from and what layer of the funnel it measures.

  • One Hesel client's Facebook funnel turned 431 seller inquiries into 18 signed contracts, about one contract per 24 inquiries (client funnel walkthrough on Esteban Andrade's channel).
  • In that same funnel, 161 appointments produced 145 offers but only 18 contracts. The biggest drop was offer to contract, not inquiry to appointment.
  • Another Hesel client spent about $25,000 on Meta, got 361 inquiries at about $70 each and signed 24 contracts, about $1,054 per contract, with 6 closed at the time of recording (cost per contract breakdown).
  • One investor account we reviewed shows how fast speed decays. Most of its seller inquiries were purchased third-party leads, not Hesel campaigns. In that investor account, the share of seller inquiries called within 5 minutes fell from 70% in May and June 2026 (n = 176) to 26% in October 2026 (n = 46).
  • In one Texas account, inquiries cost $37.99 in April and produced zero contracts. In June they cost $137.51 and the account signed 6 contracts at $756 each.

That was one of our best results, not a typical one. Outcomes depend on market, budget, offer and follow-up speed.

The 8 real estate investor KPIs, with formulas

The eight real estate investor KPIs below measure every step between an ad dollar and a signed contract, and each one uses the same period and the same channel on both sides of the formula. Mix channels or months and the math lies to you.

1. Cost per inquiry

Cost per inquiry is ad spend divided by new seller inquiries in the same period and channel. Formula: ad spend ÷ new inquiries. Most dashboards call it cost per lead. It tells you what attention costs. It does not tell you what a contract costs, so never judge a campaign on it alone.

2. Contact rate

Contact rate is the share of new inquiries your team reaches in a live conversation. Formula: inquiries reached live ÷ new inquiries. A voicemail is not a contact. Esteban's working rule is that it normally takes about 8 to 11 touches to reach a seller, so a team that stops after two calls will log a low contact rate and blame the ads.

One Hesel client's contact rate went from 29% (5 of 17) in September 2026 to 67% (6 of 9 real inquiries) in the first week of October after the team committed to a call cadence.

3. Inquiry-to-appointment rate

Inquiry-to-appointment rate is the share of new inquiries that become a qualified appointment with acquisitions. Formula: appointments set ÷ new inquiries. Define "appointment" in writing first. Hesel's ISAs only book a seller who has given motivation, timeline, condition and a price, so a booked call is a real conversation and not a calendar slot.

4. Appointment-to-offer rate

Appointment-to-offer rate is the share of held appointments that end with a real offer. Formula: offers made ÷ appointments held. Esteban's standard is blunt: "almost at 100% of offers per conversation." If your reps hold appointments and leave without a number, the seller is still shopping and you are paying for it.

5. Offer-to-contract rate

Offer-to-contract rate is the share of offers that turn into a signed purchase agreement. Formula: signed contracts ÷ offers made. This is where pricing, trust and follow-up show up. Offers that die often die quietly in a "follow up later" stage nobody works.

6. Cost per contract

Cost per contract is the ad spend a channel took to produce one signed contract. Formula: ad spend attributed to a channel ÷ signed contracts that channel produced. Esteban uses that definition on his channel. Keep agency fees and payroll out of this number and track them as a second, all-in figure. If a channel has zero contracts, report spend to date and "none yet", not a per-contract figure.

7. Speed to lead

Speed to lead is the time from a seller's inquiry to your team's first live call attempt. Formula: median minutes from inquiry timestamp to first outbound call. Track three cuts: the median, the share called within 5 minutes, and the share never called in 7 days. Our standard is to text and call within 60 to 120 seconds, and never past 5 minutes.

Research in Harvard Business Review found that most companies do not respond to online inquiries nearly fast enough. Your CRM can tell you if you are one of them in about ten minutes. For the deal-level version, read how one client paired speed and trust on a $25,000 deal, and our primer on why speed to lead decides who gets the contract.

8. Setter capacity

Setter capacity is how many new inquiries one setter can work each day while still hitting your speed and cadence standard. Formula: setter load = new inquiries per day × average call attempts per inquiry. Utilization = load ÷ quality dials one setter can make per day. Above about 80% utilization, speed slips first and contact rate follows.

A worked month: one team, eight contracts

Here is how the eight KPIs read together for a team targeting 8 contracts a month. The numbers are an illustration built to show the math, not a client result.

KPIFormulaExample monthWhat it tells you
Cost per inquiryAd spend ÷ new inquiries$12,000 ÷ 120 = $100What attention costs in this market
Contact rateReached live ÷ inquiries84 ÷ 120 = 70%Whether follow-up is doing its job
Inquiry-to-appointmentAppointments ÷ inquiries48 ÷ 120 = 40%Whether setters qualify and book
Appointment-to-offerOffers ÷ appointments held40 ÷ 48 = 83%Whether reps make a number every time
Offer-to-contractContracts ÷ offers8 ÷ 40 = 20%Pricing, trust and offer follow-up
Cost per contractAd spend ÷ contracts$12,000 ÷ 8 = $1,500The scoreboard for marketing
Speed to leadMedian minutes to first call2 minutes; 90% within 5Whether you are the first caller
Setter capacityInquiries per day × attempts ÷ dials per day5.5 × 14 = 77 dials of 110 = 70%When to hire the next setter

Two more numbers sit under the table. Cost per appointment is $250 and cost per offer is $300. If 65% of those 8 contracts close, the team banks about 5 deals, so cost per closed deal is about $2,300. That gap is why contracts are not deals.

What one leak does to cost per contract

One leak at the top changes every number below it, even when the ads stay the same. Drop the contact rate in that example from 70% to 50% and hold every other rate steady. The team reaches 60 sellers instead of 84, sets about 34 appointments, makes about 29 offers and signs about 6 contracts.

Cost per contract jumps from $1,500 to about $2,100, a 40% increase. The media buyer did nothing wrong. A setter went on vacation and nobody covered the phones. Now push offer-to-contract from 20% to 25% instead, and cost per contract falls to $1,200 with no new ad dollars.

Cost per contract vs cost per closed deal

Cost per closed deal is cost per contract divided by the share of contracts that actually close, and the gap between the two is your fallout problem. Esteban's observation is that about 30% to 50% of contracts close on nationwide campaigns and 60% to 75% in local markets. Plan cash around the lower number.

A wholesaler with 20 years in the business shared his year-to-date funnel on a call: about 600 net leads, 284 offers, 48 contracts and 15 closings on $88,000 of lead spend. That is about $1,833 per contract but about $5,867 per closed deal, because only 15 of 48 contracts closed.

His marketing was not the leak. His contracts were. Track days under contract and fallout reasons on a deal board, or this number hides inside a "good" cost per contract.

A public example shows the same math with a healthier ratio.

A nationwide Google PPC wholesaler based in South Florida shared his numbers in an August 2026 Office Hours session: "cost per contract is right around 2,800." His goal is to close about 60% of his contracts, which puts his cost per closed deal near $4,700. That was one of our best results, not a typical one. Outcomes depend on market, budget, offer and follow-up speed.

The dispo numbers behind close-through

Close-through is a dispo number as much as an acquisitions number. In a May 2026 Office Hours session, the co-founder of InvestorBase, a dispositions software company, showed that at four contracts a month and a $15,000 fee, moving close rate from 50% to 75% adds one closed deal a month, about $180,000 a year.

He tracks two dispo KPIs to close that gap. Buyer response rate, which he says averages about 35% on a two-day call, voicemail and text campaign to roughly 100 buyers. And resubmission rate on highest and best, which he targets at 75%. These are the vendor's own figures. Disclosure: Esteban Andrade's YouTube descriptions include an InvestorBase affiliate link.

Planning targets (rules of thumb, not results)

These are the planning targets Esteban Andrade has stated publicly for inbound seller campaigns in 2026. They are targets to plan and coach against, not averages Hesel clients typically get, and your market will move them.

  • Appointments: about 40% to 60% of inquiries (offline conversion training).
  • Show rate: about 60% to 70% of booked appointments (same video).
  • Contracts: about 20% to 25% of shown appointments (same video).
  • Speed to lead: text and call within 60 to 120 seconds.
  • Cost per contract: no public target here. Set yours from your average fee and your share of contracts that close.

Compare yourself to your own last 90 days before you compare yourself to anyone else. A New York wholesaler buying pay-per-lead at about $20,000 to $25,000 a month worked out live on a call that he was at roughly $12,500 per contract. His first answer to "what's your cost per contract" was "That I do not know."

The leak order: what to fix first

Fix the funnel from the top of the phone down, and touch ad spend last. Each step below is cheaper to fix than buying more inquiries.

Most leaks sit in the CRM, not the ads. In a May 2026 Office Hours session, Esteban walked through Hesel's audit of seven client CRMs: 142 paid-for seller inquiries had never been touched, "56% of replies from sellers were left unread," and nobody was following up by hand beyond the automations. Seven accounts is not a market average, but it shows where to look first.

  1. Speed to lead. If your median is over 5 minutes or more than 1 in 10 inquiries never gets a call, fix coverage first. Nights and weekends included.
  2. Contact rate. If it sits under about 60%, check attempts per inquiry. Most teams quit at two.
  3. Inquiry-to-appointment. If contact is healthy but appointments are thin, listen to five recorded setter calls. The script is usually the leak.
  4. Appointment-to-offer. If reps hold appointments without making offers, set a rule: every qualified conversation ends with a number or a scheduled callback.
  5. Offer-to-contract. Work every offer for 30 days, then move it to a long-term nurture. Old offers are the cheapest contracts you will ever sign, and a seller reactivation campaign is how you collect them.
  6. Cost per inquiry. Only now ask the media buyer for cheaper attention, and check that cheaper inquiries do not lower the rates above.

The trap runs the other way. Most operators start at step 6 because that is the number the agency reports. Read why pay per lead pricing hides cost per contract before you shop on price per inquiry.

How we built these benchmarks

We built this page from four sources, and each number above says which one it uses. Treat every figure as a starting point for your own tracking, not as a promise.

  • Public Hesel videos. Esteban's working benchmarks and two client funnels shown on screen, published October 2026 on his YouTube channel.
  • Recorded calls. Hesel sales and client calls from November 2025 to October 2026. Investor-reported numbers are their own math, not Hesel results, and every investor is anonymized.
  • One investor account. Speed-to-lead data from one account we reviewed, where most seller inquiries were purchased third-party leads, not Hesel campaigns (inquiries from May to October 2026), marked for review above.
  • Illustrations. The worked month and leak math use round numbers to show the formulas.

Limits are real. Samples are small, rules of thumb are not audits, and contracts take 30 to 90 days or more to close, so recent months always look worse than they will.

How Hesel tracks real estate investor KPIs for clients

Our standard is to track these KPIs for clients weekly, by source, from the CRM: ad spend, inquiries, contacts, appointments, offers, contracts, closed deals, cost per contract, days from inquiry to contract and contract fallout.

Three habits keep the numbers honest. First, show rate counts only appointments that happened or no-showed, never cancellations or calls still on the calendar. Second, the ISA fills a post-call form before a seller moves to underwriting, so "qualified" means the same thing every week.

Third, the goal is for ads to learn from contracts, not form fills. We set up the CRM to send appointment, offer and contract stages back to Meta and Google as conversion events.

That last step only works if the click ID is captured. Google says you can store each Google click ID with the prospect's record and import the outcome later, within 14 or 90 days depending on the data source. If your CRM drops the click ID, your ads optimize for curiosity.

The ISA side is covered on our conversion and appointment setting service page. For the budget math that sits on top of these KPIs, see how to set a real estate investor marketing budget by contract goal. For who should own each number, see how to build a real estate acquisitions team.

Get your numbers on one page

You already have the data. It is sitting in your CRM, split across sources, with half the stages unused. Until it is on one page, every marketing decision is a guess with a budget attached.

Bring your last 90 days to a strategy call. We will fill in the eight KPIs with you, find the biggest leak and tell you plainly if more spend would help or hurt. If the math says you are not ready for paid campaigns, we will say that too.

Book a free strategy call and build your KPI scorecard.

Frequently asked questions

What KPIs should a real estate investor track?

A real estate investor running marketing should track cost per inquiry, contact rate, inquiry-to-appointment rate, appointment-to-offer rate, offer-to-contract rate, cost per contract, speed to lead and setter capacity. Add contract fallout so you can see cost per closed deal, not just cost per contract.

What is cost per contract in real estate investing?

Cost per contract in real estate investing is the ad spend a channel took to produce one signed purchase agreement. Divide ad spend attributed to that channel by the contracts it produced in the same period. Keep agency fees and payroll in a separate, all-in number so you can compare channels fairly.

What is a good cost per contract for wholesalers?

A good cost per contract for wholesalers depends on your market and average fee, so set it from your own numbers. Divide cost per contract by the share of contracts that close to get cost per closed deal, then check that your average fee covers it several times over, with room for payroll and profit.

What is a good lead-to-appointment rate for seller inquiries?

A common planning target for the lead-to-appointment rate on motivated seller inquiries is about 40% to 60%, the rule of thumb Esteban Andrade uses for inbound campaigns. Below that, check speed to lead, call attempts per inquiry and the setter script before you blame the ads.

How fast should you call a new seller inquiry?

You should call a new seller inquiry within one to two minutes, and text at the same time. Hesel's standard is 60 to 120 seconds. Track the median, the share called within 5 minutes and the share never called in 7 days, because averages hide the inquiries nobody touched.

What is the difference between cost per lead and cost per acquisition?

The difference between cost per lead and cost per acquisition is the finish line. Cost per lead divides spend by inquiries. Cost per acquisition divides spend by an outcome, which some teams define as an appointment and others as a contract. Write down which one your reports use.

How many seller inquiries does it take to get one contract?

How many seller inquiries it takes to get one contract depends on channel, market and follow-up. In one public Hesel client funnel it took about 24 inquiries per contract. In another it took about 15. Measure your own ratio on the last 90 days by source.

How often should a wholesaling team review KPIs?

A wholesaling team should review KPIs daily, weekly and monthly. Daily: new inquiries, speed to first call, appointments set, offers out. Weekly: the full funnel and cost per contract by source. Monthly: closed revenue, fallout and spend by channel. Same day, same sheet, every time.

Sources

Share this post
Hesel Media lightning bolt icon
Hesel Media
November 1, 2026
•
11 Min