{
  "report_id": "113-membership-price-retention",
  "status": "validated",
  "source_reports": [
    "015-membership-lifecycle",
    "011-membership-prices",
    "043-monthly-active-participants",
    "010-occupancy"
  ],
  "period": "2025-01-01/2025-12-31",
  "definition": {
    "price": "Mediana anual de pagos mensuales normalizados del centro.",
    "retention": "Proporción de episodios iniciados en 2025 que alcanza 90 o 180 días.",
    "matching": "Parejas de cuartiles extremos dentro de la misma comunidad y banda de tamaño, próximas en escala, frecuencia y ocupación."
  },
  "rules": {
    "minimum_monthly_payments": 100,
    "minimum_membership_episodes": 30,
    "minimum_active_months": 6,
    "minimum_price_gap_eur": 10,
    "maximum_size_ratio": 1.5,
    "maximum_frequency_gap": 2,
    "maximum_occupancy_gap_pp": 15
  },
  "sample": {
    "eligible_before_matching": 1788,
    "primary_pairs": 275
  },
  "primary_matched": {
    "pairs": 275,
    "centers": 550,
    "eligible_episodes_90": 146289,
    "higher_price": {
      "median_monthly_price_eur": 70.0,
      "median_typical_active": 146.5,
      "median_visits_per_active": 8.26,
      "median_occupancy_pct": 50.11,
      "median_retention_90_pct": 64.14,
      "median_retention_180_pct": 36.19
    },
    "lower_price": {
      "median_monthly_price_eur": 40.0,
      "median_typical_active": 149.0,
      "median_visits_per_active": 8.2,
      "median_occupancy_pct": 50.89,
      "median_retention_90_pct": 60.84,
      "median_retention_180_pct": 35.29
    },
    "paired_difference": {
      "median_price_gap_eur": 30.0,
      "median_retention_90_pp": 2.07,
      "bootstrap_95_ci_retention_90_pp": [
        -0.39,
        5.49
      ],
      "median_retention_180_pp": 1.86,
      "bootstrap_95_ci_retention_180_pp": [
        -1.43,
        4.6
      ],
      "share_pairs_higher_retention_90_pct": 54.55
    },
    "quality": {
      "median_absolute_active_gap_pct": 8.71,
      "median_absolute_frequency_gap": 0.52,
      "median_absolute_occupancy_gap_pp": 3.8,
      "communities": 14,
      "largest_center_episode_share_pct": 1.39
    }
  },
  "price_gap_sensitivity": [
    {
      "minimum_price_gap_eur": 5,
      "pairs": 275,
      "centers": 550,
      "eligible_episodes_90": 146255,
      "higher_price": {
        "median_monthly_price_eur": 70.0,
        "median_typical_active": 146.5,
        "median_visits_per_active": 8.26,
        "median_occupancy_pct": 50.11,
        "median_retention_90_pct": 64.14,
        "median_retention_180_pct": 36.19
      },
      "lower_price": {
        "median_monthly_price_eur": 40.0,
        "median_typical_active": 149.0,
        "median_visits_per_active": 8.2,
        "median_occupancy_pct": 50.84,
        "median_retention_90_pct": 60.84,
        "median_retention_180_pct": 35.29
      },
      "paired_difference": {
        "median_price_gap_eur": 30.0,
        "median_retention_90_pp": 2.09,
        "bootstrap_95_ci_retention_90_pp": [
          -0.2,
          5.49
        ],
        "median_retention_180_pp": 1.86,
        "bootstrap_95_ci_retention_180_pp": [
          -1.39,
          4.6
        ],
        "share_pairs_higher_retention_90_pct": 54.91
      },
      "quality": {
        "median_absolute_active_gap_pct": 8.71,
        "median_absolute_frequency_gap": 0.52,
        "median_absolute_occupancy_gap_pp": 3.8,
        "communities": 14,
        "largest_center_episode_share_pct": 1.39
      }
    },
    {
      "minimum_price_gap_eur": 10,
      "pairs": 275,
      "centers": 550,
      "eligible_episodes_90": 146289,
      "higher_price": {
        "median_monthly_price_eur": 70.0,
        "median_typical_active": 146.5,
        "median_visits_per_active": 8.26,
        "median_occupancy_pct": 50.11,
        "median_retention_90_pct": 64.14,
        "median_retention_180_pct": 36.19
      },
      "lower_price": {
        "median_monthly_price_eur": 40.0,
        "median_typical_active": 149.0,
        "median_visits_per_active": 8.2,
        "median_occupancy_pct": 50.89,
        "median_retention_90_pct": 60.84,
        "median_retention_180_pct": 35.29
      },
      "paired_difference": {
        "median_price_gap_eur": 30.0,
        "median_retention_90_pp": 2.07,
        "bootstrap_95_ci_retention_90_pp": [
          -0.39,
          5.49
        ],
        "median_retention_180_pp": 1.86,
        "bootstrap_95_ci_retention_180_pp": [
          -1.43,
          4.6
        ],
        "share_pairs_higher_retention_90_pct": 54.55
      },
      "quality": {
        "median_absolute_active_gap_pct": 8.71,
        "median_absolute_frequency_gap": 0.52,
        "median_absolute_occupancy_gap_pp": 3.8,
        "communities": 14,
        "largest_center_episode_share_pct": 1.39
      }
    },
    {
      "minimum_price_gap_eur": 15,
      "pairs": 273,
      "centers": 546,
      "eligible_episodes_90": 144682,
      "higher_price": {
        "median_monthly_price_eur": 70.0,
        "median_typical_active": 146.5,
        "median_visits_per_active": 8.28,
        "median_occupancy_pct": 49.8,
        "median_retention_90_pct": 64.05,
        "median_retention_180_pct": 36.19
      },
      "lower_price": {
        "median_monthly_price_eur": 40.0,
        "median_typical_active": 149.0,
        "median_visits_per_active": 8.2,
        "median_occupancy_pct": 50.84,
        "median_retention_90_pct": 60.47,
        "median_retention_180_pct": 35.24
      },
      "paired_difference": {
        "median_price_gap_eur": 30.0,
        "median_retention_90_pp": 2.17,
        "bootstrap_95_ci_retention_90_pp": [
          -0.03,
          5.85
        ],
        "median_retention_180_pp": 2.32,
        "bootstrap_95_ci_retention_180_pp": [
          -1.43,
          4.74
        ],
        "share_pairs_higher_retention_90_pct": 55.68
      },
      "quality": {
        "median_absolute_active_gap_pct": 8.7,
        "median_absolute_frequency_gap": 0.53,
        "median_absolute_occupancy_gap_pp": 3.85,
        "communities": 14,
        "largest_center_episode_share_pct": 1.4
      }
    }
  ],
  "episode_sensitivity": [
    {
      "minimum_episodes": 20,
      "pairs": 273,
      "centers": 546,
      "eligible_episodes_90": 145852,
      "higher_price": {
        "median_monthly_price_eur": 70.0,
        "median_typical_active": 148.0,
        "median_visits_per_active": 8.26,
        "median_occupancy_pct": 50.11,
        "median_retention_90_pct": 64.22,
        "median_retention_180_pct": 36.19
      },
      "lower_price": {
        "median_monthly_price_eur": 40.0,
        "median_typical_active": 149.5,
        "median_visits_per_active": 8.2,
        "median_occupancy_pct": 51.07,
        "median_retention_90_pct": 60.9,
        "median_retention_180_pct": 35.39
      },
      "paired_difference": {
        "median_price_gap_eur": 30.0,
        "median_retention_90_pp": 2.06,
        "bootstrap_95_ci_retention_90_pp": [
          -0.63,
          4.58
        ],
        "median_retention_180_pp": 1.83,
        "bootstrap_95_ci_retention_180_pp": [
          -1.43,
          4.33
        ],
        "share_pairs_higher_retention_90_pct": 53.85
      },
      "quality": {
        "median_absolute_active_gap_pct": 8.7,
        "median_absolute_frequency_gap": 0.52,
        "median_absolute_occupancy_gap_pp": 3.84,
        "communities": 14,
        "largest_center_episode_share_pct": 1.39
      }
    },
    {
      "minimum_episodes": 30,
      "pairs": 275,
      "centers": 550,
      "eligible_episodes_90": 146289,
      "higher_price": {
        "median_monthly_price_eur": 70.0,
        "median_typical_active": 146.5,
        "median_visits_per_active": 8.26,
        "median_occupancy_pct": 50.11,
        "median_retention_90_pct": 64.14,
        "median_retention_180_pct": 36.19
      },
      "lower_price": {
        "median_monthly_price_eur": 40.0,
        "median_typical_active": 149.0,
        "median_visits_per_active": 8.2,
        "median_occupancy_pct": 50.89,
        "median_retention_90_pct": 60.84,
        "median_retention_180_pct": 35.29
      },
      "paired_difference": {
        "median_price_gap_eur": 30.0,
        "median_retention_90_pp": 2.07,
        "bootstrap_95_ci_retention_90_pp": [
          -0.39,
          5.49
        ],
        "median_retention_180_pp": 1.86,
        "bootstrap_95_ci_retention_180_pp": [
          -1.43,
          4.6
        ],
        "share_pairs_higher_retention_90_pct": 54.55
      },
      "quality": {
        "median_absolute_active_gap_pct": 8.71,
        "median_absolute_frequency_gap": 0.52,
        "median_absolute_occupancy_gap_pp": 3.8,
        "communities": 14,
        "largest_center_episode_share_pct": 1.39
      }
    },
    {
      "minimum_episodes": 50,
      "pairs": 268,
      "centers": 536,
      "eligible_episodes_90": 145065,
      "higher_price": {
        "median_monthly_price_eur": 70.0,
        "median_typical_active": 151.0,
        "median_visits_per_active": 8.28,
        "median_occupancy_pct": 49.95,
        "median_retention_90_pct": 64.01,
        "median_retention_180_pct": 36.11
      },
      "lower_price": {
        "median_monthly_price_eur": 40.0,
        "median_typical_active": 151.5,
        "median_visits_per_active": 8.21,
        "median_occupancy_pct": 50.91,
        "median_retention_90_pct": 60.87,
        "median_retention_180_pct": 34.71
      },
      "paired_difference": {
        "median_price_gap_eur": 30.0,
        "median_retention_90_pp": 2.08,
        "bootstrap_95_ci_retention_90_pp": [
          -0.52,
          5.49
        ],
        "median_retention_180_pp": 2.12,
        "bootstrap_95_ci_retention_180_pp": [
          -1.15,
          4.6
        ],
        "share_pairs_higher_retention_90_pct": 54.48
      },
      "quality": {
        "median_absolute_active_gap_pct": 8.53,
        "median_absolute_frequency_gap": 0.51,
        "median_absolute_occupancy_gap_pp": 3.9,
        "communities": 14,
        "largest_center_episode_share_pct": 1.4
      }
    }
  ],
  "full_year_active_sensitivity": {
    "pairs": 201,
    "centers": 402,
    "eligible_episodes_90": 119903,
    "higher_price": {
      "median_monthly_price_eur": 70.0,
      "median_typical_active": 170.5,
      "median_visits_per_active": 8.62,
      "median_occupancy_pct": 50.11,
      "median_retention_90_pct": 63.57,
      "median_retention_180_pct": 34.88
    },
    "lower_price": {
      "median_monthly_price_eur": 40.0,
      "median_typical_active": 170.0,
      "median_visits_per_active": 8.37,
      "median_occupancy_pct": 50.77,
      "median_retention_90_pct": 59.09,
      "median_retention_180_pct": 33.73
    },
    "paired_difference": {
      "median_price_gap_eur": 30.0,
      "median_retention_90_pp": 4.11,
      "bootstrap_95_ci_retention_90_pp": [
        1.09,
        6.46
      ],
      "median_retention_180_pp": 3.1,
      "bootstrap_95_ci_retention_180_pp": [
        -0.71,
        5.22
      ],
      "share_pairs_higher_retention_90_pct": 59.2
    },
    "quality": {
      "median_absolute_active_gap_pct": 8.0,
      "median_absolute_frequency_gap": 0.64,
      "median_absolute_occupancy_gap_pp": 3.8,
      "communities": 14,
      "largest_center_episode_share_pct": 1.69
    }
  },
  "reduced_control_sensitivity": {
    "pairs": 378,
    "centers": 756,
    "eligible_episodes_90": 196649,
    "higher_price": {
      "median_monthly_price_eur": 70.0,
      "median_typical_active": 138.75,
      "median_visits_per_active": 8.23,
      "median_occupancy_pct": 52.26,
      "median_retention_90_pct": 64.14,
      "median_retention_180_pct": 36.49
    },
    "lower_price": {
      "median_monthly_price_eur": 40.0,
      "median_typical_active": 135.5,
      "median_visits_per_active": 8.0,
      "median_occupancy_pct": 48.34,
      "median_retention_90_pct": 60.17,
      "median_retention_180_pct": 33.65
    },
    "paired_difference": {
      "median_price_gap_eur": 31.0,
      "median_retention_90_pp": 3.85,
      "bootstrap_95_ci_retention_90_pp": [
        1.63,
        5.9
      ],
      "median_retention_180_pp": 2.87,
      "bootstrap_95_ci_retention_180_pp": [
        0.71,
        5.09
      ],
      "share_pairs_higher_retention_90_pct": 58.47
    },
    "quality": {
      "median_absolute_active_gap_pct": 1.71,
      "median_absolute_frequency_gap": 1.61,
      "median_absolute_occupancy_gap_pp": 16.45,
      "communities": 14,
      "largest_center_episode_share_pct": 1.03
    }
  },
  "privacy": {
    "personal_identifiers_joined": false,
    "center_identifiers_exported": false,
    "minimum_centers_per_comparison": 30
  },
  "limitations": [
    "El cruce es ecológico a nivel de centro y no relaciona el precio individual de una persona con su permanencia.",
    "El emparejamiento no controla antigüedad, disciplina, propuesta, competencia o renta local.",
    "Un precio más alto puede reflejar servicios y composición diferentes; la asociación no demuestra causalidad."
  ],
  "version": "1.0",
  "publication": {
    "headline": "Una diferencia de 30 € en la cuota no muestra peor permanencia a 90 días",
    "canonical_url": "https://wodbuster.com/observatorio/precio-cuota-permanencia/",
    "date_modified": "2026-07-18"
  }
}