Seven factors. One consistent framework. Category weights are design choices, not weights optimized through a historical backtest.
Peer comparisons
Each metric uses the same Finviz Industry when the minimum valid peer count is met; otherwise it tries Sector. If both are too small, the metric is unscored. The target stock is included. Momentum compares the entire uploaded universe. Finviz labels are not assumed to be GICS classifications.
From percentile to score
Midrank percentiles give equal values equal scores. Percentile bands map to 1–5: up to 20% → 1, up to 40% → 2, up to 60% → 3, up to 80% → 4, above 80% → 5. All tied observations receive 3. Lower-is-better metrics reverse the percentile.
Missing data and eligibility
Missing values are never filled in. A category needs at least 50% of its metric weight available, then remaining weights are renormalized. Official ranking requires every positive-weight category plus 80% weighted metric coverage. Provisional scores renormalize available categories and should be reviewed separately.
Financial exceptions
Banks, insurers and REITs do not receive EV/EBITDA, debt/equity or current-ratio scores. Nonpositive valuation multiples and negative debt/equity are invalid. These stocks may remain provisional until a specialized industry model is used.
What the categories measure
Important limits
Earnings measures reported surprises, not historical analyst estimate revisions. Lower raw beta scores higher, including negative beta. No market-cap matching, absolute quality caps, moving-average trends, index-membership checks or competition-eligibility checks are included.
Portfolio construction
Finviz Data → Metric Scores → Category Scores → Final Quant Score → Ranking → Candidate Engine → Portfolio Constraints → Final Quant Portfolio. The Quant sleeve is a disciplined equity-selection framework within the Wharton portfolio’s growth allocation, not the entire investment strategy. Include receives processing priority but must pass every cutoff and concentration limit. Exclude always removes a ticker. Quant Rank is unchanged. Equal stock weights use sleeve weight / target count; underfilled slots remain unallocated. Sector-specific blank limits inherit global limits; zero excludes that sector. Overlap flags are sector / market-cap proxies, not constituent-level ETF look-through.
Data and exports
CSV contents are parsed and scored inside this browser. Uploaded CSV and Excel data stay in this browser and are saved only on this device so the last uploaded universe can be restored after reload. Portfolio settings and ticker decisions are saved only on this device; export a setup JSON to transfer them. Export Excel saves a snapshot of values, including the current view, all scores, metric audit, raw data and model settings. Upload a new CSV here to recalculate.