A client answers 30 questions. The engine scores them, picks the right strategy family, then applies real-world guardrails — liquidity, education, and retirement catch-up. Here it is, run against 25 lifelike clients.
Nothing is hand-picked. The same path runs for every client, so the recommendation is explainable and repeatable.
The 30 answers roll up into four scores, 0–100: Risk Capacity (can they afford risk), Risk Tolerance (their comfort with it), Investment Knowledge (how much they already know), and Investment Complexity (how many moving parts they want). The headline number is the average of the four.
Preference questions vote for a style — simple, diversified, momentum, or income. The winning vote chooses one of four families: LumiCore, LumiPro, LumiPulse, or LumiIncome.
Eligibility gates decide which families a client can actually hold. The active momentum family (LumiPulse) has a high bar — real knowledge and experience — so for most people it's held back.
Within the family, the risk scores set the variant: conservative, moderate, or aggressive.
Finally, real-world overrides adjust the answer. These are the judgment calls a good advisor would make:
Every family is built on the same diversified core. They differ in what gets added on top — measured by the Diversification score (0–100): how many evenly-weighted holdings each really spreads across, from the live optimizer weights.
The bars are the four component scores. The notes are the actual decision trail the engine produced.
Real output from the scoring engine. Filter by family to see the pattern.
| Client | Family | Variant | Score | Funded | Flags |
|---|
A healthy distribution — most clients cluster in moderate, with conservative and aggressive as the tails.