ChatGPT for Property Investment: Can It Calculate Yield Reliably?

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for ChatGPT for Property Investment: Can It Calculate Yield Reliably?
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for ChatGPT for Property Investment: Can It Calculate Yield Reliably?

ChatGPT can calculate rental yield and cash flow reliably only when you give it every input and verify the results. Its arithmetic is often right, but the errors that cost money are wrong denominators, missing costs and made-up rents. Rebuild each figure in a spreadsheet, compare to the penny, and treat any mismatch as the model's mistake.

The reason is how these tools work. A chat model writes the most plausible next words, and when it can run code it does arithmetic properly, but nothing in it knows your deal. It will accept a rent you typed in last week without noticing it was a monthly figure, and it will quote a yield that is right for the question it assumed, not the one you meant. The aim below is a short routine that keeps the speed and removes the risk. The ChatGPT and Excel guide covers the spreadsheet side in more depth.

Follow me on Instagram@sagnikteaches

Four yield figures that get confused

Most arguments about whether ChatGPT got a yield wrong turn out to be arguments about which yield. Pin down the four.

Connect on LinkedInSagnik Bhattacharya
FigureFormulaWhat it answers
Gross yieldAnnual rent divided by purchase priceA quick filter for comparing properties
Net yield(Annual rent collected minus running costs) divided by price plus purchase costsWhat the property earns before financing
Cash flowNet income minus loan interest (and capital repayments if any)What lands in your account each year
Cash-on-cash returnAnnual cash flow divided by the cash you put inHow hard your own money is working

Say "net yield" to a chatbot with no definition and you may get any of three versions back. So the first rule is to put the definitions in the prompt and to ask the model to repeat them back before it calculates.

Subscribe on YouTube@sagnikteaches

A main example, worked by hand first

Here is an illustrative deal. Every figure is assumed for teaching, and nothing here describes a real property. The investor is looking at a flat priced at $250,000 that would rent for $1,500 a month. Purchase costs are a 2 per cent transaction tax ($5,000), legal fees of $2,000 and a survey of $600. The loan is $175,000, interest only at 6 per cent. Running costs are management at 10 per cent of rent collected, insurance of $900, maintenance at 8 per cent of annual rent, a local property tax of $2,400 and $350 of miscellaneous costs. One month of void (empty) time a year is allowed.

  1. Gross yield. Annual rent is $1,500 times 12, which is $18,000. Divided by $250,000, that is 7.2 per cent.
  2. Purchase costs. $5,000 plus $2,000 plus $600 is $7,600, so the all-in cost is $257,600.
  3. Rent collected. $18,000 minus one month's void of $1,500 is $16,500.
  4. Running costs. Management is 10 per cent of $16,500, which is $1,650. Maintenance is 8 per cent of $18,000, which is $1,440. Add $900, $2,400 and $350. The total is $6,740.
  5. Net income. $16,500 minus $6,740 is $9,760.
  6. Net yield. $9,760 divided by $257,600 is 3.79 per cent.
  7. Interest. 6 per cent of $175,000 is $10,500.
  8. Cash flow. $9,760 minus $10,500 is minus $740 a year.
  9. Cash invested. The deposit is $75,000 and purchase costs are $7,600, so $82,600. Cash-on-cash return is minus $740 over $82,600, which is minus 0.9 per cent.

That is the lesson of the whole tutorial in nine lines: a headline yield of 7.2 per cent becomes 3.8 per cent after costs and a small loss once the loan is paid. A chatbot that stops at step 1 has answered a question, but not the investor's question.

The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

The prompt that makes the arithmetic checkable

Now give the same inputs to ChatGPT in a form that exposes every step. The prompt below asks for definitions, the formula for each line and a table, and it forbids invented inputs.

I am evaluating a rental property. Use ONLY the inputs below. If anything is missing, ask me; do not assume.
Inputs: price 250,000; monthly rent 1,500; voids 1 month a year; purchase costs 7,600 (itemised: 5,000 tax,
2,000 legal, 600 survey); management 10% of rent collected; insurance 900 a year; maintenance 8% of annual
rent; property tax 2,400 a year; other 350 a year; loan 175,000 interest-only at 6%.
Definitions: gross yield = annual rent / price. Net yield = (rent collected - running costs) / (price + purchase
costs). Cash flow = net income - interest. Cash-on-cash = cash flow / (price - loan + purchase costs).
Show each calculation as a table with the formula written out in words and the numbers substituted.
Use code to calculate if you can. State every assumption you made.

A good answer matches the figures above. Any deviation is a signal, and the table tells you where it started. Tell it to show formulas, because a wrong number with no formula cannot be debugged, while a wrong formula can be spotted in seconds.

