{"id":2170,"date":"2026-07-15T18:24:47","date_gmt":"2026-07-15T17:24:47","guid":{"rendered":"https:\/\/prevaux.ch\/?page_id=2170"},"modified":"2026-07-18T12:30:23","modified_gmt":"2026-07-18T11:30:23","slug":"rental-earnings-calculator","status":"publish","type":"page","link":"https:\/\/prevaux.ch\/fr\/rental-earnings-calculator\/","title":{"rendered":"Calculateur de revenus locatifs"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2170\" class=\"elementor elementor-2170\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f743242 e-flex e-con-boxed e-con e-parent\" data-id=\"f743242\" data-element_type=\"container\" data-e-type=\"container\" id=\"rental-earnings-calculator\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1ee4c95 elementor-widget__width-initial elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"1ee4c95\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Rental Earnings Calculator<\/h1>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6a17c8d e-flex e-con-boxed e-con e-parent\" data-id=\"6a17c8d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-ab77ca3 e-con-full e-flex e-con e-child\" data-id=\"ab77ca3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b29fecf elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"b29fecf\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>The <strong><span tabindex=\"0\" role=\"button\" data-url=\"ca:\/\/s?q=Tell_me_more_about_the_Rental_Earnings_Calculator\">Rental Earnings Calculator<\/span><\/strong> is a free, data\u2011driven tool designed for second\u2011home owners in Vaud or Valais who want to understand the <strong>earning potential<\/strong> of their property. It instantly estimates your <strong>annual net earnings<\/strong> based on real market prices, occupancy trends, and operating costs. Because chalets and apartments perform differently in the rental market, make sure you select the correct property type to receive an accurate projection. This tool helps owners make informed decisions, compare scenarios, and evaluate whether professional rental management could increase their returns.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cbb515c e-flex e-con-boxed e-con e-parent\" data-id=\"cbb515c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a71bf30 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"a71bf30\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Chalets<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7e8dddd elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-spacer\" data-id=\"7e8dddd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-685962e elementor-hidden-mobile e-flex e-con-boxed e-con e-parent\" data-id=\"685962e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ff1759f elementor-widget elementor-widget-html\" data-id=\"ff1759f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"prevaux-calculator\" style=\"max-width:700px;margin:0 auto;font-family:'Montserrat',sans-serif;color:#000;\">\n\n  <!-- Chalet size buttons -->\n  <div style=\"display:flex;justify-content:space-between;margin-bottom:24px;gap:8px;\">\n    <button class=\"size-btn\" data-size=\"50\"  style=\"flex:1;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">50 sqm<\/button>\n    <button class=\"size-btn\" data-size=\"75\"  style=\"flex:1;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">75 sqm<\/button>\n    <button class=\"size-btn\" data-size=\"100\" style=\"flex:1;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">100 sqm<\/button>\n    <button class=\"size-btn\" data-size=\"125\" style=\"flex:1;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">125 sqm<\/button>\n    <button class=\"size-btn\" data-size=\"150\" style=\"flex:1;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">150 sqm<\/button>\n  <\/div>\n\n  <!-- Weekly price slider -->\n  <div style=\"margin-bottom:24px;\">\n    <div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;\">\n      <span style=\"font-size:14px;\">Weekly selling price (CHF)<\/span>\n      <span id=\"price-display\" style=\"font-size:14px;font-weight:500;\">\u2013<\/span>\n    <\/div>\n    <input id=\"price-slider\" type=\"range\" min=\"0\" max=\"0\" value=\"0\" step=\"10\"\n           style=\"width:100%;accent-color:#000;\">\n    <div style=\"display:flex;justify-content:space-between;font-size:12px;margin-top:4px;\">\n      <span id=\"price-min\">\u2013<\/span>\n      <span id=\"price-max\">\u2013<\/span>\n    <\/div>\n  <\/div>\n\n  <!-- Occupancy slider -->\n  <div style=\"margin-bottom:24px;\">\n    <div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;\">\n      <span style=\"font-size:14px;\">Occupancy (weeks per year)<\/span>\n      <span id=\"weeks-display\" style=\"font-size:14px;font-weight:500;\">\u2013<\/span>\n    <\/div>\n    <input id=\"weeks-slider\" type=\"range\" min=\"25\" max=\"32\" value=\"28\" step=\"1\"\n           style=\"width:100%;accent-color:#000;\">\n    <div style=\"display:flex;justify-content:space-between;font-size:12px;margin-top:4px;\">\n      <span>25 weeks<\/span>\n      <span>32 weeks<\/span>\n    <\/div>\n  <\/div>\n\n  <!-- Result card -->\n  <div style=\"border:1px solid #000;padding:20px;margin-top:8px;text-align:center;\">\n    <div style=\"font-size:14px;margin-bottom:8px;\">Estimated Net Earnings<\/div>\n    <div style=\"font-size:14px;margin-bottom:8px;\">(Includes Prevaux's 19% commission and OTAs fees)<\/div>\n    <br>\n    <div id=\"net-value\" style=\"font-size:22px;font-weight:600;margin-bottom:4px;\">\u2013<\/div>\n    <div id=\"net-percent\" style=\"font-size:14px;font-weight:500;color:#555;\">\u2013<\/div>\n  <\/div>\n  <div style=\"margin-top:12px;font-size:11px;line-height:1.5;color:#555;text-align:left;\">\n  The results provided by this Rental Earnings Calculator are estimates based on standard market assumptions.\n  Actual earnings vary depending on the specific characteristics of each property, its condition, location,\n  and the services required. Variable utility and ownership costs \u2014 such as heating, electricity, water,\n  PPE fees, and general maintenance \u2014 are not included in this estimate. A detailed, personalised calculation\n  is always performed case by case as part of our professional assessment.\n<\/div>\n<\/div>\n\n<script>\n(function() {\n\n  \/* -------------------------\n     SAFETY CHECK: ONLY RUN IF\n     DESKTOP CHALET HTML EXISTS\n     ------------------------- *\/\n  const container = document.getElementById('prevaux-calculator');\n  if (!container) return;\n\n  const chaletPresets = {\n    50:  { price: 2200, registration: 500, insurance: 300, cos: 0.14227 },\n    75:  { price: 2800, registration: 500, insurance: 310, cos: 0.14500 },\n    100: { price: 3400, registration: 500, insurance: 320, cos: 0.15382 },\n    125: { price: 4100, registration: 500, insurance: 330, cos: 0.14390 },\n    150: { price: 5300, registration: 500, insurance: 400, cos: 0.13208 }\n  };\n\n  const PREVAUX_PERCENT = 0.19;\n  const OTA_PERCENT = 0.15;\n\n  let currentSize = null;\n\n  const sizeButtons   = container.querySelectorAll('.size-btn');\n  const priceSlider   = document.getElementById('price-slider');\n  const priceDisplay  = document.getElementById('price-display');\n  const priceMinLabel = document.getElementById('price-min');\n  const priceMaxLabel = document.getElementById('price-max');\n  const weeksSlider   = document.getElementById('weeks-slider');\n  const weeksDisplay  = document.getElementById('weeks-display');\n  const netValueEl    = document.getElementById('net-value');\n  const netPercentEl  = document.getElementById('net-percent');\n\n  \/* -------------------------\n     SAFETY CHECK: IF ANY KEY\n     ELEMENT IS MISSING, STOP\n     ------------------------- *\/\n  if (!priceSlider || !weeksSlider || !priceDisplay || !weeksDisplay || !netValueEl || !netPercentEl) {\n    return;\n  }\n\n  function formatCHF(value) {\n    return 'CHF ' + value.toLocaleString('de-CH', { maximumFractionDigits: 0 });\n  }\n\n  function formatPercent(value) {\n    return (value * 100).toFixed(0) + ' %';\n  }\n\n  function updatePriceRange() {\n    if (!currentSize) return;\n\n    const base = chaletPresets[currentSize].price;\n    const min  = Math.round(base * 0.90);\n    const max  = Math.round(base * 1.10);\n\n    priceSlider.min   = min;\n    priceSlider.max   = max;\n    priceSlider.value = base;\n\n    priceMinLabel.textContent = formatCHF(min);\n    priceMaxLabel.textContent = formatCHF(max);\n    priceDisplay.textContent  = formatCHF(base);\n\n    calculate();\n  }\n\n  function calculate() {\n    if (!currentSize) {\n      netValueEl.textContent   = '\u2013';\n      netPercentEl.textContent = '\u2013';\n      return;\n    }\n\n    const preset   = chaletPresets[currentSize];\n    const price    = Number(priceSlider.value);\n    const weeks    = Number(weeksSlider.value);\n\n    priceDisplay.textContent = formatCHF(price);\n    weeksDisplay.textContent = weeks + ' weeks';\n\n    const revenueAnnual = price * weeks;\n\n    const cosWeekly   = price * preset.cos;\n    const gmWeekly    = price - cosWeekly;\n\n    const gmAnnual    = gmWeekly * weeks;\n\n    const prevauxFee  = revenueAnnual * PREVAUX_PERCENT;\n    const otaFee      = revenueAnnual * OTA_PERCENT;\n\n    const registration= preset.registration;\n    const insurance   = preset.insurance;\n\n    const totalOpex   = prevauxFee + otaFee + registration + insurance;\n\n    const netEarnings = gmAnnual - totalOpex;\n\n    const netPercent  = revenueAnnual > 0 ? (netEarnings \/ revenueAnnual) : 0;\n\n    netValueEl.textContent   = formatCHF(Math.round(netEarnings));\n    netPercentEl.textContent = formatPercent(netPercent);\n  }\n\n  sizeButtons.forEach(btn => {\n    btn.addEventListener('click', () => {\n\n      sizeButtons.forEach(b => {\n        b.style.background = '#fff';\n        b.style.color = '#000';\n      });\n\n      btn.style.background = '#000';\n      btn.style.color = '#fff';\n\n      currentSize = btn.getAttribute('data-size');\n      updatePriceRange();\n    });\n  });\n\n  priceSlider.addEventListener('input', calculate);\n  weeksSlider.addEventListener('input', calculate);\n\n  const defaultBtn = container.querySelector('.size-btn[data-size=\"100\"]');\n  if (defaultBtn) defaultBtn.click();\n\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6a84a2b elementor-hidden-desktop elementor-hidden-tablet e-flex e-con-boxed e-con e-parent\" data-id=\"6a84a2b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fedc3da elementor-widget elementor-widget-html\" data-id=\"fedc3da\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"prevaux-calculator-chalet-mobile\" style=\"width:100%;max-width:100%;padding:0 12px;margin:0 auto;font-family:'Montserrat',sans-serif;color:#000;box-sizing:border-box;\">\n\n  <!-- Chalet size buttons (first row: 50,75,100 \u2014 second row: 125,150) -->\n  <div style=\"display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;\">\n    <button class=\"size-btn-chalet-mobile\" data-size=\"50\"  style=\"flex:1 1 30%;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">50 sqm<\/button>\n    <button class=\"size-btn-chalet-mobile\" data-size=\"75\"  style=\"flex:1 1 30%;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">75 sqm<\/button>\n    <button class=\"size-btn-chalet-mobile\" data-size=\"100\" style=\"flex:1 1 30%;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">100 sqm<\/button>\n\n    <button class=\"size-btn-chalet-mobile\" data-size=\"125\" style=\"flex:1 1 48%;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">125 sqm<\/button>\n    <button class=\"size-btn-chalet-mobile\" data-size=\"150\" style=\"flex:1 1 48%;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">150 sqm<\/button>\n  <\/div>\n\n  <!-- Weekly price slider -->\n  <div style=\"margin-bottom:16px;\">\n    <div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;\">\n      <span style=\"font-size:14px;\">Weekly selling price (CHF)<\/span>\n      <span id=\"price-display-chalet-mobile\" style=\"font-size:14px;font-weight:500;\">\u2013<\/span>\n    <\/div>\n    <input id=\"price-slider-chalet-mobile\" type=\"range\" min=\"0\" max=\"0\" value=\"0\" step=\"10\"\n           style=\"width:100%;accent-color:#000;\">\n    <div style=\"display:flex;justify-content:space-between;font-size:12px;margin-top:4px;\">\n      <span id=\"price-min-chalet-mobile\">\u2013<\/span>\n      <span id=\"price-max-chalet-mobile\">\u2013<\/span>\n    <\/div>\n  <\/div>\n\n  <!-- Occupancy slider -->\n  <div style=\"margin-bottom:16px;\">\n    <div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;\">\n      <span style=\"font-size:14px;\">Occupancy (weeks per year)<\/span>\n      <span id=\"weeks-display-chalet-mobile\" style=\"font-size:14px;font-weight:500;\">\u2013<\/span>\n    <\/div>\n    <input id=\"weeks-slider-chalet-mobile\" type=\"range\" min=\"25\" max=\"32\" value=\"28\" step=\"1\"\n           style=\"width:100%;accent-color:#000;\">\n    <div style=\"display:flex;justify-content:space-between;font-size:12px;margin-top:4px;\">\n      <span>25 weeks<\/span>\n      <span>32 weeks<\/span>\n    <\/div>\n  <\/div>\n\n  <!-- Result card -->\n  <div style=\"border:1px solid #000;padding:16px;margin-top:8px;text-align:center;\">\n    <div style=\"font-size:13px;margin-bottom:6px;\">Estimated Net Earnings<\/div>\n    <div style=\"font-size:12px;margin-bottom:6px;\">(Includes Prevaux's 19% commission and OTAs fees)<\/div>\n    <br>\n    <div id=\"net-value-chalet-mobile\" style=\"font-size:20px;font-weight:600;margin-bottom:4px;\">\u2013<\/div>\n    <div id=\"net-percent-chalet-mobile\" style=\"font-size:13px;font-weight:500;color:#555;\">\u2013<\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n  const chaletPresetsMobile = {\n    50:  { price: 2200, registration: 500, insurance: 300, cos: 0.14227 },\n    75:  { price: 2800, registration: 500, insurance: 310, cos: 0.14500 },\n    100: { price: 3400, registration: 500, insurance: 320, cos: 0.15382 },\n    125: { price: 4100, registration: 500, insurance: 330, cos: 0.14390 },\n    150: { price: 5300, registration: 500, insurance: 400, cos: 0.13208 }\n  };\n\n  const PREVAUX_PERCENT = 0.19;\n  const OTA_PERCENT = 0.15;\n\n  let currentSizeMobile = null;\n\n  const sizeButtons   = document.querySelectorAll('#prevaux-calculator-chalet-mobile .size-btn-chalet-mobile');\n  const priceSlider   = document.getElementById('price-slider-chalet-mobile');\n  const priceDisplay  = document.getElementById('price-display-chalet-mobile');\n  const priceMinLabel = document.getElementById('price-min-chalet-mobile');\n  const priceMaxLabel = document.getElementById('price-max-chalet-mobile');\n  const weeksSlider   = document.getElementById('weeks-slider-chalet-mobile');\n  const weeksDisplay  = document.getElementById('weeks-display-chalet-mobile');\n  const netValueEl    = document.getElementById('net-value-chalet-mobile');\n  const netPercentEl  = document.getElementById('net-percent-chalet-mobile');\n\n  function formatCHF(value) {\n    return 'CHF ' + value.toLocaleString('de-CH', { maximumFractionDigits: 0 });\n  }\n\n  function formatPercent(value) {\n    return (value * 100).toFixed(0) + ' %';\n  }\n\n  function updatePriceRangeMobile() {\n    if (!currentSizeMobile) return;\n    const base = chaletPresetsMobile[currentSizeMobile].price;\n    const min  = Math.round(base * 0.90);\n    const max  = Math.round(base * 1.10);\n\n    priceSlider.min   = min;\n    priceSlider.max   = max;\n    priceSlider.value = base;\n\n    priceMinLabel.textContent = formatCHF(min);\n    priceMaxLabel.textContent = formatCHF(max);\n    priceDisplay.textContent  = formatCHF(base);\n\n    calculateMobile();\n  }\n\n  function calculateMobile() {\n    if (!currentSizeMobile) {\n      netValueEl.textContent   = '\u2013';\n      netPercentEl.textContent = '\u2013';\n      return;\n    }\n\n    const preset   = chaletPresetsMobile[currentSizeMobile];\n    const price    = Number(priceSlider.value);\n    const weeks    = Number(weeksSlider.value);\n\n    priceDisplay.textContent = formatCHF(price);\n    weeksDisplay.textContent = weeks + ' weeks';\n\n    const revenueAnnual = price * weeks;\n\n    const cosWeekly   = price * preset.cos;\n    const gmWeekly    = price - cosWeekly;\n\n    const gmAnnual    = gmWeekly * weeks;\n\n    const prevauxFee  = revenueAnnual * PREVAUX_PERCENT;\n    const otaFee      = revenueAnnual * OTA_PERCENT;\n\n    const registration= preset.registration;\n    const insurance   = preset.insurance;\n\n    const totalOpex   = prevauxFee + otaFee + registration + insurance;\n\n    const netEarnings = gmAnnual - totalOpex;\n\n    const netPercent  = revenueAnnual > 0 ? (netEarnings \/ revenueAnnual) : 0;\n\n    netValueEl.textContent   = formatCHF(Math.round(netEarnings));\n    netPercentEl.textContent = formatPercent(netPercent);\n  }\n\n  sizeButtons.forEach(btn => {\n    btn.addEventListener('click', () => {\n      sizeButtons.forEach(b => {\n        b.style.background = '#fff';\n        b.style.color = '#000';\n      });\n      btn.style.background = '#000';\n      btn.style.color = '#fff';\n\n      currentSizeMobile = btn.getAttribute('data-size');\n      updatePriceRangeMobile();\n    });\n  });\n\n  priceSlider.addEventListener('input', calculateMobile);\n  weeksSlider.addEventListener('input', calculateMobile);\n\n  const defaultBtn = document.querySelector('#prevaux-calculator-chalet-mobile .size-btn-chalet-mobile[data-size=\"100\"]');\n  if (defaultBtn) defaultBtn.click();\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-744a5c3 e-flex e-con-boxed e-con e-parent\" data-id=\"744a5c3\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c8e4c25 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"c8e4c25\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Apartments<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7a06c24 elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-spacer\" data-id=\"7a06c24\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0ec752e elementor-hidden-mobile e-flex e-con-boxed e-con e-parent\" data-id=\"0ec752e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cea4e7c elementor-widget elementor-widget-html\" data-id=\"cea4e7c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"prevaux-calculator-apartment\" style=\"max-width:700px;margin:0 auto;font-family:'Montserrat',sans-serif;color:#000;\">\n\n  <!-- Apartment size buttons -->\n  <div style=\"display:flex;justify-content:space-between;margin-bottom:24px;gap:8px;\">\n    <button class=\"apt-size-btn\" data-size=\"50\"  style=\"flex:1;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">50 sqm<\/button>\n    <button class=\"apt-size-btn\" data-size=\"75\"  style=\"flex:1;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">75 sqm<\/button>\n    <button class=\"apt-size-btn\" data-size=\"100\" style=\"flex:1;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">100 sqm<\/button>\n    <button class=\"apt-size-btn\" data-size=\"125\" style=\"flex:1;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">125 sqm<\/button>\n    <button class=\"apt-size-btn\" data-size=\"150\" style=\"flex:1;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">150 sqm<\/button>\n  <\/div>\n\n  <!-- Weekly price slider -->\n  <div style=\"margin-bottom:24px;\">\n    <div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;\">\n      <span style=\"font-size:14px;\">Weekly selling price (CHF)<\/span>\n      <span id=\"apt-price-display\" style=\"font-size:14px;font-weight:500;\">\u2013<\/span>\n    <\/div>\n    <input id=\"apt-price-slider\" type=\"range\" min=\"0\" max=\"0\" value=\"0\" step=\"10\"\n           style=\"width:100%;accent-color:#000;\">\n    <div style=\"display:flex;justify-content:space-between;font-size:12px;margin-top:4px;\">\n      <span id=\"apt-price-min\">\u2013<\/span>\n      <span id=\"apt-price-max\">\u2013<\/span>\n    <\/div>\n  <\/div>\n\n  <!-- Occupancy slider -->\n  <div style=\"margin-bottom:24px;\">\n    <div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;\">\n      <span style=\"font-size:14px;\">Occupancy (weeks per year)<\/span>\n      <span id=\"apt-weeks-display\" style=\"font-size:14px;font-weight:500;\">\u2013<\/span>\n    <\/div>\n    <input id=\"apt-weeks-slider\" type=\"range\" min=\"25\" max=\"32\" value=\"28\" step=\"1\"\n           style=\"width:100%;accent-color:#000;\">\n    <div style=\"display:flex;justify-content:space-between;font-size:12px;margin-top:4px;\">\n      <span>25 weeks<\/span>\n      <span>32 weeks<\/span>\n    <\/div>\n  <\/div>\n\n  <!-- Result card -->\n  <div style=\"border:1px solid #000;padding:20px;margin-top:8px;text-align:center;\">\n    <div style=\"font-size:14px;margin-bottom:8px;\">Estimated Net Earnings<\/div>\n    <div style=\"font-size:14px;margin-bottom:8px;\">(Includes Prevaux's 19% commission and OTAs fees)<\/div>\n    <br>\n    <div id=\"apt-net-value\" style=\"font-size:22px;font-weight:600;margin-bottom:4px;\">\u2013<\/div>\n    <div id=\"apt-net-percent\" style=\"font-size:14px;font-weight:500;color:#555;\">\u2013<\/div>\n  <\/div>\n\n  <p style=\"font-size:11px;margin-top:12px;line-height:1.4;\">\n    The results provided by this Rental Earnings Calculator are estimates based on standard market assumptions.\n    Actual earnings vary depending on the specific characteristics of each property, its condition, location, and the services required.\n    Variable utility and ownership costs \u2014 such as heating, electricity, water, PPE fees, and general maintenance \u2014 are not included in this estimate.\n    A detailed, personalised calculation is always performed case by case as part of our professional assessment.\n  <\/p>\n<\/div>\n\n<script>\n(function() {\n  const apartmentPresets = {\n    50:  { price: 1600, registration: 500, insurance: 150, cos: 0.19563 },\n    75:  { price: 2100, registration: 500, insurance: 180, cos: 0.19333 },\n    100: { price: 2700, registration: 500, insurance: 200, cos: 0.19370 },\n    125: { price: 3300, registration: 500, insurance: 220, cos: 0.17879 },\n    150: { price: 3900, registration: 500, insurance: 250, cos: 0.17949 }\n  };\n\n  const PREVAUX_PERCENT = 0.19;\n  const OTA_PERCENT = 0.15;\n\n  let currentSize = null;\n\n  const sizeButtons   = document.querySelectorAll('#prevaux-calculator-apartment .apt-size-btn');\n  const priceSlider   = document.getElementById('apt-price-slider');\n  const priceDisplay  = document.getElementById('apt-price-display');\n  const priceMinLabel = document.getElementById('apt-price-min');\n  const priceMaxLabel = document.getElementById('apt-price-max');\n  const weeksSlider   = document.getElementById('apt-weeks-slider');\n  const weeksDisplay  = document.getElementById('apt-weeks-display');\n  const netValueEl    = document.getElementById('apt-net-value');\n  const netPercentEl  = document.getElementById('apt-net-percent');\n\n  function formatCHF(value) {\n    return 'CHF ' + value.toLocaleString('de-CH', { maximumFractionDigits: 0 }).replace(\/\\s\/g, '\u2019');\n  }\n\n  function formatPercent(value) {\n    return (value * 100).toFixed(0) + ' %';\n  }\n\n  function updatePriceRange() {\n    if (!currentSize) return;\n    const base = apartmentPresets[currentSize].price;\n    const min  = Math.round(base * 0.90);\n    const max  = Math.round(base * 1.10);\n\n    priceSlider.min   = min;\n    priceSlider.max   = max;\n    priceSlider.value = base;\n\n    priceMinLabel.textContent = formatCHF(min);\n    priceMaxLabel.textContent = formatCHF(max);\n    priceDisplay.textContent  = formatCHF(base);\n\n    calculate();\n  }\n\n  function calculate() {\n    if (!currentSize) {\n      netValueEl.textContent   = '\u2013';\n      netPercentEl.textContent = '\u2013';\n      return;\n    }\n\n    const preset   = apartmentPresets[currentSize];\n    const price    = Number(priceSlider.value);\n    const weeks    = Number(weeksSlider.value);\n\n    priceDisplay.textContent = formatCHF(price);\n    weeksDisplay.textContent = weeks + ' weeks';\n\n    \/\/ Annual revenue\n    const revenueAnnual = price * weeks;\n\n    \/\/ GM weekly using exact COS %\n    const cosWeekly   = price * preset.cos;\n    const gmWeekly    = price - cosWeekly;\n\n    \/\/ GM annual\n    const gmAnnual    = gmWeekly * weeks;\n\n    \/\/ Percentage-based OPEX on REVENUE\n    const prevauxFee  = revenueAnnual * PREVAUX_PERCENT;\n    const otaFee      = revenueAnnual * OTA_PERCENT;\n\n    \/\/ Fixed OPEX (only registration + insurance)\n    const registration= preset.registration;\n    const insurance   = preset.insurance;\n\n    const totalOpex   = prevauxFee + otaFee + registration + insurance;\n\n    \/\/ Net Earnings (EBITDA)\n    const netEarnings = gmAnnual - totalOpex;\n\n    \/\/ EBITDA % based on REVENUE\n    const netPercent  = revenueAnnual > 0 ? (netEarnings \/ revenueAnnual) : 0;\n\n    netValueEl.textContent   = formatCHF(Math.round(netEarnings));\n    netPercentEl.textContent = formatPercent(netPercent);\n  }\n\n  sizeButtons.forEach(btn => {\n    btn.addEventListener('click', () => {\n      sizeButtons.forEach(b => {\n        b.style.background = '#fff';\n        b.style.color = '#000';\n      });\n      btn.style.background = '#000';\n      btn.style.color = '#fff';\n\n      currentSize = btn.getAttribute('data-size');\n      updatePriceRange();\n    });\n  });\n\n  priceSlider.addEventListener('input', calculate);\n  weeksSlider.addEventListener('input', calculate);\n\n  \/\/ Default selection: 100 sqm\n  const defaultBtn = document.querySelector('#prevaux-calculator-apartment .apt-size-btn[data-size=\"100\"]');\n  if (defaultBtn) defaultBtn.click();\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-94952c7 elementor-hidden-desktop elementor-hidden-tablet e-flex e-con-boxed e-con e-parent\" data-id=\"94952c7\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d8975f3 elementor-widget elementor-widget-html\" data-id=\"d8975f3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"prevaux-calculator-apartment-mobile\" style=\"width:100%;max-width:100%;padding:0 12px;margin:0 auto;font-family:'Montserrat',sans-serif;color:#000;box-sizing:border-box;\">\n\n  <!-- Apartment size buttons (first row: 50,75,100 \u2014 second row: 125,150) -->\n  <div style=\"display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;\">\n    <button class=\"apt-size-btn-mobile\" data-size=\"50\"  style=\"flex:1 1 30%;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">50 sqm<\/button>\n    <button class=\"apt-size-btn-mobile\" data-size=\"75\"  style=\"flex:1 1 30%;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">75 sqm<\/button>\n    <button class=\"apt-size-btn-mobile\" data-size=\"100\" style=\"flex:1 1 30%;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">100 sqm<\/button>\n\n    <button class=\"apt-size-btn-mobile\" data-size=\"125\" style=\"flex:1 1 48%;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">125 sqm<\/button>\n    <button class=\"apt-size-btn-mobile\" data-size=\"150\" style=\"flex:1 1 48%;padding:10px;border:1px solid #000;background:#fff;color:#000;cursor:pointer;\">150 sqm<\/button>\n  <\/div>\n\n  <!-- Weekly price slider -->\n  <div style=\"margin-bottom:16px;\">\n    <div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;\">\n      <span style=\"font-size:14px;\">Weekly selling price (CHF)<\/span>\n      <span id=\"apt-price-display-mobile\" style=\"font-size:14px;font-weight:500;\">\u2013<\/span>\n    <\/div>\n    <input id=\"apt-price-slider-mobile\" type=\"range\" min=\"0\" max=\"0\" value=\"0\" step=\"10\"\n           style=\"width:100%;accent-color:#000;\">\n    <div style=\"display:flex;justify-content:space-between;font-size:12px;margin-top:4px;\">\n      <span id=\"apt-price-min-mobile\">\u2013<\/span>\n      <span id=\"apt-price-max-mobile\">\u2013<\/span>\n    <\/div>\n  <\/div>\n\n  <!-- Occupancy slider -->\n  <div style=\"margin-bottom:16px;\">\n    <div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;\">\n      <span style=\"font-size:14px;\">Occupancy (weeks per year)<\/span>\n      <span id=\"apt-weeks-display-mobile\" style=\"font-size:14px;font-weight:500;\">\u2013<\/span>\n    <\/div>\n    <input id=\"apt-weeks-slider-mobile\" type=\"range\" min=\"25\" max=\"32\" value=\"28\" step=\"1\"\n           style=\"width:100%;accent-color:#000;\">\n    <div style=\"display:flex;justify-content:space-between;font-size:12px;margin-top:4px;\">\n      <span>25 weeks<\/span>\n      <span>32 weeks<\/span>\n    <\/div>\n  <\/div>\n\n  <!-- Result card -->\n  <div style=\"border:1px solid #000;padding:16px;margin-top:8px;text-align:center;\">\n    <div style=\"font-size:13px;margin-bottom:6px;\">Estimated Net Earnings<\/div>\n    <div style=\"font-size:12px;margin-bottom:6px;\">(Includes Prevaux's 19% commission and OTAs fees)<\/div>\n    <br>\n    <div id=\"apt-net-value-mobile\" style=\"font-size:20px;font-weight:600;margin-bottom:4px;\">\u2013<\/div>\n    <div id=\"apt-net-percent-mobile\" style=\"font-size:13px;font-weight:500;color:#555;\">\u2013<\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function() {\n  const apartmentPresetsMobile = {\n    50:  { price: 1600, registration: 500, insurance: 150, cos: 0.19563 },\n    75:  { price: 2100, registration: 500, insurance: 180, cos: 0.19333 },\n    100: { price: 2700, registration: 500, insurance: 200, cos: 0.19370 },\n    125: { price: 3300, registration: 500, insurance: 220, cos: 0.17879 },\n    150: { price: 3900, registration: 500, insurance: 250, cos: 0.17949 }\n  };\n\n  const PREVAUX_PERCENT = 0.19;\n  const OTA_PERCENT = 0.15;\n\n  let currentSizeMobile = null;\n\n  const sizeButtons   = document.querySelectorAll('#prevaux-calculator-apartment-mobile .apt-size-btn-mobile');\n  const priceSlider   = document.getElementById('apt-price-slider-mobile');\n  const priceDisplay  = document.getElementById('apt-price-display-mobile');\n  const priceMinLabel = document.getElementById('apt-price-min-mobile');\n  const priceMaxLabel = document.getElementById('apt-price-max-mobile');\n  const weeksSlider   = document.getElementById('apt-weeks-slider-mobile');\n  const weeksDisplay  = document.getElementById('apt-weeks-display-mobile');\n  const netValueEl    = document.getElementById('apt-net-value-mobile');\n  const netPercentEl  = document.getElementById('apt-net-percent-mobile');\n\n  function formatCHF(value) {\n    return 'CHF ' + value.toLocaleString('de-CH', { maximumFractionDigits: 0 });\n  }\n\n  function formatPercent(value) {\n    return (value * 100).toFixed(0) + ' %';\n  }\n\n  function updatePriceRangeMobile() {\n    if (!currentSizeMobile) return;\n    const base = apartmentPresetsMobile[currentSizeMobile].price;\n    const min  = Math.round(base * 0.90);\n    const max  = Math.round(base * 1.10);\n\n    priceSlider.min   = min;\n    priceSlider.max   = max;\n    priceSlider.value = base;\n\n    priceMinLabel.textContent = formatCHF(min);\n    priceMaxLabel.textContent = formatCHF(max);\n    priceDisplay.textContent  = formatCHF(base);\n\n    calculateMobile();\n  }\n\n  function calculateMobile() {\n    if (!currentSizeMobile) {\n      netValueEl.textContent   = '\u2013';\n      netPercentEl.textContent = '\u2013';\n      return;\n    }\n\n    const preset   = apartmentPresetsMobile[currentSizeMobile];\n    const price    = Number(priceSlider.value);\n    const weeks    = Number(weeksSlider.value);\n\n    priceDisplay.textContent = formatCHF(price);\n    weeksDisplay.textContent = weeks + ' weeks';\n\n    const revenueAnnual = price * weeks;\n\n    const cosWeekly   = price * preset.cos;\n    const gmWeekly    = price - cosWeekly;\n\n    const gmAnnual    = gmWeekly * weeks;\n\n    const prevauxFee  = revenueAnnual * PREVAUX_PERCENT;\n    const otaFee      = revenueAnnual * OTA_PERCENT;\n\n    const registration= preset.registration;\n    const insurance   = preset.insurance;\n\n    const totalOpex   = prevauxFee + otaFee + registration + insurance;\n\n    const netEarnings = gmAnnual - totalOpex;\n\n    const netPercent  = revenueAnnual > 0 ? (netEarnings \/ revenueAnnual) : 0;\n\n    netValueEl.textContent   = formatCHF(Math.round(netEarnings));\n    netPercentEl.textContent = formatPercent(netPercent);\n  }\n\n  sizeButtons.forEach(btn => {\n    btn.addEventListener('click', () => {\n      sizeButtons.forEach(b => {\n        b.style.background = '#fff';\n        b.style.color = '#000';\n      });\n      btn.style.background = '#000';\n      btn.style.color = '#fff';\n\n      currentSizeMobile = btn.getAttribute('data-size');\n      updatePriceRangeMobile();\n    });\n  });\n\n  priceSlider.addEventListener('input', calculateMobile);\n  weeksSlider.addEventListener('input', calculateMobile);\n\n  const defaultBtn = document.querySelector('#prevaux-calculator-apartment-mobile .apt-size-btn-mobile[data-size=\"100\"]');\n  if (defaultBtn) defaultBtn.click();\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-247fc01 e-flex e-con-boxed e-con e-parent\" data-id=\"247fc01\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e3c9c8c elementor-widget elementor-widget-spacer\" data-id=\"e3c9c8c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6e2c5b3 elementor-hidden-desktop elementor-hidden-tablet e-con-full e-flex e-con e-parent\" data-id=\"6e2c5b3\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bb92ce2 elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"bb92ce2\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>The results provided by this Rental Earnings Calculator are estimates based on standard market assumptions. Actual earnings vary depending on the specific characteristics of each property, its condition, location, and the services required. Variable utility and ownership costs \u2014 such as heating, electricity, water, PPE fees, and general maintenance \u2014 are not included in this estimate. A detailed, personalised calculation is always performed case by case as part of our professional assessment. increase their returns.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b9a16ab e-flex e-con-boxed e-con e-parent\" data-id=\"b9a16ab\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7cebf43 elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-spacer\" data-id=\"7cebf43\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e486727 e-flex e-con-boxed e-con e-parent\" data-id=\"e486727\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-61751fe elementor-tablet-align-justify elementor-mobile-align-justify elementor-align-center elementor-widget-mobile__width-initial elementor-invisible elementor-widget elementor-widget-button\" data-id=\"61751fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/wa.me\/41779127793\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Speak with us about your property\u2019s earning potential<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-74d922e e-flex e-con-boxed e-con e-parent\" data-id=\"74d922e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7578a61 elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-spacer\" data-id=\"7578a61\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3ad1ac1 elementor-hidden-desktop elementor-hidden-tablet e-flex e-con-boxed e-con e-parent\" data-id=\"3ad1ac1\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7285ad7 elementor-widget elementor-widget-spacer\" data-id=\"7285ad7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d6e446e elementor-hidden-mobile e-flex e-con-boxed e-con e-parent\" data-id=\"d6e446e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3624af5 elementor-widget elementor-widget-spacer\" data-id=\"3624af5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Rental Earnings Calculator The Rental Earnings Calculator is a free, data\u2011driven tool designed for second\u2011home owners in Vaud or Valais who want to understand the earning potential of their property. It instantly estimates your annual net earnings based on real market prices, occupancy trends, and operating costs. Because chalets and apartments perform differently in the [&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-2170","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Rental Earnings Calculator for Second\u2011Homes in Vaud &amp; Valais<\/title>\n<meta name=\"description\" content=\"Get clear rental revenue estimates for chalets and apartments in Vaud &amp; Valais with Prevaux\u2019s premium earnings calculator.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prevaux.ch\/fr\/rental-earnings-calculator\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rental Earnings Calculator for Second\u2011Homes in Vaud &amp; Valais\" \/>\n<meta property=\"og:description\" content=\"Get clear rental revenue estimates for chalets and apartments in Vaud &amp; Valais with Prevaux\u2019s premium earnings calculator.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prevaux.ch\/fr\/rental-earnings-calculator\/\" \/>\n<meta property=\"og:site_name\" content=\"prevaux.ch\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-18T11:30:23+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/prevaux.ch\\\/rental-earnings-calculator\\\/\",\"url\":\"https:\\\/\\\/prevaux.ch\\\/rental-earnings-calculator\\\/\",\"name\":\"Rental Earnings Calculator for Second\u2011Homes in Vaud & Valais\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/prevaux.ch\\\/#website\"},\"datePublished\":\"2026-07-15T17:24:47+00:00\",\"dateModified\":\"2026-07-18T11:30:23+00:00\",\"description\":\"Get clear rental revenue estimates for chalets and apartments in Vaud & Valais with Prevaux\u2019s premium earnings calculator.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/prevaux.ch\\\/rental-earnings-calculator\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/prevaux.ch\\\/rental-earnings-calculator\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/prevaux.ch\\\/rental-earnings-calculator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/prevaux.ch\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rental Earnings Calculator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/prevaux.ch\\\/#website\",\"url\":\"https:\\\/\\\/prevaux.ch\\\/\",\"name\":\"Prevaux\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/prevaux.ch\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/prevaux.ch\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/prevaux.ch\\\/#organization\",\"name\":\"Prevaux\",\"url\":\"https:\\\/\\\/prevaux.ch\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/prevaux.ch\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/prevaux.ch\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Prevaux-Tagline-Logo-scaled.png\",\"contentUrl\":\"https:\\\/\\\/prevaux.ch\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Prevaux-Tagline-Logo-scaled.png\",\"width\":2560,\"height\":1920,\"caption\":\"Prevaux\"},\"image\":{\"@id\":\"https:\\\/\\\/prevaux.ch\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Rental Earnings Calculator for Second\u2011Homes in Vaud & Valais","description":"Get clear rental revenue estimates for chalets and apartments in Vaud & Valais with Prevaux\u2019s premium earnings calculator.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/prevaux.ch\/fr\/rental-earnings-calculator\/","og_locale":"fr_FR","og_type":"article","og_title":"Rental Earnings Calculator for Second\u2011Homes in Vaud & Valais","og_description":"Get clear rental revenue estimates for chalets and apartments in Vaud & Valais with Prevaux\u2019s premium earnings calculator.","og_url":"https:\/\/prevaux.ch\/fr\/rental-earnings-calculator\/","og_site_name":"prevaux.ch","article_modified_time":"2026-07-18T11:30:23+00:00","twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/prevaux.ch\/rental-earnings-calculator\/","url":"https:\/\/prevaux.ch\/rental-earnings-calculator\/","name":"Rental Earnings Calculator for Second\u2011Homes in Vaud & Valais","isPartOf":{"@id":"https:\/\/prevaux.ch\/#website"},"datePublished":"2026-07-15T17:24:47+00:00","dateModified":"2026-07-18T11:30:23+00:00","description":"Get clear rental revenue estimates for chalets and apartments in Vaud & Valais with Prevaux\u2019s premium earnings calculator.","breadcrumb":{"@id":"https:\/\/prevaux.ch\/rental-earnings-calculator\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prevaux.ch\/rental-earnings-calculator\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/prevaux.ch\/rental-earnings-calculator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/prevaux.ch\/"},{"@type":"ListItem","position":2,"name":"Rental Earnings Calculator"}]},{"@type":"WebSite","@id":"https:\/\/prevaux.ch\/#website","url":"https:\/\/prevaux.ch\/","name":"Prevaux","description":"","publisher":{"@id":"https:\/\/prevaux.ch\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/prevaux.ch\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/prevaux.ch\/#organization","name":"Prevaux","url":"https:\/\/prevaux.ch\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/prevaux.ch\/#\/schema\/logo\/image\/","url":"https:\/\/prevaux.ch\/wp-content\/uploads\/2026\/04\/Prevaux-Tagline-Logo-scaled.png","contentUrl":"https:\/\/prevaux.ch\/wp-content\/uploads\/2026\/04\/Prevaux-Tagline-Logo-scaled.png","width":2560,"height":1920,"caption":"Prevaux"},"image":{"@id":"https:\/\/prevaux.ch\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/prevaux.ch\/fr\/wp-json\/wp\/v2\/pages\/2170","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prevaux.ch\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/prevaux.ch\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/prevaux.ch\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prevaux.ch\/fr\/wp-json\/wp\/v2\/comments?post=2170"}],"version-history":[{"count":114,"href":"https:\/\/prevaux.ch\/fr\/wp-json\/wp\/v2\/pages\/2170\/revisions"}],"predecessor-version":[{"id":2315,"href":"https:\/\/prevaux.ch\/fr\/wp-json\/wp\/v2\/pages\/2170\/revisions\/2315"}],"wp:attachment":[{"href":"https:\/\/prevaux.ch\/fr\/wp-json\/wp\/v2\/media?parent=2170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}