changedInput schema / properties / installment_increase_percentage / maximum
Previous value: -20New value: +10
changedOutput schema / properties / result / properties / payout_age_dependent_values / description
Previous value: -"Per-milestone-age breakdown of the projection. Typically 4 rows for ages 80, 85, 90, 95. Each row contains the with Savvly payout, the market alone counterfactual, and the incremental Savvly upside for that age, each with `_lower`/`_upper` bounds."New value: +"Per-milestone-age breakdown of the projection. Typically 4 rows for ages 80, 85, 90, 95. Each row contains the with Savvly payout, the market alone counterfactual, and the incremental Savvly upside for that age, with a `_central` estimate and its `_lower`/`_upper` range."
changedOutput schema / properties / result / properties / payout_age_dependent_values / items / properties / payout_market_alone_lower / description
Previous value: -"USD. Market alone counterfactual paired with savvly_payout_LOWER — the same scenario, not a low bound. It can exceed payout_market_alone_upper, because smaller Savvly payouts draw the mirrored portfolio down more slowly. May be 0 once that portfolio has been fully drawn down."New value: +"USD. Market alone counterfactual at this age: a portfolio that withdraws the central Savvly payout at each milestone. One series, so it equals payout_market_alone_upper. May be 0 once that portfolio is depleted."
changedOutput schema / properties / result / properties / payout_age_dependent_values / items / properties / payout_market_alone_upper / description
Previous value: -"USD. Market alone counterfactual paired with savvly_payout_UPPER — the same scenario, not a high bound. May be 0 once the mirrored portfolio has been depleted."New value: +"USD. Market alone counterfactual at this age; equals payout_market_alone_lower. May be 0 once the portfolio is depleted."
addedOutput schema / properties / result / properties / payout_age_dependent_values / items / properties / savvly_payout_central
Added value: +{
+ "description": "USD. Central estimate of the payout with Savvly at this milestone age. Use this when surfacing a single number.",
+ "type": "number"
+}
changedOutput schema / properties / result / properties / payout_age_dependent_values / items / properties / savvly_payout_lower / description
Previous value: -"USD. Lower bound of the modeled payout with Savvly at this milestone age."New value: +"USD. Low end of the range around savvly_payout_central at this milestone age."
changedOutput schema / properties / result / properties / payout_age_dependent_values / items / properties / savvly_payout_upper / description
Previous value: -"USD. Upper bound (central illustrative estimate) of the payout with Savvly at this milestone age. Use this when surfacing a single number."New value: +"USD. High end of the range around savvly_payout_central at this milestone age. Not the central estimate."
addedOutput schema / properties / result / properties / payout_age_dependent_values / items / properties / savvly_upside_central
Added value: +{
+ "description": "USD. Incremental payout at this age attributable to Savvly's longevity benefit: savvly_payout_central − payout_market_alone_upper. About 0 at the early ages, where market alone still matches the payout; large at 90/95, once market alone is depleted.",
+ "type": "number"
+}
changedOutput schema / properties / result / properties / payout_age_dependent_values / items / properties / savvly_upside_lower / description
Previous value: -"USD. Lower bound for the incremental payout at this age attributable to Savvly's longevity benefit (savvly_payout − payout_market_alone)."New value: +"USD. savvly_payout_lower − market alone. Negative at the early ages, where market alone matches the central payout."
changedOutput schema / properties / result / properties / payout_age_dependent_values / items / properties / savvly_upside_upper / description
Previous value: -"USD. Upper bound for the incremental Savvly upside at this age. Tends to be large at 90/95 where the market alone portfolio is depleted."New value: +"USD. savvly_payout_upper − market alone."
changedOutput schema / properties / result / properties / payout_age_dependent_values / items / required
Previous value: -[
- "payout_age",
- "savvly_payout_lower",
- "savvly_payout_upper",
- "payout_market_alone_lower",
- "payout_market_alone_upper",
- "savvly_upside_lower",
- "savvly_upside_upper"
-]New value: +[
+ "payout_age",
+ "savvly_payout_central",
+ "savvly_payout_lower",
+ "savvly_payout_upper",
+ "payout_market_alone_lower",
+ "payout_market_alone_upper",
+ "savvly_upside_central",
+ "savvly_upside_lower",
+ "savvly_upside_upper"
+]
changedOutput schema / properties / result / properties / total_market_alone_lower / description
Previous value: -"USD. Lower bound of the cumulative counterfactual market alone payout."New value: +"USD. Cumulative market alone counterfactual. One series, matched to the central Savvly payouts, so it equals total_market_alone_upper."
changedOutput schema / properties / result / properties / total_market_alone_upper / description
Previous value: -"USD. Upper bound of the cumulative counterfactual market alone payout."New value: +"USD. Cumulative market alone counterfactual; equals total_market_alone_lower."
addedOutput schema / properties / result / properties / total_savvly_central
Added value: +{
+ "description": "USD. Central estimate of the total cumulative payout with Savvly across all milestone ages, assuming the investor stays in to the final modeled age. Use this when surfacing a single number.",
+ "type": "number"
+}
changedOutput schema / properties / result / properties / total_savvly_lower / description
Previous value: -"USD. Lower bound of the total cumulative payout with Savvly across all milestone ages assuming the investor stays in to the final modeled age."New value: +"USD. Low end of the range around total_savvly_central."
changedOutput schema / properties / result / properties / total_savvly_upper / description
Previous value: -"USD. Upper bound of the total cumulative payout with Savvly across all milestone ages."New value: +"USD. High end of the range around total_savvly_central. Not the central estimate."
addedOutput schema / properties / result / properties / total_savvly_upside_central
Added value: +{
+ "description": "USD. Central estimate of the cumulative incremental upside Savvly provides vs. investing in the market alone, summed across all milestone payout ages: `total_savvly_central − total_market_alone_upper`. Use this when surfacing a single number.",
+ "type": "number"
+}
changedOutput schema / properties / result / properties / total_savvly_upside_lower / description
Previous value: -"USD. Lower bound of the cumulative incremental upside Savvly provides vs. investing in the market alone, summed across all milestone payout ages."New value: +"USD. `total_savvly_lower − total_market_alone_lower`: the cumulative upside at the low end of the range."
changedOutput schema / properties / result / properties / total_savvly_upside_upper / description
Previous value: -"USD. Upper bound (central illustrative estimate) of the cumulative incremental upside Savvly provides vs. market alone. Equals `total_savvly_upper − total_market_alone_upper`."New value: +"USD. `total_savvly_upper − total_market_alone_upper`: the cumulative upside at the high end of the range. Not the central estimate."
changedOutput schema / properties / result / required
Previous value: -[
- "total_savvly_upside_lower",
- "total_savvly_upside_upper",
- "total_savvly_lower",
- "total_savvly_upper",
- "total_market_alone_lower",
- "total_market_alone_upper",
- "early_withdrawal_value",
- "total_payout_at_withdrawal_age_lower",
- "total_payout_at_withdrawal_age_upper",
- "percentage_gain_lower",
- "percentage_gain_upper",
- "payout_age_dependent_values"
-]New value: +[
+ "total_savvly_upside_central",
+ "total_savvly_upside_lower",
+ "total_savvly_upside_upper",
+ "total_savvly_central",
+ "total_savvly_lower",
+ "total_savvly_upper",
+ "total_market_alone_lower",
+ "total_market_alone_upper",
+ "early_withdrawal_value",
+ "total_payout_at_withdrawal_age_lower",
+ "total_payout_at_withdrawal_age_upper",
+ "percentage_gain_lower",
+ "percentage_gain_upper",
+ "payout_age_dependent_values"
+]
changedOutput schema / properties / summary / properties / deposited_amount_usd / description
Previous value: -"USD. Total amount deposited into Savvly. For single deposits this equals `funding_amount`. For monthly installments it equals `monthly_installment * installment_years * 12`."New value: +"USD. Total amount deposited into Savvly. For single deposits this equals `funding_amount`. For monthly installments it equals `monthly_amount * contribution_years * 12`."
addedOutput schema / properties / summary / properties / savvly_above_market_central_usd
Added value: +{
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "USD. `total_savvly_central − total_market_alone_upper`, the central incremental upside."
+}
changedOutput schema / properties / summary / properties / savvly_above_market_upper_usd / description
Previous value: -"USD. `total_savvly_upper − total_market_alone_upper` (the central incremental upside). May differ slightly from `result.total_savvly_upside_upper` due to rounding."New value: +"USD. `total_savvly_upper − total_market_alone_upper`, the incremental upside at the high end of the range. Not the central estimate."
addedOutput schema / properties / summary / properties / total_savvly_central_usd
Added value: +{
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Convenience copy of `result.total_savvly_central`, the single estimate."
+}
changedOutput schema / properties / summary / properties / total_savvly_upper_usd / description
Previous value: -"Convenience copy of `result.total_savvly_upper`."New value: +"Convenience copy of `result.total_savvly_upper`, the high end of the range."
changedOutput schema / properties / summary / required
Previous value: -[
- "deposit_type",
- "deposited_amount_usd",
- "total_savvly_upper_usd",
- "total_market_alone_upper_usd",
- "savvly_above_market_upper_usd",
- "early_exit_refund_usd",
- "percentage_gain_upper_percent",
- "narrative"
-]New value: +[
+ "deposit_type",
+ "deposited_amount_usd",
+ "total_savvly_central_usd",
+ "total_savvly_upper_usd",
+ "total_market_alone_upper_usd",
+ "savvly_above_market_central_usd",
+ "savvly_above_market_upper_usd",
+ "early_exit_refund_usd",
+ "percentage_gain_upper_percent",
+ "narrative"
+]