The spreadsheet cross-check

Build one sheet you reuse for every deal. Put inputs in column B and formulas in column D, each one short enough to read at a glance.

B1 Price                         250000
B2 Monthly rent                  1500
B3 Void months                   1
B4 Purchase costs                7600
B5 Loan                          175000
B6 Interest rate                 0.06
B7 Management %                  0.10
B8 Maintenance %                 0.08
B9 Fixed costs (insurance, tax, other)   3650

Gross yield        =B2*12/B1
Rent collected     =B2*(12-B3)
Running costs      =B7*(B2*(12-B3)) + B8*(B2*12) + B9
Net income         =B2*(12-B3) - running costs
Net yield          =net income/(B1+B4)
Interest           =B5*B6
Cash flow          =net income - interest
Cash-on-cash       =cash flow/(B1-B5+B4)

The rule is simple: if the sheet and ChatGPT disagree, the sheet wins until you have found why. Most of the time the cause is one of the errors below, and finding it teaches you where the model needs a firmer prompt.

Reading the code ChatGPT ran to get its yield

When ChatGPT uses data analysis, it writes and runs a short program, and you can expand the step to see it. You do not need to be a programmer to audit it, because the costly mistakes sit in the first few lines, where the inputs are typed in. Here is an illustrative snippet for the main example, of the kind a model might produce.

price = 250000
rent_monthly = 1500
void_months = 1
purchase_costs = 7600
rent_collected = rent_monthly * (12 - void_months)
running = 0.10 * rent_collected + 0.08 * rent_monthly * 12 + 900 + 2400 + 350
net_yield = (rent_collected - running) / price
print(round(net_yield * 100, 2))   # prints 3.9

Three checks take about a minute. First, read each input line against your sheet: the same price, the same rent, and a monthly figure where you meant monthly. Second, find the line that defines the result and read its denominator. Here it is price, not price + purchase_costs, so the code is correct arithmetic on the wrong definition and prints 3.9 per cent instead of 3.79. The tell is that purchase_costs is defined and then never used. Third, look for numbers typed straight into a formula rather than named above it, such as the 900, 2400 and 350. Those match your inputs here, but a stray 0.05 or 5000 you never supplied is an invented input. Ask for the corrected code, run it again, and the result should match the sheet.

A reverse check catches what remains. Work one figure backwards from the answer. If net yield is 3.79 per cent on $257,600, net income should be about $9,763, within rounding of the $9,760 in the sheet. If gross yield is 7.2 per cent on $250,000, annual rent must be $18,000, or $1,500 a month. A back-calculated rent twelve times too large or too small is the monthly-against-annual slip described below. Ask for every percentage to two decimal places as well: a reply that rounds 3.789 to 3.8 in one line and 3.79 in another is not wrong, but mixed rounding can hide a real difference of a tenth of a point.

Seven arithmetic and definition errors to look for

  1. Monthly against annual. A rent entered as 1,500 and treated as a yearly figure gives a gross yield of 0.6 per cent. The opposite slip gives 86 per cent. Any yield outside a sensible range is a flag.
  2. Price against total cost. Net yield computed on price alone gives 9,760 divided by 250,000, which is 3.9 per cent, against 3.79 per cent on the all-in cost. A small gap on one deal, but it grows when purchase costs are heavy.
  3. Costs left out. Asked for "net yield", a model may deduct only insurance and management, omitting maintenance and voids. Leaving out voids alone would lift the net income by $1,350 here, a difference of roughly 14 per cent in the result.
  4. Management fee on the wrong base. 10 per cent of $18,000 is $1,800, and 10 per cent of $16,500 is $1,650. Check your agreement to see whether the fee is on rent due or rent collected.
  5. Interest against payment. Interest-only at 6 per cent costs $10,500. A repayment mortgage over 25 years on the same loan costs about $13,530 a year, of which only part is interest. Whether the capital part counts as a cost depends on what you are measuring, so ask the model to say which it used.
  6. Percentage against percentage points. A rise from 6 per cent to 8 per cent is two points, but a third more interest ($3,500 on $175,000, or 33 per cent). A model describing "a 2 per cent rise" without saying which is ambiguous.
  7. Invented inputs. The model fills a blank with a plausible figure, such as 5 per cent for maintenance or a rent for the street. The instruction "ask me, don't assume" and the final line "state every assumption" exist to expose these.

Stress test the result, then ask what has to be true

