Skip to content
Horalis
Theme

Kept only in this tab.

HoralisAll the Horalis tools

Tools

Theme

Kept only in this tab.

Horalis Research

The sheet behind each method: what it answers, its formula, sources, tests and limits.

Translated from the Spanish original. Where they differ, the Spanish one holds.

The department that decides and validates Horalis's methods: which model answers each question, with which assumptions and data, how it is checked and where it stops holding. Each app has its sheets here, and so do the sheets that belong to no single app (the educational and the legal ones).

Three pieces, three roles

PieceRoleWhere
ForjaBuilds: creates each new tool, already connected to what is shared.tools/forja
seed-kitIs the pieces: colours, header and footer, languages, formats, privacy and the checks every page passes.packages/seed-kit
ResearchDecides and validates the methods: each app's models and assumptions, their sources, their tests and their limits.this folder

Forja and seed-kit make sure a tool is private, light and bilingual. Research makes sure what it calculates is defensible, and that what it does not know is said honestly.

The rule

No model or assumption of an app changes without its sheet in research/.

  • A new calculation, or a change to an existing one (a formula, a figure, a source, a threshold, a starting value), comes with its new or updated sheet in the same change.
  • The sheet says what changes, why and which tests check it, and notes it in its History.
  • If the sheet and the code do not say the same thing, the code is wrong until shown otherwise.
  • A text of the app that explains a method (the How it works page, a help text) cannot say more than its sheet says.

What each sheet has

  1. The question it answers, in the words of the person using the app.
  2. The formula in plain words, then the exact formula.
  3. Assumptions: what is taken for granted.
  4. Dated sources: where each figure comes from and how far it reaches.
  5. Validation: which tests check it (file and what they look at).
  6. Limits: when it does not hold and what it leaves out.
  7. What is debatable: what a demanding finance professor would object to, without changing any calculation yet. Each point with what it would cost to resolve.
  8. History: date and change.

Sheets

Horalis Growth

Code paths are under projects/wealth-lens/ unless they say otherwise.

SheetModelCode
GrowthThe big number: how much you will have.src/lib/finance.ts, calculator.ts, investment.ts
Simulated futures"If it goes badly / if it goes well", the band of 8 in 10.src/lib/simulation.ts, normal.ts, projections.ts
Withdrawal rate"Could pay you each month" and "lasted 30 years".src/lib/monte-carlo.ts, withdrawal.ts, success-table.ts
MixesA mix of asset types; single shares, as a future piece.src/lib/mix.ts, volatility.ts
Cost of living by country"Enough to live in", the table of countries and a country's goals (also Horalis Cost of Living).packages/seed-kit/src/official/living-costs.ts, cost-of-living.ts
InflationEverything in today's euros; savings; "Rising prices in".src/lib/investment.ts, assets.ts, seed-kit cost-of-living.ts
Default valuesWhat the calculator starts with (no growth; 20 years; 30 years) and why.src/lib/validation.ts (DEFAULT_PLAN, DEFAULT_YEARS)
Bad decade in history"If your first 10 years were like 2000–2009".src/lib/decade.ts, what-if.ts, findings.ts
Check of your planThe 0 to 2 observations: horizon against risk, and long-term saving.src/lib/plan-check.ts, src/i18n/check-text.ts
Wishes and prices by countryWithdrawn in phase A2: the method's history.—
Without a frameworkA study (phase E1), not a method: Horalis Growth without Next.js or React, with measured facts and options.package.json, src/components/, src/lib/

Horalis Inflation

SheetModelCode
InflationWhat money from back then is worth today, in any country: the series and the years of each place.projects/inflation-lens/src/calc.ts, series.ts

For every app

SheetWhat it is
Why not simply maximise growth (Kelly)Educational: what Kelly says, what our data would give and why Horalis does not recommend weights.
Official dataThe series every tool uses (World Bank, Eurostat, CLDR): sources, licences, the yearly download and its checks.
CurrenciesEach country's currency, the official exchange rates by year, how an amount is converted and written in each tool, and the starting country from the browser's language.
Inform, do not adviseLegal: the line between general information and personalised advice (MiFID II) and the writing rules for every app. It is not legal advice.

Status

First version: 3 October 2026. Sheets written from the code as it stood on that date (Horalis Growth after phases 1 to 3), without changing any calculation. What is debatable is noted in each sheet to be decided later, each thing with its own updated sheet.

The only things that changed while writing them, without touching any result:

  • three code comments that no longer said what the code does (investment.ts, monte-carlo.ts, simulation.ts);
  • rule 1 of the legal sheet is now a seed-kit test for every app, and the only text that broke it, Horalis Growth's title "What you should know", becomes "Good to know" ("Para tener en cuenta").

Phase 5 (7 October 2026): new sheet on wishes and prices by country, with its choice rule and its sources, in the same change as the code; the inflation and growth sheets call the inflation adjustment by its label, "Rising prices in", so it is not confused with the wishes' "Prices in".

Phase 6 (7 October 2026): new sheet on the check of your plan; a single concentration threshold, 20 % (point 4 of what is debatable in the mixes is resolved); the legal sheet notes the check and its test.

The figures the sheets quote from the data (averages, swings, success rates) come from the same files the app uses (packages/seed-kit/src/data/asset-returns/, projects/wealth-lens/src/lib/success-table.ts); if the data change, the tests fail and the sheet is updated with them.

Phase A2 of the Horalis plan (9 October 2026): everything that goes stale or cannot be published is removed. Sheets updated in the same change: cost of living (new method, official data only), growth (no World or Nasdaq-100; gold from the World Bank), mixes (no single shares or My portfolio, which remain a future piece), check, bad decade, simulated futures, withdrawal rate, default value, inflation, personal goals and wishes (withdrawn).