{"id":1194,"date":"2026-08-12T06:55:35","date_gmt":"2026-08-12T06:55:35","guid":{"rendered":"https:\/\/nyrealestateprep.com\/real-estate-math-calculator\/"},"modified":"2026-08-12T06:56:20","modified_gmt":"2026-08-12T06:56:20","slug":"real-estate-math-calculator","status":"publish","type":"page","link":"https:\/\/nyrealestateprep.com\/?page_id=1194","title":{"rendered":"Real Estate Math Calculator (NY Exam)"},"content":{"rendered":"<p style=\"font-size:17px;line-height:1.65;color:#1B3A5A;margin-bottom:8px\">Six calculators for every kind of math question on the New York Real Estate Salesperson exam. Each one shows the formula and the worked steps &mdash; not just the answer &mdash; so you learn the method instead of leaning on the tool.<\/p>\n<p style=\"color:#6B6056;font-size:15px;line-height:1.6;margin-bottom:24px\">Math is roughly 10% of the exam and it is the most learnable part. Work a few of each type until the steps feel automatic.<\/p>\n<div id=\"nyrep-calc\">\n<div class=\"nc-tabs\" role=\"tablist\">\n  <button class=\"nc-tab nc-on\" data-p=\"commission\" role=\"tab\">Commission<\/button><br \/>\n  <button class=\"nc-tab\" data-p=\"split\" role=\"tab\">Commission split<\/button><br \/>\n  <button class=\"nc-tab\" data-p=\"ltv\" role=\"tab\">Down payment &amp; LTV<\/button><br \/>\n  <button class=\"nc-tab\" data-p=\"points\" role=\"tab\">Discount points<\/button><br \/>\n  <button class=\"nc-tab\" data-p=\"prorate\" role=\"tab\">Proration<\/button><br \/>\n  <button class=\"nc-tab\" data-p=\"invest\" role=\"tab\">Cap rate &amp; GRM<\/button><br \/>\n  <button class=\"nc-tab\" data-p=\"area\" role=\"tab\">Area &amp; acres<\/button>\n<\/div>\n<section class=\"nc-panel nc-on\" id=\"p-commission\">\n<h3>Commission<\/h3>\n<div class=\"nc-formula\">Commission = Sale Price &times; Commission Rate<\/div>\n<div class=\"nc-row\"><label>Sale price ($)<input type=\"number\" id=\"c_price\" value=\"500000\" min=\"0\" step=\"any\"><\/label><br \/>\n  <label>Total commission rate (%)<input type=\"number\" id=\"c_rate\" value=\"6\" min=\"0\" step=\"any\"><\/label><\/div>\n<div class=\"nc-out\" id=\"c_out\"><\/div>\n<\/section>\n<section class=\"nc-panel\" id=\"p-split\">\n<h3>Commission split<\/h3>\n<div class=\"nc-formula\">Total &rarr; split between brokerages &rarr; split between agent and broker<\/div>\n<div class=\"nc-row\"><label>Sale price ($)<input type=\"number\" id=\"s_price\" value=\"450000\" min=\"0\" step=\"any\"><\/label><br \/>\n  <label>Total commission rate (%)<input type=\"number\" id=\"s_rate\" value=\"6\" min=\"0\" step=\"any\"><\/label><\/div>\n<div class=\"nc-row\"><label>Your brokerage&rsquo;s share (%)<input type=\"number\" id=\"s_bro\" value=\"50\" min=\"0\" max=\"100\" step=\"any\"><\/label><br \/>\n  <label>Agent&rsquo;s share of that (%)<input type=\"number\" id=\"s_agent\" value=\"60\" min=\"0\" max=\"100\" step=\"any\"><\/label><\/div>\n<div class=\"nc-out\" id=\"s_out\"><\/div>\n<\/section>\n<section class=\"nc-panel\" id=\"p-ltv\">\n<h3>Down payment &amp; loan-to-value<\/h3>\n<div class=\"nc-formula\">LTV = Loan Amount &divide; Value &nbsp;&middot;&nbsp; Loan = Price &minus; Down Payment<\/div>\n<div class=\"nc-row\"><label>Purchase price ($)<input type=\"number\" id=\"l_price\" value=\"400000\" min=\"0\" step=\"any\"><\/label><br \/>\n  <label>Down payment (%)<input type=\"number\" id=\"l_down\" value=\"20\" min=\"0\" max=\"100\" step=\"any\"><\/label><\/div>\n<div class=\"nc-out\" id=\"l_out\"><\/div>\n<\/section>\n<section class=\"nc-panel\" id=\"p-points\">\n<h3>Discount points<\/h3>\n<div class=\"nc-formula\">1 point = 1% of the <b>loan amount<\/b> (not the sale price)<\/div>\n<div class=\"nc-row\"><label>Loan amount ($)<input type=\"number\" id=\"d_loan\" value=\"320000\" min=\"0\" step=\"any\"><\/label><br \/>\n  <label>Points charged<input type=\"number\" id=\"d_pts\" value=\"2\" min=\"0\" step=\"any\"><\/label><\/div>\n<div class=\"nc-out\" id=\"d_out\"><\/div>\n<\/section>\n<section class=\"nc-panel\" id=\"p-prorate\">\n<h3>Proration<\/h3>\n<div class=\"nc-formula\">Daily rate = Annual Amount &divide; 365 &nbsp;&middot;&nbsp; Share = Daily rate &times; Days owned<\/div>\n<div class=\"nc-row\"><label>Annual amount ($)<input type=\"number\" id=\"r_amt\" value=\"7300\" min=\"0\" step=\"any\"><\/label><br \/>\n  <label>Closing date<input type=\"date\" id=\"r_date\" value=\"2026-09-30\"><\/label><\/div>\n<div class=\"nc-row\"><label>Seller owns the closing day?<br \/>\n    <select id=\"r_incl\"><option value=\"1\">Yes (seller pays through closing)<\/option><option value=\"0\">No (buyer pays closing day)<\/option><\/select><\/label><br \/>\n  <label>Already paid by<select id=\"r_paid\"><option value=\"seller\">Seller (paid in advance)<\/option><option value=\"none\">Nobody yet (paid in arrears)<\/option><\/select><\/label><\/div>\n<div class=\"nc-out\" id=\"r_out\"><\/div>\n<\/section>\n<section class=\"nc-panel\" id=\"p-invest\">\n<h3>Cap rate &amp; gross rent multiplier<\/h3>\n<div class=\"nc-formula\">Cap Rate = NOI &divide; Value &nbsp;&middot;&nbsp; GRM = Price &divide; Annual Gross Rent<\/div>\n<div class=\"nc-row\"><label>Net operating income ($\/yr)<input type=\"number\" id=\"i_noi\" value=\"48000\" min=\"0\" step=\"any\"><\/label><br \/>\n  <label>Property value \/ price ($)<input type=\"number\" id=\"i_val\" value=\"600000\" min=\"0\" step=\"any\"><\/label><\/div>\n<div class=\"nc-row\"><label>Annual gross rent ($)<input type=\"number\" id=\"i_rent\" value=\"72000\" min=\"0\" step=\"any\"><\/label><\/div>\n<div class=\"nc-out\" id=\"i_out\"><\/div>\n<\/section>\n<section class=\"nc-panel\" id=\"p-area\">\n<h3>Area &amp; acres<\/h3>\n<div class=\"nc-formula\">Area = Length &times; Width &nbsp;&middot;&nbsp; 1 acre = 43,560 sq ft<\/div>\n<div class=\"nc-row\"><label>Length (ft)<input type=\"number\" id=\"a_len\" value=\"100\" min=\"0\" step=\"any\"><\/label><br \/>\n  <label>Width (ft)<input type=\"number\" id=\"a_wid\" value=\"200\" min=\"0\" step=\"any\"><\/label><\/div>\n<div class=\"nc-out\" id=\"a_out\"><\/div>\n<\/section>\n<\/div>\n<style>\n#nyrep-calc{background:#fff;border:1px solid #E8DFCC;border-radius:16px;padding:22px;margin:8px 0 28px}\n#nyrep-calc .nc-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}\n#nyrep-calc .nc-tab{background:#FBF7EF;border:1px solid #E8DFCC;color:#6B6056;font-family:inherit;font-size:14px;font-weight:600;padding:9px 16px;border-radius:999px;cursor:pointer;transition:.15s}\n#nyrep-calc .nc-tab:hover{border-color:#C9A55B;color:#0F2A44}\n#nyrep-calc .nc-tab.nc-on{background:#0F2A44;border-color:#0F2A44;color:#fff}\n#nyrep-calc .nc-panel{display:none}\n#nyrep-calc .nc-panel.nc-on{display:block}\n#nyrep-calc h3{margin:0 0 10px;font-size:20px;color:#0F2A44}\n#nyrep-calc .nc-formula{background:#FBF7EF;border-left:4px solid #C9A55B;border-radius:8px;padding:11px 15px;font-size:15px;font-weight:700;color:#0F2A44;margin-bottom:16px}\n#nyrep-calc .nc-row{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:14px}\n#nyrep-calc label{flex:1 1 210px;display:flex;flex-direction:column;font-size:13.5px;font-weight:600;color:#1B3A5A;gap:6px}\n#nyrep-calc input,#nyrep-calc select{font-family:inherit;font-size:16px;padding:11px 13px;border:1px solid #E8DFCC;border-radius:10px;color:#0F2A44;background:#fff;width:100%;box-sizing:border-box}\n#nyrep-calc input:focus,#nyrep-calc select:focus{outline:2px solid #C9A55B;outline-offset:1px;border-color:#C9A55B}\n#nyrep-calc .nc-out{background:#0F2A44;border-radius:12px;padding:18px 20px;color:#D6E2EE;font-size:15px;line-height:1.75}\n#nyrep-calc .nc-out b{color:#fff}\n#nyrep-calc .nc-big{display:block;font-size:27px;font-weight:700;color:#C9A55B;margin-bottom:10px;line-height:1.25}\n#nyrep-calc .nc-step{display:block;font-size:13.5px;color:#8FA6BC;font-family:ui-monospace,Menlo,Consolas,monospace;line-height:1.7}\n@media(max-width:640px){#nyrep-calc{padding:16px}#nyrep-calc .nc-tab{font-size:13px;padding:8px 13px}}\n<\/style>\n<p><script>\n(function(){\n  var root=document.getElementById('nyrep-calc'); if(!root) return;\n  var $=function(id){return document.getElementById(id);};\n  var n=function(id){var v=parseFloat(($(id)||{}).value); return isFinite(v)?v:0;};\n  var money=function(v){return '$'+(Math.round(v*100)\/100).toLocaleString('en-US',{minimumFractionDigits:2,maximumFractionDigits:2});};\n  var pct=function(v){return (Math.round(v*100)\/100).toLocaleString('en-US',{minimumFractionDigits:2,maximumFractionDigits:2})+'%';};\n  var num=function(v,d){d=d==null?2:d;return (Math.round(v*Math.pow(10,d))\/Math.pow(10,d)).toLocaleString('en-US',{maximumFractionDigits:d});};\n  root.addEventListener('click',function(e){\n    var t=e.target.closest('.nc-tab'); if(!t) return;\n    root.querySelectorAll('.nc-tab').forEach(function(x){x.classList.remove('nc-on');});\n    root.querySelectorAll('.nc-panel').forEach(function(x){x.classList.remove('nc-on');});\n    t.classList.add('nc-on');\n    var p=$('p-'+t.dataset.p); if(p) p.classList.add('nc-on');\n  });\n  function calc(){\n    \/\/ Commission\n    var cp=n('c_price'), cr=n('c_rate'), ct=cp*cr\/100;\n    $('c_out').innerHTML='<span class=\"nc-big\">'+money(ct)+'<\/span>'+\n      '<span class=\"nc-step\">'+money(cp)+' &times; '+pct(cr)+' ('+num(cr\/100,4)+')<br \/>= '+money(ct)+'<\/span>';\n    \/\/ Split\n    var sp=n('s_price'), sr=n('s_rate'), sb=n('s_bro'), sa=n('s_agent');\n    var st=sp*sr\/100, sbAmt=st*sb\/100, saAmt=sbAmt*sa\/100;\n    $('s_out').innerHTML='<span class=\"nc-big\">Agent keeps '+money(saAmt)+'<\/span>'+\n      '<b>Total commission:<\/b> '+money(st)+'<br \/>'+\n      '<b>Your brokerage gets:<\/b> '+money(sbAmt)+'<br \/>'+\n      '<b>Broker keeps:<\/b> '+money(sbAmt-saAmt)+\n      '<span class=\"nc-step\">1. '+money(sp)+' &times; '+pct(sr)+' = '+money(st)+'<br \/>'+\n      '2. '+money(st)+' &times; '+pct(sb)+' = '+money(sbAmt)+'<br \/>'+\n      '3. '+money(sbAmt)+' &times; '+pct(sa)+' = '+money(saAmt)+'<\/span>';\n    \/\/ LTV\n    var lp=n('l_price'), ld=n('l_down'), ldAmt=lp*ld\/100, loan=lp-ldAmt;\n    var ltv=lp>0?(loan\/lp*100):0;\n    $('l_out').innerHTML='<span class=\"nc-big\">'+pct(ltv)+' LTV<\/span>'+\n      '<b>Down payment:<\/b> '+money(ldAmt)+'<br \/><b>Loan amount:<\/b> '+money(loan)+\n      '<span class=\"nc-step\">Down: '+money(lp)+' &times; '+pct(ld)+' = '+money(ldAmt)+'<br \/>'+\n      'Loan: '+money(lp)+' &minus; '+money(ldAmt)+' = '+money(loan)+'<br \/>'+\n      'LTV: '+money(loan)+' &divide; '+money(lp)+' = '+pct(ltv)+'<\/span>';\n    \/\/ Points\n    var dl=n('d_loan'), dp=n('d_pts'), dc=dl*dp\/100;\n    $('d_out').innerHTML='<span class=\"nc-big\">'+money(dc)+'<\/span>'+\n      '<span class=\"nc-step\">1 point = 1% of '+money(dl)+' = '+money(dl*0.01)+'<br \/>'+\n      num(dp)+' points &times; '+money(dl*0.01)+' = '+money(dc)+'<\/span>';\n    \/\/ Proration (365-day statutory year)\n    var ra=n('r_amt'), rd=$('r_date').value, incl=$('r_incl').value==='1', paid=$('r_paid').value;\n    var daily=ra\/365, days=0, dateOk=false;\n    if(rd){\n      var parts=rd.split('-');\n      var d=new Date(Date.UTC(+parts[0],+parts[1]-1,+parts[2]));\n      if(!isNaN(d)){\n        dateOk=true;\n        var start=Date.UTC(d.getUTCFullYear(),0,1);\n        days=Math.floor((d-start)\/86400000)+(incl?1:0);\n      }\n    }\n    var sellerShare=daily*days, buyerShare=ra-sellerShare;\n    if(!dateOk){ $('r_out').innerHTML='<b>Pick a closing date.<\/b>'; }\n    else {\n      var verdict = paid==='seller'\n        ? '<span class=\"nc-big\">Buyer owes seller '+money(buyerShare)+'<\/span>The seller already paid the full year, so the buyer reimburses the seller for the part of the year the buyer will own.'\n        : '<span class=\"nc-big\">Seller owes buyer '+money(sellerShare)+'<\/span>Nothing has been paid yet, so the seller credits the buyer for the part of the year the seller owned.';\n      $('r_out').innerHTML=verdict+\n        '<span class=\"nc-step\">Daily rate: '+money(ra)+' &divide; 365 = '+money(daily)+'<br \/>'+\n        'Seller&rsquo;s days: '+num(days,0)+(incl?' (including closing day)':' (excluding closing day)')+'<br \/>'+\n        'Seller&rsquo;s share: '+money(daily)+' &times; '+num(days,0)+' = '+money(sellerShare)+'<br \/>'+\n        'Buyer&rsquo;s share: '+money(ra)+' &minus; '+money(sellerShare)+' = '+money(buyerShare)+'<\/span>';\n    }\n    \/\/ Cap rate & GRM\n    var noi=n('i_noi'), val=n('i_val'), rent=n('i_rent');\n    var cap=val>0?(noi\/val*100):0, grm=rent>0?(val\/rent):0;\n    $('i_out').innerHTML='<span class=\"nc-big\">'+pct(cap)+' cap rate<\/span>'+\n      '<b>GRM:<\/b> '+num(grm)+\n      '<span class=\"nc-step\">Cap: '+money(noi)+' &divide; '+money(val)+' = '+pct(cap)+'<br \/>'+\n      'GRM: '+money(val)+' &divide; '+money(rent)+' = '+num(grm)+'<\/span>';\n    \/\/ Area\n    var al=n('a_len'), aw=n('a_wid'), sq=al*aw, ac=sq\/43560;\n    $('a_out').innerHTML='<span class=\"nc-big\">'+num(sq,0)+' sq ft<\/span>'+\n      '<b>Acres:<\/b> '+num(ac,4)+\n      '<span class=\"nc-step\">'+num(al)+' ft &times; '+num(aw)+' ft = '+num(sq,0)+' sq ft<br \/>'+\n      num(sq,0)+' &divide; 43,560 = '+num(ac,4)+' acres<\/span>';\n  }\n  root.addEventListener('input',calc);\n  root.addEventListener('change',calc);\n  calc();\n})();\n<\/script><\/p>\n<div style=\"background:#FBF7EF;border:1px solid #E8DFCC;border-left:4px solid #C9A55B;border-radius:12px;padding:18px 22px;margin:28px 0;font-size:14.5px;line-height:1.6;color:#6B6056\"><strong style=\"color:#0F2A44;display:block;margin-bottom:6px\">A warning about calculators<\/strong>You will not have this on exam day. Use it to check your work and to see the steps &mdash; then do the next one on paper. The exam tests whether <em>you<\/em> can run the method, not whether a tool can.<\/div>\n<div style=\"background:#FBF7EF;border:1px solid #E8DFCC;border-left:4px solid #C9A55B;border-radius:12px;padding:18px 22px;margin:28px 0;font-size:14px;line-height:1.55;color:#6B6056\"><strong style=\"color:#0F2A44;display:block;margin-bottom:6px\">Educational use only<\/strong>NY Real Estate Prep is an independent study tool &mdash; not affiliated with the New York Department of State or any licensing authority. This material is not legal, tax, or financial advice. Proration conventions vary by contract; the calculator uses a 365-day year. Always verify current exam policies and licensing requirements directly with the NY DOS at <a href=\"https:\/\/dos.ny.gov\" rel=\"noopener\" style=\"color:#8C6230\">dos.ny.gov<\/a>.<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Six calculators for every kind of math question on the New York Real Estate Salesperson exam. Each one shows the formula and the worked steps &mdash; not just the answer &mdash; so you learn the method instead of leaning on the tool. Math is roughly 10% of the exam and it is the most learnable [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1194","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/nyrealestateprep.com\/index.php?rest_route=\/wp\/v2\/pages\/1194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nyrealestateprep.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nyrealestateprep.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nyrealestateprep.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nyrealestateprep.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1194"}],"version-history":[{"count":1,"href":"https:\/\/nyrealestateprep.com\/index.php?rest_route=\/wp\/v2\/pages\/1194\/revisions"}],"predecessor-version":[{"id":1195,"href":"https:\/\/nyrealestateprep.com\/index.php?rest_route=\/wp\/v2\/pages\/1194\/revisions\/1195"}],"wp:attachment":[{"href":"https:\/\/nyrealestateprep.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}