A single set of numbers tells you little, because every input could move. Run the same sheet with four changes at once and see what survives. Take: interest at 8 per cent, rent 5 per cent lower at $1,425, two months of void, and maintenance at 12 per cent. Rent collected becomes $17,100 minus $2,850, which is $14,250. Running costs are 10 per cent of that ($1,425), 12 per cent of $17,100 ($2,052), plus $3,650, a total of $7,127. Net income is $7,123. Interest at 8 per cent is $14,000, so cash flow is minus $6,877 a year.

Next, ask the break-even question. At 6 per cent interest the interest alone is $10,500, and the rent that covers it with the other assumptions unchanged is a little under $1,590 a month. At 8 per cent, the break-even rent is about $1,975, a rise of nearly a third on the planned rent. Asking ChatGPT to find a break-even is a fair use, as long as you rebuild the figure in the sheet by trying that rent and watching the cash flow reach zero.

Comparing two properties: where gross yield misleads

Suppose an investor is choosing between two flats. A costs $180,000 and would rent for $1,100 a month; B costs $320,000 and would rent for $1,650. Gross yields are 7.33 per cent for A and 6.19 per cent for B. Now apply the pattern from the main example: purchase costs of 2 per cent tax plus $2,000 legal and $600 survey ($6,200 for A, $9,000 for B), one month of void, management at 10 per cent of rent collected, maintenance at 8 per cent of annual rent, and fixed costs for property tax, insurance and $350 of other items ($1,800, $800 and $350 for A, so $2,950; $3,000, $1,000 and $350 for B, so $4,350). Net income is $6,884 for A and $10,401 for B, so net yields are 3.70 per cent and 3.16 per cent. The gap shrinks from 1.14 points gross to 0.54 points net: the percentage costs take about a quarter of each year's rent, which shrinks any gap measured in points, and B's fixed costs are a smaller share of its price than A's. For B to overtake A, its fixed costs would have to fall below about $2,590 a year, less than A's, which is unlikely on a dearer flat but worth checking against the real bills. A model that recommends A on gross yield alone has answered the easy question. Ask it for both net figures and the cash flow with your loan terms, and check each against the sheet. Chasing the highest headline yield without testing the costs is the commonest way an investor picks the weaker deal.

What a wrong answer looks like, line by line

It helps to see a typical failure so that you recognise it. Suppose you ask, with no definitions, "What is the net yield on a $250,000 flat renting at $1,500 a month with a $175,000 loan?" An illustrative reply might read:

Annual rent: $18,000. Assuming 20% for costs ($3,600), net income is $14,400.
Net yield: 14,400 / 250,000 = 5.76%.
After interest of $10,500 on your loan, cash flow is $3,900 a year, a 5.2% cash-on-cash return on $75,000.

Count the problems. It invented a 20 per cent cost rate without being asked. It ignored the one-month void. It used the price alone as the denominator and left out $7,600 of purchase costs. It took the deposit as the cash invested, when the cash in is the deposit plus the purchase costs. The arithmetic inside each line is correct, which is why the answer looks reliable. Yet the result is a cash flow of plus $3,900 a year, where the properly costed answer is a loss of $740. The difference of $4,640 a year comes from assumptions, not from sums. This is why a tool that can multiply perfectly still cannot be left alone with a deal.

A sensitivity grid you can build in two minutes

One more use of the sheet is a small grid. Rent runs down the side and the interest rate across the top, and each cell shows annual cash flow for the example deal with the other inputs unchanged. These figures are illustrative and come from the same formulas as the main example.

Monthly rent5% interest6%7%8%
$1,400$116-$1,634-$3,384-$5,134
$1,500$1,010-$740-$2,490-$4,240
$1,600$1,904$154-$1,596-$3,346

Most of the grid is negative. Only a rent of $1,600 at 6 per cent, or any rent at 5 per cent, produces a positive result, and the best cell earns $1,904 on $82,600 of cash, about 2.3 per cent. That is the kind of picture a single headline yield hides. Ask ChatGPT to build the same grid from your inputs, and then check three cells at random against the sheet. If one cell is wrong, assume others are, and rebuild the grid yourself.

Reading a brochure or an agent's yield figure

A sales brochure that claims a yield of "7 per cent" is nearly always a gross figure on the asking price, with the rent possibly a best-case estimate. Paste the brochure's claim into the sheet, replace the rent with an independent figure, add the costs, and see what is left. You can ask ChatGPT for a list of questions to put to the seller's agent, such as whether the rent is achieved or projected, whether the figure includes voids and management, and what the service charge or ground rent is. The questions are a legitimate use of the tool. The answers must come from the agent in writing, and the sheet decides whether the deal still works. A figure that appears only in marketing material should be treated as an invitation to check, never as an input.

Portfolios: repeat the routine, never average the answers

An investor with three properties may be tempted to paste all the figures and ask for "the portfolio yield". Averaging the three percentages gives a wrong answer unless the properties cost the same. The right figure is total net income divided by total cost across the three. Take the main example (net income $9,760 on $257,600), flat A from the comparison above ($6,884 on $186,200) and a cheaper unit bought for $95,000 that rents at $800 a month, with $3,900 of purchase costs and $2,050 of fixed costs, which works out at $5,102 on $98,900. Their net yields are 3.79, 3.70 and 5.16 per cent, and the plain average is 4.21 per cent. The true figure is $21,746 divided by $542,700, which is 4.01 per cent. The cheap unit counts for a third of the average but holds less than a fifth of the money, so the average overstates the portfolio by 0.2 points, roughly $1,100 a year of income that does not exist. Ask the model for totals first and percentages second, and check the totals by adding the columns yourself.

Taxes and costs: leave them as labelled inputs

Purchase taxes such as stamp duty or transfer tax, income tax on rent, and any deductions for interest and repairs vary by place, by buyer and by year. ChatGPT can explain the concepts, but it should not supply the rate. Enter each as an input with a note of the source and date, take the number from the tax authority's own calculator or your accountant, and re-check it before each offer. If your model includes tax on the rent, show a pre-tax and a post-tax line, so you can see which figure each decision depends on. Ask an adviser where the rules are complicated. Nothing here is tax advice.

What to give the model, and what to keep to yourself

Give it the numbers, definitions and the layout you want. Do not rely on it for rents, sale prices, rates or growth forecasts. For rents, use written appraisals from agents, current listings of similar homes, and your own records if you already let property. For prices, use recent sold prices. For lending terms, use a lender's quote. If you want market context, ask the model to list questions to put to a local agent, not facts about the area. Finally, avoid pasting tenant names, addresses or lender account details into a chat. You do not need them for the arithmetic, and the checks above run fine on a generic "Flat A".

The wider routines for landlords sit in sibling tutorials: how AI helps with tenant messages and repairs covers the running side, and how estate agents prepare valuation appointments shows what evidence to ask an agent for.

A five-minute routine for every deal

  1. Write the inputs in the sheet with a source beside each: rent, price, purchase costs, loan terms and running costs.
  2. Paste the inputs and definitions into ChatGPT and ask for a table with formulas, using code if it can.
  3. Compare gross yield, net yield, cash flow and cash-on-cash with the sheet, figure by figure.
  4. Run the stress case and ask for the break-even rent. Confirm it in the sheet.
  5. Save the sheet and the chat link with the date. Decide the offer from the sheet, not from the chat.

The decision rule to keep: use ChatGPT for layout, explanation and a second opinion on method; use your own sheet for the numbers that you act on. If you cannot reproduce a figure by hand, it does not go into an offer.

Questions investors ask about AI and yield maths

Is ChatGPT's maths better when it uses code?

Usually, yes. When a plan includes data analysis, ChatGPT can run the calculation in code instead of predicting the digits, and it can show the formula it used. The errors that remain are mostly about inputs and definitions, such as using the wrong denominator or leaving out a cost, so the code route still needs your check. Data analysis is limited on the Free plan, so check what your plan offers.

What yield should I be aiming for?

No figure is right for every investor, and ChatGPT cannot know your market. Gross yield is only a first filter. Decide the minimum net yield and the cash flow you need after interest and a stress test, and use your own local rent and price evidence to compare. A target taken from a chatbot, a forum or a social post is not evidence.

Should I trust the rent and price figures it suggests?

No. ChatGPT has no live listings or rental comparables for a street, and any rent or price it offers is a guess presented as a fact. Take rents from agents' written appraisals, current listings and your own landlord records, and take prices from recent sales. Give the model those figures and ask it only to do the arithmetic and lay it out.

Can it work out stamp duty or other purchase taxes?

Treat its answer as a rough prompt, never as the figure. Rates, bands and exemptions change and differ by place and by buyer type, so confirm the amount from the tax authority's calculator or your solicitor before you enter it into a model. Put it in your sheet as a labelled input, with the date and source beside it.

Further reads

Sources: OpenAI's ChatGPT pricing page (data analysis by plan, limited on Free); the arithmetic in this tutorial was recomputed in a spreadsheet and in code for every illustrative figure; checked 4 November 2026.

Want a property-numbers workflow you can trust?

On a 1:1 call we'll look at how you evaluate deals now, decide which steps AI can draft safely, and build a checking sheet so every figure it gives you is verified before you act.

Book a 1:1 call with me