{
  "composite": {
    "label": "Sideravia Score", "family": "Our Scores",
    "plain": "Our overall 0-100 grade: a weighted blend of six views of the company - Quality, Strength, Valuation, Growth, Momentum, Income. Higher is better all-round.",
    "example": {"tpl": "{name} scores {composite}/100 right now.", "needs": ["composite"]},
    "generic": "A score of 75/100 means the company ranks well across most of the six views at once.",
    "good": "Above 70 is top-tier across the whole market we cover; below 40 is weak. Compare within the same market.",
    "trap": "One great pillar can hide five mediocre ones - open the pillar breakdown before trusting the headline number."
  },
  "anchor_diff_pct": {
    "label": "Valuation gap", "family": "Valuation",
    "plain": "How far today's price sits below (positive) or above (negative) the valuation anchor - the analyst mean target where one exists.",
    "example": {"tpl": "{name}: price {price} vs anchor {anchor_value} = {anchor_diff_pct} gap.", "needs": ["price", "anchor_value", "anchor_diff_pct"]},
    "generic": "Anchor €120 vs price €100 = +20% gap: the anchor sits 20% above what you'd pay today.",
    "good": "Positive gaps above ~15% are interesting; compare against the stock's own history of closing such gaps.",
    "trap": "Analyst targets chase price in both directions - a big gap right after a crash may just mean analysts haven't caught up yet."
  },
  "pe": {
    "label": "P/E ratio", "family": "Valuation",
    "plain": "Years of today's profit you pay for the company at today's price.",
    "example": {"tpl": "{name}: you pay {pe} years of current profit at today's price.", "needs": ["pe"]},
    "generic": "P/E 20 = you pay €20 for every €1 of yearly profit.",
    "good": "Cheap or dear only makes sense against the same sector and the company's own history - tech routinely carries double a utility's P/E.",
    "trap": "A very LOW P/E often means the market expects profit to fall - cheap for a reason. Check revenue growth next to it."
  },
  "roe": {
    "label": "Return on equity", "family": "Quality",
    "plain": "Profit the company makes per euro of shareholders' money.",
    "example": {"tpl": "{name} earns about {roe} on shareholders' money each year.", "needs": ["roe"]},
    "generic": "€15 profit on €100 of shareholders' money = 15% ROE.",
    "good": "Above ~15% is strong, under ~8% weak - compare within the same sector.",
    "trap": "High debt inflates ROE: a leveraged company can post 30% while carrying dangerous debt. Check debt load next to it."
  },
  "dividend_yield": {
    "label": "Dividend yield", "family": "Income",
    "plain": "Cash the company pays you per year, as a share of today's price.",
    "example": {"tpl": "{name} pays about {dividend_yield} of the share price per year in dividends.", "needs": ["dividend_yield"]},
    "generic": "€3 of yearly dividend on a €100 share = 3% yield.",
    "good": "2-5% is the normal band for steady payers in this market; near zero often just means the company reinvests instead.",
    "trap": "A suddenly HUGE yield usually means the price crashed and a dividend cut is coming - the payout you see may not survive."
  },
  "fcf_yield": {
    "label": "Cash-flow yield", "family": "Valuation",
    "plain": "Real cash the business generates per year, as a share of what the whole company costs.",
    "example": {"tpl": "{name} generates about {fcf_yield} of its price in yearly free cash.", "needs": ["fcf_yield"]},
    "generic": "€6 of yearly spare cash on a €100 valuation = 6% cash-flow yield.",
    "good": "Above ~5% is solid for a mature company; compare within the sector - young growers run lower on purpose.",
    "trap": "One fat year (asset sale, delayed spending) can flatter it - look at several years, not one."
  },
  "debt_to_ebitda": {
    "label": "Debt load", "family": "Risk",
    "plain": "Years of current earnings it would take to pay back all debt.",
    "example": {"tpl": "{name} would need about {debt_to_ebitda} years of earnings to clear its debt.", "needs": ["debt_to_ebitda"]},
    "generic": "Debt of €300 with €100 of yearly earnings = 3x - three years to pay it off.",
    "good": "Under 2x is comfortable, over 4x is heavy - banks and utilities live by different rules than the rest of the market.",
    "trap": "Earnings can drop faster than debt: a comfortable 2x becomes a scary 6x in a bad year. Check it next to the distress score."
  },
  "altman_z": {
    "label": "Distress score", "family": "Risk",
    "plain": "A single early-warning number for how close a company is to serious financial trouble. It blends five health checks - how much spare cash it has, profits it has banked over the years, how much it earns on its assets, the market's confidence versus its debt, and how hard its assets work - into one score you can read at a glance.",
    "example": {"tpl": "{name} scores {altman_z} today - read it against the bands below.", "needs": ["altman_z"]},
    "generic": "A score of 4.2 sits in the safe zone; a 1.5 sits in the danger zone where bankruptcies have historically clustered.",
    "good": "Above 3 is the safe zone across the market; 1.8-3 is a grey zone worth watching; below 1.8 has historically flagged real trouble ahead.",
    "trap": "Built for manufacturers - banks, insurers and young asset-light tech score oddly on it, so a scary number there may be noise, not danger. For financials, judge with sector metrics instead."
  },
  "beta": {
    "label": "Beta (swing size)", "family": "Risk",
    "plain": "How hard the stock moves when the whole market moves.",
    "example": {"tpl": "{name}'s beta is {beta}: a 1% market move typically moves it about {beta}%.", "needs": ["beta"]},
    "generic": "Beta 1.5: the market falls 2%, this stock typically falls about 3%.",
    "good": "Under 1 = calmer than the market, over 1.3 = expect bigger swings both ways - judge against your own sleep threshold, not a universal number.",
    "trap": "Beta is measured on the PAST - a calm utility buying a risky business is calm in the data and risky in reality."
  },
  "momentum": {
    "label": "Momentum pillar", "family": "Our Scores",
    "plain": "Our 0-100 rank of how strong the stock's recent price trend is versus every stock we cover.",
    "example": {"tpl": "{name} ranks {scores.momentum}/100 on trend strength right now.", "needs": ["scores.momentum"]},
    "generic": "A momentum of 80/100 means the recent trend is stronger than 80% of the market we cover.",
    "good": "Above 70 = the trend is your friend; below 40 = you are fighting the tape. Ranked against our whole coverage universe.",
    "trap": "Momentum reverses hardest exactly when it looks best - it says nothing about what the business is worth."
  },
  "payout_ratio": {
    "label": "Payout ratio", "family": "Income",
    "plain": "The share of profit the company pays out as dividends, rather than keeping to reinvest.",
    "example": {"tpl": "{name} pays out about {payout_ratio} of its profit as dividends.", "needs": ["payout_ratio"]},
    "generic": "€40 of dividends paid from €100 of profit is a 40% payout ratio - the rest stays in the business.",
    "good": "Under ~60% leaves room to keep paying (and raising) the dividend through a rough year; near 100% is stretched - compare against the sector, since mature slow-growers can sustainably run higher.",
    "trap": "A payout ratio can look fine even as profit itself is shrinking - it's the trend in profit, not just the ratio, that decides whether the dividend is safe."
  },
  "fcf_cover": {
    "label": "Dividend cash coverage", "family": "Income",
    "plain": "Whether the actual spare cash the business makes each year is enough to pay for the dividend, not just the accounting profit.",
    "example": {"tpl": "{name} generates {fcf_yield} of cash yield against a {dividend_yield} dividend yield.", "needs": ["fcf_yield", "dividend_yield"]},
    "generic": "€6 of yearly spare cash per €100 invested against a €3 dividend is 2x coverage - cash comfortably funds the payout twice over.",
    "good": "Above 1x means the dividend is funded by real cash, not borrowing - compare it against the stock's own history and its sector peers to judge how much cushion is normal.",
    "trap": "Coverage above 1x today says nothing about tomorrow - a business can burn through its cash cushion fast if profits turn down."
  },
  "div_years_consecutive": {
    "label": "Consecutive years paid", "family": "Income",
    "plain": "How many years in a row the company has paid a dividend without a cut or skip.",
    "example": {"tpl": "{name} has paid a dividend for {div_years_consecutive} years running.", "needs": ["div_years_consecutive"]},
    "generic": "25 years of consecutive payments signals a management culture that treats the dividend as close to untouchable.",
    "good": "A long streak (10+ years) says more about management's commitment than any single year's yield - compare it against the company's own history and sector peers with similar streaks.",
    "trap": "A long streak can end suddenly when the business itself is under real pressure - a proud track record doesn't make a future cut impossible."
  },
  "div_ex_date": {
    "label": "Next ex-dividend date", "family": "Income",
    "plain": "The date by which you need to already own the shares to receive the next dividend payment.",
    "generic": "Buy on or after the ex-dividend date and you won't receive that upcoming payment - it goes to whoever held the shares the day before.",
    "good": "Check it against your own trade timing, not against other companies - it's a mechanical date, not a signal about the stock's value.",
    "trap": "Prices typically drop by roughly the dividend amount on the ex-date itself - don't mistake that predictable dip for a bad sign."
  },
  "debt_to_equity": {
    "label": "Debt / equity", "family": "Risk",
    "plain": "How much the company owes compared with what shareholders actually own.",
    "example": {"tpl": "{name}: debt sits at {debt_to_equity}x shareholders' equity.", "needs": ["debt_to_equity"]},
    "generic": "Debt of €100 against €100 of shareholders' equity is a 1.0x ratio - the company owes as much as its owners put in.",
    "good": "Under 1x is conservative for most sectors; over 2x is worth a closer look - banks and utilities carry structurally higher ratios than the rest of the market.",
    "trap": "A falling ratio can mean paying down debt - or it can mean equity shrank from losses. Check which one moved."
  },
  "financial_leverage": {
    "label": "Financial leverage", "family": "Risk",
    "plain": "How many euros of assets the company controls for every euro shareholders actually put in.",
    "example": {"tpl": "{name} runs {financial_leverage}x leverage - assets funded partly with money that isn't shareholders' own.", "needs": ["financial_leverage"]},
    "generic": "€200 of assets funded by €100 of shareholders' money is 2.0x leverage - half funded by others' money (mostly debt).",
    "good": "Non-financial companies usually sit under 3x; banks and insurers run structurally higher by design - compare within the same sector.",
    "trap": "Higher leverage magnifies both gains and losses - it's the same lever behind spectacular returns and spectacular blow-ups."
  },
  "debt_to_assets": {
    "label": "Debt / assets", "family": "Risk",
    "plain": "The share of everything the company owns that's actually financed with borrowed money.",
    "example": {"tpl": "{name}: about {debt_to_assets} of its assets are debt-financed.", "needs": ["debt_to_assets"]},
    "generic": "€30 of debt against €100 of total assets = 30% debt-to-assets - the rest is funded by equity.",
    "good": "Under ~40% is comfortable for most sectors; compare against the same sector, since capital-heavy industries run higher by design.",
    "trap": "It ignores how much cash sits on the other side of the balance sheet - pair it with net cash before calling a company overleveraged."
  },
  "interest_coverage": {
    "label": "Interest coverage", "family": "Risk",
    "plain": "How many times over the company's profit can pay its yearly interest bill.",
    "example": {"tpl": "{name} earns about {interest_coverage}x its yearly interest expense.", "needs": ["interest_coverage"]},
    "generic": "€500 of operating profit against a €100 interest bill is 5x coverage - plenty of room even if profit dips.",
    "good": "Above 5x is comfortable across the market; under 2x is a warning sign - judge against the sector's typical debt load.",
    "trap": "A single bad quarter of profit can crater this ratio fast - it's a snapshot, not a guarantee the next quarter looks the same."
  },
  "current_ratio": {
    "label": "Current ratio", "family": "Risk",
    "plain": "Whether the company has enough short-term assets to cover what it owes in the next year.",
    "example": {"tpl": "{name} has {current_ratio}x its short-term bills covered by short-term assets.", "needs": ["current_ratio"]},
    "generic": "€150 of current assets against €100 of current liabilities is a 1.5x current ratio - bills covered with room to spare.",
    "good": "Above 1.5x is comfortable for most sectors; under 1x means near-term bills exceed near-term assets - compare against the sector's normal range.",
    "trap": "It counts inventory that might not sell quickly - a retailer's ratio can look fine on paper while cash is actually tight. Check the quick ratio next to it."
  },
  "quick_ratio": {
    "label": "Quick ratio", "family": "Risk",
    "plain": "The current ratio's stricter cousin - short-term bills covered by assets you could turn into cash fast, inventory excluded.",
    "example": {"tpl": "{name}'s quick ratio is {quick_ratio}.", "needs": ["quick_ratio"]},
    "generic": "€110 of cash-like assets against €100 of current liabilities is a 1.1x quick ratio - bills covered without needing to sell inventory.",
    "good": "Above 1x is comfortable; well under 1x means the company would need to sell stock or borrow to cover near-term bills - compare within the sector, since retailers naturally run lower.",
    "trap": "Excluding inventory can be too harsh for businesses that sell through stock fast - context matters more than the raw number."
  },
  "cash_ratio": {
    "label": "Cash ratio", "family": "Risk",
    "plain": "The most conservative liquidity test: bills covered by cash and cash-like holdings alone, nothing else counted.",
    "example": {"tpl": "{name} could cover about {cash_ratio}x its near-term bills with cash on hand alone.", "needs": ["cash_ratio"]},
    "generic": "€40 of cash against €100 of current liabilities is a 0.4x cash ratio - cash alone covers less than half.",
    "good": "Most healthy companies run well under 1x here and rely on other current assets too - judge trend and sector norm, not this number in isolation.",
    "trap": "A very low cash ratio isn't automatically alarming - most companies aren't meant to sit on enough cash to cover every bill outright. Read it alongside the current ratio."
  },
  "avg_volume": {
    "label": "Average daily volume", "family": "Risk",
    "plain": "How many shares typically change hands in a day - a read on how easily you can buy or sell without moving the price.",
    "example": {"tpl": "{name} trades about {avg_volume} shares a day on average.", "needs": ["avg_volume"]},
    "generic": "A stock trading millions of shares a day lets you buy or sell instantly; one trading a few thousand can be hard to exit without pushing the price.",
    "good": "Compare against the stock's own history - a sudden volume spike (up or down) is usually more informative than the absolute level.",
    "trap": "High volume on a single day often just means news broke, not that the move is trustworthy - check what happened before reading into it."
  },
  "net_cash": {
    "label": "Net cash / debt", "family": "Risk",
    "plain": "Cash in the bank minus everything the company owes - whether it's a net saver or a net borrower.",
    "example": {"tpl": "{name} sits at {net_cash} net cash (negative means net debt).", "needs": ["net_cash"]},
    "generic": "€50 of cash minus €30 of debt is €20 of net cash - the company could clear all its borrowing and still have money left over.",
    "good": "Positive net cash is a cushion in any market; compare the size of net debt (if negative) against yearly earnings and the company's own history, not against cash alone.",
    "trap": "A big net cash pile sitting idle isn't automatically good news - it can also mean management has no better use for the money."
  },
  "change_pct": {
    "label": "Day change", "family": "Risk",
    "plain": "How much the price has moved so far during today's session.",
    "example": {"tpl": "{name} is {change_pct} today.", "needs": ["change_pct"]},
    "generic": "A stock up 2% from €100 is trading around €102 right now - roughly €2 higher than yesterday's close.",
    "good": "A single day's move rarely matters on its own - judge it against the stock's own normal daily swings (its beta) and what actually drove it, not the number in isolation.",
    "trap": "A sharp move on huge volume usually means real news; the same move on thin volume can reverse by tomorrow. Check volume next to it."
  },
  "insiders_90d": {
    "label": "Insider buys/sells (90d)", "family": "Risk",
    "plain": "Whether the people who run the company have been buying or selling their own shares over the last 90 days.",
    "generic": "Executives buying with their own money is a vote of confidence; a wave of selling isn't automatically bearish - it's often just diversification or a scheduled plan.",
    "good": "Look for buying that's unusual for that insider, not routine sales - and compare against the company's own history of insider activity, not a universal number.",
    "trap": "Insiders sell for a hundred boring reasons - a new house, taxes, a divorce. A single sale means little; a cluster of unplanned sales across multiple insiders means more."
  },
  "ret_1m": {
    "label": "1-month return", "family": "Momentum",
    "plain": "How much the price has moved over roughly the last month.",
    "example": {"tpl": "{name} is {ret_1m} over the last month.", "needs": ["ret_1m"]},
    "generic": "A stock up 5% over a month has moved from about €100 to €105 in that stretch.",
    "good": "Compare it against the stock's own longer-term trend and the wider market's move over the same month - one month alone is noisy.",
    "trap": "A single strong month is often just a bounce after a drop, not a new trend starting - check the 3- and 6-month numbers next to it."
  },
  "ret_3m": {
    "label": "3-month return", "family": "Momentum",
    "plain": "How much the price has moved over roughly the last three months.",
    "example": {"tpl": "{name} is {ret_3m} over the last three months.", "needs": ["ret_3m"]},
    "generic": "A stock up 15% over three months has run from about €100 to €115 in that stretch.",
    "good": "Judge it against the market's move over the same window and the stock's own history - a mid-length read on whether a trend is building.",
    "trap": "Three months can still be dominated by a single earnings reaction or news event - check what actually drove the move before reading it as a trend."
  },
  "ret_6m": {
    "label": "6-month return", "family": "Momentum",
    "plain": "How much the price has moved over roughly the last six months.",
    "example": {"tpl": "{name} is {ret_6m} over the last six months.", "needs": ["ret_6m"]},
    "generic": "A stock up 20% over six months has run from about €100 to €120 in that stretch.",
    "good": "A longer, steadier window than the 1- or 3-month numbers - compare it against the market and the stock's own history to judge if the trend has legs.",
    "trap": "Six months is long enough to hide a sharp reversal in the middle - a flat 6-month return can mask a big rally that already gave everything back."
  },
  "ret_12m": {
    "label": "12-month return", "family": "Momentum",
    "plain": "How much the price has moved over roughly the last year.",
    "example": {"tpl": "{name} is {ret_12m} over the last year.", "needs": ["ret_12m"]},
    "generic": "A stock down 10% over a year has fallen from about €100 to €90 over that stretch.",
    "good": "The standard yardstick for a stock's trend - compare it against the wider market's own 12-month move, not against an arbitrary target.",
    "trap": "A strong 12-month return can be almost entirely one great quarter - check the shorter-window returns to see whether the trend is still intact or already fading."
  },
  "ret_6_1": {
    "label": "6-month return (skip-month)", "family": "Momentum",
    "plain": "The 6-month price return, but leaving out the most recent month - a cleaner read on the trend that filters out short-term noise.",
    "example": {"tpl": "{name}'s 6-month skip-month return is {ret_6_1}.", "needs": ["ret_6_1"]},
    "generic": "Trend followers often drop the most recent month because sharp reversals cluster there - what's left is a steadier signal.",
    "good": "Compare it against the plain 6-month return and the stock's own longer trend - a big gap between the two usually means the last month broke sharply from the trend.",
    "trap": "Dropping the last month means it reacts slowly to real turning points - a genuine trend change can take weeks to show up here."
  },
  "ret_12_1": {
    "label": "12-month return (skip-month)", "family": "Momentum",
    "plain": "The 12-month price return with the most recent month excluded - the classic academic momentum measure.",
    "example": {"tpl": "{name}'s 12-month skip-month return is {ret_12_1}.", "needs": ["ret_12_1"]},
    "generic": "It's the return an investor would have captured buying a year ago and selling a month ago - built to strip out the short-term reversal that often follows a big run.",
    "good": "This is the number academic momentum research actually tests - compare it against the plain 12-month return and against the market to judge real trend strength.",
    "trap": "It can stay strongly positive even as a stock is actively crashing in the most recent month - always check it alongside the raw, unfiltered return."
  },
  "rs_6m": {
    "label": "Relative strength vs market", "family": "Momentum",
    "plain": "How the stock's 6-month trend compares with the broader market's, filtered the same skip-month way.",
    "example": {"tpl": "{name} is running {rs_6m} versus the market over 6 months.", "needs": ["rs_6m"]},
    "generic": "A reading of +10 means the stock has outrun the market by about 10 percentage points over that window; negative means it's lagging.",
    "good": "Positive and rising is a sign of leadership; judge it against the stock's own history of relative strength, not just the sign of the number.",
    "trap": "Beating a falling market is still losing money - relative strength says nothing about whether the stock is actually up in absolute terms."
  },
  "vam_6m": {
    "label": "Vol-adjusted momentum", "family": "Momentum",
    "plain": "How strong the trend is once you account for how bumpy the ride has been to get there.",
    "example": {"tpl": "{name} scores {vam_6m} on this measure.", "needs": ["vam_6m"]},
    "generic": "Two stocks can both be up 20%, but the one that rose in a straight line scores higher here than the one that lurched up and down to get there.",
    "good": "Higher favors smooth, steady trends over jagged ones - compare it against the stock's own history rather than an absolute threshold.",
    "trap": "A smooth uptrend can turn into a smooth downtrend just as easily - steadiness says nothing about which direction comes next."
  },
  "pct_from_52w_high": {
    "label": "% from 52-week high", "family": "Momentum",
    "plain": "How far below its own highest price of the past year the stock is trading right now.",
    "example": {"tpl": "{name} is {pct_from_52w_high} off its 52-week high.", "needs": ["pct_from_52w_high"]},
    "generic": "-15% means the stock would need to rise about 18% from here just to revisit that old high.",
    "good": "Near zero shows strength (buyers are in control); deep negative can mean either a bargain or a broken story - compare against the stock's own history to tell which.",
    "trap": "A stock sitting right at its 52-week high isn't automatically 'expensive' - momentum often keeps going once a stock breaks into new-high territory."
  },
  "rsi_14": {
    "label": "RSI (14)", "family": "Momentum",
    "plain": "A 0-100 gauge of how hot or cold the recent buying and selling has been.",
    "example": {"tpl": "{name}'s RSI is {rsi_14} right now.", "needs": ["rsi_14"]},
    "generic": "Above 70 is typically read as overbought - a lot of recent buying pressure; below 30 as oversold - a lot of recent selling pressure.",
    "good": "Read it against the stock's own recent range, not a universal cutoff - some strong trending stocks sit above 70 for weeks without reversing.",
    "trap": "Overbought doesn't mean 'sell now' - a stock can stay overbought for a long time in a genuinely strong trend. It flags exhaustion risk, not timing."
  },
  "macd_hist": {
    "label": "MACD histogram", "family": "Momentum",
    "plain": "Whether the stock's short-term trend is speeding up or slowing down versus its own medium-term trend.",
    "example": {"tpl": "{name}'s MACD histogram reads {macd_hist}.", "needs": ["macd_hist"]},
    "generic": "A positive and rising reading means upward momentum is building; negative and falling means downward momentum is building.",
    "good": "The direction of change matters more than the absolute number - compare today's reading against its own recent trend, not against other stocks.",
    "trap": "It's built from moving averages, so it always lags the actual price - by the time it confirms a turn, some of the move has already happened."
  },
  "bb_pctb": {
    "label": "Bollinger %B", "family": "Momentum",
    "plain": "Where the price sits inside its own recent normal trading range, from 0 (bottom of the range) to 1 (top).",
    "example": {"tpl": "{name}'s %B is {bb_pctb}.", "needs": ["bb_pctb"]},
    "generic": "A reading of 0.9 means the price is trading near the top of its own recent range; 0.1 means near the bottom.",
    "good": "Compare it against the stock's own recent history rather than a fixed number - a value above 1 or below 0 just means the range itself is expanding.",
    "trap": "Sitting near the top of the range is not, on its own, evidence that a pullback is due - in a strong trend, price can ride the upper band for weeks."
  },
  "adx_14": {
    "label": "ADX (14)", "family": "Momentum",
    "plain": "How strongly the stock is trending right now, regardless of whether that trend is up or down.",
    "example": {"tpl": "{name}'s ADX is {adx_14}.", "needs": ["adx_14"]},
    "generic": "Above 25 usually signals a genuine trending market; under 20 usually signals a range-bound stock going nowhere in particular.",
    "good": "Use it to judge whether trend-following signals are worth trusting at all - compare against the stock's own recent readings, not a universal number.",
    "trap": "It says nothing about direction - a high reading can mean a strong rally or a strong sell-off. Always check it alongside a directional signal."
  },
  "stage_label": {
    "label": "Stage (trend cycle)", "family": "Momentum",
    "plain": "Which phase of its long-term price cycle the stock is currently in - roughly: base-building, advancing, topping, or declining.",
    "generic": "A stock building a flat base after a decline is in a different stage than one already deep into a strong advance - same trend tools, different stage, different playbook.",
    "good": "Useful mainly against the stock's own price history over the past year or two - it's a classification, not a score to compare across stocks.",
    "trap": "Stage labels are read with hindsight bias built in - a stock can look like it's 'advancing' right up until the day it isn't."
  },
  "short_interest_days_to_cover": {
    "label": "Short interest (days to cover)", "family": "Momentum",
    "plain": "How many days of average trading it would take for everyone betting against the stock to buy back their shares.",
    "example": {"tpl": "{name}: {short_interest_days_to_cover} days to cover its short interest.", "needs": ["short_interest_days_to_cover"]},
    "generic": "A reading of 3 days means short-sellers would need about three typical trading days of volume to close out all their positions.",
    "good": "High and rising can mean a lot of bearish conviction - or the fuel for a sharp short squeeze if the stock starts to rally. Compare against the stock's own history.",
    "trap": "High short interest isn't automatically bullish or bearish - it just means a lot of money is betting on a fall, and that bet can be wrong for a long time."
  },
  "short_interest_shares": {
    "label": "Shares short", "family": "Momentum",
    "plain": "The total number of shares currently sold short - borrowed and sold, betting the price falls.",
    "example": {"tpl": "{name} has about {short_interest_shares} shares sold short right now.", "needs": ["short_interest_shares"]},
    "generic": "A rising share-short count usually means growing bearish conviction; a falling one means short-sellers are covering their bets.",
    "good": "The raw count means little on its own - compare it against the stock's own trading volume (days to cover) and its own history, not an absolute number.",
    "trap": "This figure is reported with a lag from the exchange's settlement date - it's already somewhat stale by the time you see it."
  },
  "short_interest_date": {
    "label": "Short interest settlement date", "family": "Momentum",
    "plain": "The date the short-interest figures on this page were actually measured as of.",
    "example": {"tpl": "{name}'s short interest was last measured as of {short_interest_date}.", "needs": ["short_interest_date"]},
    "generic": "Short interest is only reported on a fixed schedule, so this date tells you how fresh (or stale) the figure above actually is.",
    "good": "Check it against today's date and the stock's own normal reporting lag, not against other companies - a two-week-old reading during a fast-moving stock is far less useful than a fresh one.",
    "trap": "Big news can move a stock's real short position well before the next settlement date catches up - don't assume the published figure is current."
  },
  "ssr_short_pct": {
    "label": "Disclosed short positions (%)", "family": "Momentum",
    "plain": "The share of the company's stock that regulators require large short-sellers to publicly disclose, under EU/UK short-selling rules.",
    "generic": "A disclosed 1.5% means regulated funds have reported holding short positions worth about 1.5% of the company's shares outstanding.",
    "good": "Compare it against the stock's own history of disclosed shorts - a rising figure signals building bearish conviction from funds large enough to have to report.",
    "trap": "It only captures positions above the disclosure threshold - real short interest, including smaller positions, is almost always higher than what's shown here."
  },
  "ssr_positions": {
    "label": "Disclosed short positions (count)", "family": "Momentum",
    "plain": "How many separate funds currently hold a publicly disclosed short position above the reporting threshold.",
    "generic": "Three separate funds disclosing a short position is a different signal than one large fund doing it alone - breadth matters, not just size.",
    "good": "Compare it against the stock's own recent history - a growing number of separate disclosed positions is a stronger signal than one lone holder.",
    "trap": "A single large disclosed position dominating the total can look like broad conviction when it's really one fund's bet."
  },
  "ssr_date": {
    "label": "SSR register date", "family": "Momentum",
    "plain": "The date the disclosed-short-position data on this page was last updated in the regulator's public register.",
    "generic": "Regulatory short-disclosure registers update on their own schedule - this date tells you how current the figures above actually are.",
    "good": "Check it against today's date and the stock's own recent trading history, not against other companies - it's a freshness marker, not a comparative metric.",
    "trap": "A position can be closed the same day it's disclosed - a stale register date can show a short that no longer exists."
  },
  "above_sma": {
    "label": "Above/below moving average", "family": "Momentum",
    "plain": "Whether the price is currently trading above or below its own N-day moving average - a basic trend filter.",
    "generic": "Trading above its 200-day average is the classic textbook definition of a long-term uptrend; below it defines a downtrend.",
    "good": "Use the timeframe (20/50/200-day) that matches how long you plan to hold - compare it against the stock's own history of crossing that line, not other stocks.",
    "trap": "Crossing the average by a hair means little - a whipsaw around a flat average can trigger the signal back and forth without any real trend forming."
  },
  "momentum_pctile": {
    "label": "Momentum rank", "family": "Momentum",
    "plain": "How the stock's momentum trend ranks against every other stock in the same screen, from weakest to strongest.",
    "generic": "A reading near the top of the range means the trend here is stronger than nearly everything else being screened; near the bottom means it's lagging most of the field.",
    "good": "It's a relative rank within this specific screen against its peers, not a universal 0-100 score - compare stocks within the same list, not across different tools.",
    "trap": "A stock can rank near the top of a weak group and still be in a genuine downtrend - the rank is relative, not a promise the trend is actually healthy."
  },
  "fair_value": {
    "label": "Fair value (plan)", "family": "Trade Plan",
    "plain": "The price target our strategy engine treats as fair value for this pick - the analyst mean target when one exists, a model estimate otherwise.",
    "generic": "A fair value of €120 against a €100 buy plan means the strategy sees roughly 20% of room before the price catches up to what we consider fair.",
    "good": "Judge the gap against the strategy's own history of hit rates, not as a guaranteed destination - compare picks within the same strategy, not across different ones.",
    "trap": "It's an anchor, not a forecast - the market can ignore a fair-value gap for a long time, or close it in the wrong direction entirely."
  },
  "buy_under": {
    "label": "Entry zone", "family": "Trade Plan",
    "plain": "The price ceiling below which the plan's risk-reward math still holds - pay more than this and the setup we calculated no longer applies.",
    "generic": "A buy-under of €95 means the reward-to-risk trade-off we computed only works at €95 or lower; chasing the price above it breaks the math.",
    "good": "Treat it as a discipline line for this specific plan, not a universal bargain price - compare it against the stock's own recent trading range to judge how realistic it is to get filled there.",
    "trap": "A stock that never dips to its buy-under simply never triggers the plan - don't chase the price up to make the trade happen anyway."
  },
  "ideal_entry": {
    "label": "Ideal entry", "family": "Trade Plan",
    "plain": "The price the plan is actually built around - where the stop, targets and reward-to-risk numbers line up as calculated.",
    "generic": "Every number on this plan (stop, targets, reward-to-risk) assumes you got in around the ideal entry - paying more shifts the whole trade-off against you.",
    "good": "Judge the current price against the ideal entry itself, not against the stock's own history of price swings - it's a plan-specific reference point, not a valuation call.",
    "trap": "Waiting forever for the exact ideal entry means you can miss genuinely working trends that never look back."
  },
  "target_base": {
    "label": "Target (base case)", "family": "Trade Plan",
    "plain": "The price the plan expects if the setup plays out normally - its base-case exit, paired with the upside that implies from here.",
    "generic": "A base target of €130 against a €100 entry implies about 30% upside if the plan's normal scenario plays out.",
    "good": "Compare the implied upside against the plan's own downside (the stop) to judge whether the reward-to-risk is actually attractive - not the target in isolation.",
    "trap": "Base case means 'typical outcome,' not 'guaranteed outcome' - plenty of trades stop out or stall well before ever reaching it."
  },
  "target_bull": {
    "label": "Target (bull case)", "family": "Trade Plan",
    "plain": "The price the plan could reach if things go better than the normal scenario - a measured move or the high end of analyst expectations, depending on the strategy.",
    "generic": "A bull target well above the base target shows how much further the trade could run in a genuinely strong scenario, not what's most likely.",
    "good": "Read it as the upper bound of a range together with the base target and the stop, not as a number to expect by itself - compare it against the plan's own base case.",
    "trap": "It's easy to anchor on the bull target and feel disappointed by a perfectly good base-case outcome - it's the exception scenario, not the plan."
  },
  "stop": {
    "label": "Stop-loss", "family": "Trade Plan",
    "plain": "The price at which the plan says to exit and accept the loss, rather than hope the trade turns around.",
    "generic": "A stop at €90 against a €100 entry defines the loss the plan is willing to take (about 10%) if the trade doesn't work out.",
    "good": "Judge it together with the plan's own reward-to-risk math, not as a number on its own - a tight stop only makes sense paired with a genuinely proportional reward.",
    "trap": "Moving the stop further away after the trade starts losing turns a planned, sized risk into an open-ended one - the whole point of a stop is deciding the exit before emotions get involved."
  },
  "risk_reward": {
    "label": "Reward : risk", "family": "Trade Plan",
    "plain": "How much upside the plan targets for every unit of downside it risks, from entry to the base target versus entry to the stop.",
    "generic": "A 3:1 reward-to-risk plan targets about €3 of gain for every €1 it's willing to lose if the stop is hit.",
    "good": "Above 2:1 gives a strategy room to be wrong more often than it's right and still come out ahead - compare it against the strategy's own typical win rate, not a single trade in isolation.",
    "trap": "A great reward-to-risk ratio on paper still loses money if the stop gets hit far more often than the target gets reached - the ratio alone says nothing about how likely each outcome actually is."
  },
  "character_band": {
    "label": "Character", "family": "Trade Plan",
    "plain": "A two-axis description of this SECURITY, not of your money: how much its own price tends to move (Steady/Variable/Volatile), and how strong the evidence behind our composite score currently is (low/moderate/high conviction).",
    "generic": "\"Volatile · moderate conviction\" means the shares move more than most of the names we cover, and our composite is middling - not a fresh idea, not a clear pass either.",
    "good": "Read it as one more fact about the stock, the same for every reader who looks it up - not a sizing instruction. What you do with that information depends on your own portfolio, which we don't see.",
    "trap": "A 'Steady' label describes the stock's own historical volatility, not a guarantee it will keep behaving that way - regimes change, and 6 months of realised volatility is a short sample."
  },
  "composite_etf": {
    "label": "Screen Rank", "family": "ETF",
    "plain": "Our overall ETF ranking within its peer group - a blend of cost, one-year return, three-year risk-adjusted return, and yield into one score, distinct from the stock Sideravia Score.",
    "generic": "A high Screen Rank means a fund stacks up well on cost, return, risk and yield all at once against its own peer group - other funds built from the same asset class, region, size and style; a low one is weak on that combination within the same group.",
    "good": "It is already ranked against comparable funds, so a bond fund is never measured on the same terms as an equity fund. When the evidence is too thin to rate - too little history, no cost data, too few comparable peers - the fund shows No view instead of a score, which is an absence, not a low score.",
    "trap": "It blends past return into the score - a fund's Screen Rank can look great mostly because of a strong run that's already behind it."
  },
  "sideravia_score": {
    "label": "Sideravia Score (look-through)", "family": "ETF",
    "plain": "The fund's Sideravia Score built by weighting the scores of its individual holdings, the same way we score single stocks.",
    "generic": "If a fund's biggest holdings are strong-scoring companies, the look-through score reflects that even though the fund itself isn't a company.",
    "good": "Compare it against other funds with similar look-through coverage, not against a single stock's own score - a diversified fund's score is naturally pulled toward the market average.",
    "trap": "It only reflects the portion of the fund we can actually score (see coverage %) - a fund full of unscoreable holdings can show a misleadingly thin number."
  },
  "score_coverage": {
    "label": "Score coverage", "family": "ETF",
    "plain": "How much of the fund's total weight the look-through Sideravia Score is actually based on.",
    "generic": "80% coverage means the score reflects holdings making up 80% of the fund; the rest is unscored and simply left out of the calculation.",
    "good": "Trust the score more when coverage is high - compare coverage across similar peers before comparing their scores directly, since a thin-coverage score is a much weaker read.",
    "trap": "Low coverage doesn't mean the fund is bad - it can just mean it holds many small or hard-to-score positions. Don't read a low coverage number itself as a quality signal."
  },
  "score_reason": {
    "label": "Why no look-through score", "family": "ETF",
    "plain": "The reason a fund has no (or only a partial) Sideravia Score - most often because it's leveraged, bets against the market instead of tracking it, or holds assets we don't score.",
    "generic": "A fund flagged 'leveraged' skips scoring because leveraged products don't behave like the ordinary stocks or bonds the score was built to evaluate.",
    "good": "Treat the flag itself as informative, not the absence of a score - compare a flagged fund against its own peers in the same category, not against ordinary index funds.",
    "trap": "No score doesn't mean 'avoid' - it means the scoring methodology doesn't apply cleanly to this particular fund's structure."
  },
  "ret_3y": {
    "label": "3-year return", "family": "ETF",
    "plain": "How much the fund's price has moved over the past three years.",
    "generic": "A fund up 30% over three years has grown roughly €100 into €130 over that stretch, before fees are considered separately.",
    "good": "Compare it against a relevant market benchmark and funds tracking a similar index, not against unrelated asset classes.",
    "trap": "Three years can be dominated by one strong (or weak) stretch inside it - check the shorter-window returns to see whether that run is still going or already over."
  },
  "ret_5y": {
    "label": "5-year return", "family": "ETF",
    "plain": "How much the fund's price has moved over the past five years.",
    "generic": "A fund up 60% over five years has roughly grown €100 into €160 over that stretch, before fees.",
    "good": "Judge it against a relevant market benchmark over the same five years, not against a single year's headline number.",
    "trap": "A long-run number this size can flatter a fund that's actually underperformed badly in the most recent stretch - check the shorter windows too."
  },
  "ret_10y": {
    "label": "10-year return", "family": "ETF",
    "plain": "How much the fund's price has moved over the past ten years.",
    "generic": "A fund up 150% over ten years has roughly grown €100 into €250 over that stretch, before fees.",
    "good": "Ten years captures a full market cycle better than shorter windows - compare it against the same market benchmark over the same ten years.",
    "trap": "A decade-long number can hide a fund that changed strategy, index, or manager partway through - check when the fund actually launched."
  },
  "ret_ytd": {
    "label": "Year-to-date return", "family": "ETF",
    "plain": "How much the fund's price has moved since the start of this calendar year.",
    "generic": "A fund up 8% year-to-date has grown roughly €100 into €108 since January 1st.",
    "good": "Compare it against a relevant market benchmark over the same stretch of the year, not against the fund's own full-year history.",
    "trap": "Year-to-date resets every January - a fund that's actually in a strong multi-year trend can still show a weak or negative year-to-date number in the middle of a decline it hasn't yet recovered from."
  },
  "sharpe_3y": {
    "label": "3-year Sharpe ratio", "family": "ETF",
    "plain": "How much return the fund delivered per unit of bumpiness in the ride, over the past three years.",
    "generic": "A Sharpe ratio of 1.0 means the fund earned about one unit of extra return for every unit of risk it took on; higher is a better risk-adjusted result.",
    "good": "Compare it against peers in the same category, not across wildly different asset classes - a bond fund and an equity fund carry structurally different Sharpe ratios.",
    "trap": "A great historical Sharpe ratio came from a specific market regime that already happened - it's not a promise the same smooth ride continues."
  },
  "expense_ratio": {
    "label": "Cost (TER)", "family": "ETF",
    "plain": "The yearly fee the fund charges, taken automatically out of your returns - you never see it as a separate bill.",
    "generic": "A 0.20% expense ratio costs about €20 a year on a €10,000 holding, quietly deducted from the fund's performance.",
    "good": "Lower is almost always better, all else equal - compare it against peers tracking the same or a very similar index.",
    "trap": "A slightly cheaper fund isn't automatically the better pick if it tracks the index less accurately or trades less liquidly - cost is one factor, not the whole decision."
  },
  "yield": {
    "label": "Distribution yield", "family": "ETF",
    "plain": "The cash the fund has paid out to holders over the past year, as a share of today's price.",
    "generic": "A 3% distribution yield on a €100 fund position pays out about €3 a year in cash distributions.",
    "good": "Compare it against peers within the same asset class and category - a bond fund's normal yield and an equity fund's normal yield aren't the same benchmark.",
    "trap": "A high yield can partly be a return of capital rather than real income, especially for some income-focused or covered-call funds - check what's actually generating it."
  },
  "aum": {
    "label": "Fund size (AUM)", "family": "ETF",
    "plain": "The total value of everything the fund holds - a rough gauge of how established and liquid it is.",
    "generic": "A fund with billions in assets is generally easier to trade in and out of than one with only a few million - more buyers and sellers, tighter pricing.",
    "good": "Compare it against peer funds tracking the same or a similar index, not across different categories - a niche category is naturally smaller than a broad market fund.",
    "trap": "A very small fund can be shut down (liquidated) by the provider if it never gathers enough assets - size below a certain threshold is itself a risk, not just a liquidity inconvenience."
  },
  "vol_1y": {
    "label": "Volatility (1-year)", "family": "ETF",
    "plain": "How much the fund's price has swung up and down over the past year - a measure of how bumpy the ride has been.",
    "generic": "A fund with 20% annual volatility tends to swing roughly twice as much day to day as one with 10% - expect a rougher ride, not necessarily a worse outcome.",
    "good": "Compare it against funds in the same asset class, not against a broad market average - a single-sector equity fund is naturally more volatile than a diversified bond fund.",
    "trap": "Low recent volatility can flip fast when market conditions change - it describes the recent past, not a promise about how calm the next year will be."
  },
  "vol_3y": {
    "label": "Volatility (3-year)", "family": "ETF",
    "plain": "How much the fund's price has swung up and down over the past three years - a longer-run read on how bumpy the ride has been.",
    "generic": "A lower 3-year volatility than a fund's own 1-year figure suggests the recent period has been unusually calm (or unusually stormy) relative to its longer pattern.",
    "good": "Compare it against funds in the same category and against the fund's own 1-year figure, not against a single universal number.",
    "trap": "Three years of relative calm can end abruptly - volatility measures tend to spike hardest exactly when a fund's history suggested it wouldn't."
  },
  "isin": {
    "label": "ISIN", "family": "ETF",
    "plain": "The unique identifier used to look up this exact fund on any exchange or broker, worldwide.",
    "generic": "Two funds can share almost the same name across different brokers - the ISIN is the one code that guarantees you're looking at the identical fund.",
    "good": "Use it to double-check you're comparing the exact same fund across different platforms, not as a way to rank it against peers.",
    "trap": "The same underlying strategy can be listed under multiple ISINs (different share classes, currencies, or exchanges) - a different ISIN doesn't always mean a genuinely different fund."
  },
  "domicile": {
    "label": "Domicile", "family": "ETF",
    "plain": "The country where the fund is legally registered - it shapes the tax treatment and regulatory rules that apply to it, not where its holdings are.",
    "generic": "A fund domiciled in Ireland or Luxembourg is common for European investors mainly because of how dividend withholding taxes on US stocks get treated there.",
    "good": "Check it against your own country's tax treaty rules, not against other investors' situations - the 'best' domicile genuinely depends on where you personally live and pay tax.",
    "trap": "Domicile is easy to confuse with where the fund actually invests - an Ireland-domiciled fund can hold entirely US or emerging-market stocks."
  },
  "currency": {
    "label": "Fund currency", "family": "ETF",
    "plain": "The currency the fund itself is priced and reported in - not necessarily the currency of what it actually holds.",
    "generic": "A fund priced in dollars holding European stocks still moves with the euro-dollar exchange rate on top of the stocks' own moves - two sources of swing stacked together.",
    "good": "Check it against your own home currency, not against other funds - a currency mismatch adds a layer of risk that has nothing to do with the fund's actual holdings.",
    "trap": "A currency-hedged and an unhedged version of the same fund can perform quite differently over time - the label alone doesn't tell you which one you're looking at."
  },
  "inception_date": {
    "label": "Inception date", "family": "ETF",
    "plain": "The date the fund actually launched and started trading.",
    "generic": "A fund that launched in 2010 has lived through a full market cycle; one that launched last year hasn't been tested by a real downturn yet.",
    "good": "Judge long-run return and risk numbers against the fund's own age, not a universal timeframe - a 5-year return means little from a fund that's only 2 years old.",
    "trap": "A young fund's early returns can look great purely by starting right after a market bottom - the launch date itself can flatter the whole track record."
  },
  "div_frequency": {
    "label": "Distribution frequency", "family": "ETF",
    "plain": "How often the fund actually pays out its distributions - monthly, quarterly, or annually.",
    "generic": "A fund paying quarterly hands you four smaller payments a year instead of one larger annual one - the total yearly cash can be similar either way.",
    "good": "Match it against your own need for regular cash flow, not against other funds - frequency is a convenience preference, not a measure of quality.",
    "trap": "More frequent distributions aren't automatically better - some funds pay more often mainly to look attractive to income-focused investors, not because the underlying cash flow actually arrives that fast."
  },
  "holdings_count": {
    "label": "Number of holdings", "family": "ETF",
    "plain": "How many individual positions the fund actually owns.",
    "generic": "A fund with 500 holdings spreads risk thin across many companies; one with 30 concentrates it - a single stock's stumble matters far more in the second case.",
    "good": "Compare it against peer funds in the same category - a broad global fund and a niche sector fund have naturally different normal ranges.",
    "trap": "A high holdings count can still be concentrated in effect if the top few positions dominate the fund's actual weight - check the top-holdings breakdown, not just the count."
  },
  "avg_mkt_cap_mil": {
    "label": "Average holding market cap", "family": "ETF",
    "plain": "The typical size of the companies the fund actually holds, averaged across its portfolio.",
    "generic": "A fund averaging tens of billions per holding leans toward large, established companies; one averaging a few hundred million leans toward smaller, less-tested ones.",
    "good": "Compare it against the fund's own stated category (large-cap, small-cap, etc.) to check the label actually matches what it holds, not against unrelated categories.",
    "trap": "A single mega-cap holding can pull the average up even in a fund that's mostly small companies - check the distribution, not just the average."
  },
  "turnover": {
    "label": "Portfolio turnover", "family": "ETF",
    "plain": "How much of the fund's holdings get bought and sold over a typical year, as trading activity inside the fund.",
    "generic": "A 5% turnover rate means the fund barely trades - most index funds sit here; a 100% turnover rate means it effectively replaces its whole portfolio over the year.",
    "good": "Compare it against peers in the same category - a passive index tracker and an actively managed fund have very different normal turnover ranges.",
    "trap": "High turnover isn't disclosed as its own line-item cost, but it quietly creates trading costs and tax events inside the fund that don't show up in the expense ratio."
  },
  "category": {
    "label": "Category", "family": "ETF",
    "plain": "The broad classification the fund is grouped under, based on what it invests in and how.",
    "generic": "Two funds in the same category (say, 'US Large-Cap Blend') are meant to be reasonably comparable on cost, risk and return; funds in different categories usually aren't.",
    "good": "Use it to find genuinely comparable peers, not to judge quality directly - the category label groups similar strategies, it doesn't rank them.",
    "trap": "Category boundaries are drawn by a data provider's rules, not by the fund's own marketing - a fund can sit in a category that doesn't fully match how you'd describe its strategy."
  },
  "geography": {
    "label": "Region", "family": "ETF",
    "plain": "The primary geographic area the fund invests in.",
    "generic": "A fund labeled 'Europe' focuses its holdings there, while a 'Global' fund spreads across many regions at once - different exposure, different risk.",
    "good": "Match it against your own existing exposure - a portfolio already heavy in one region gains less diversification from adding another fund in that same region.",
    "trap": "A fund's stated region can differ from where its underlying companies actually make their money - a 'US' fund can still hold plenty of companies with mostly overseas revenue."
  },
  "leveraged": {
    "label": "Leveraged / inverse flag", "family": "ETF",
    "plain": "Whether the fund uses leverage or bets against its underlying index, rather than simply tracking it 1-for-1.",
    "generic": "A 2x leveraged fund aims to move about double its index's daily move - both on the way up and on the way down.",
    "good": "Treat it as a structural warning to read closely, not a normal fund category - compare it only against its own leveraged peers, never against a plain index tracker.",
    "trap": "Leveraged and inverse funds reset their leverage daily, so holding one over weeks or months can produce a return very different from just multiplying the index's longer-term move - they're built for short holding periods, not buy-and-hold."
  },
  "price": {
    "label": "Share price", "family": "Valuation",
    "plain": "What one share costs to buy right now.",
    "example": {"tpl": "{name} trades at {price} a share right now.", "needs": ["price"]},
    "generic": "A share priced at €50 means buying 10 shares costs about €500, before any fees.",
    "good": "Judge the price itself only against your own trade size and fees - on its own it says nothing about whether the company is cheap or expensive. Compare the valuation ratios instead, against sector and history.",
    "trap": "A 'cheap-looking' low share price and a 'pricey-looking' high one can be the exact same company value - splits and share count differ, so price alone tells you nothing about value."
  },
  "market_cap": {
    "label": "Market cap", "family": "Valuation",
    "plain": "The price tag for buying every share of the company at today's price.",
    "generic": "A €50 billion market cap is roughly what it would cost to buy the entire company outright at today's price.",
    "good": "Judge company size against sector peers, not a universal scale - a €5 billion company is large for some sectors and small for others; compare within the same market.",
    "trap": "Market cap moves with sentiment as much as with the business itself - a stock can look twice as 'big' after a rally with nothing about the underlying company having changed."
  },
  "forward_pe": {
    "label": "Forward P/E", "family": "Valuation",
    "plain": "Years of next year's expected profit you pay for the company at today's price, instead of the profit it already made.",
    "example": {"tpl": "{name}: you pay {forward_pe} years of next year's expected profit at today's price.", "needs": ["forward_pe"]},
    "generic": "Forward P/E 18 means you pay €18 for every €1 of profit analysts expect next year, versus what the trailing P/E charges for profit already earned.",
    "good": "Compare it against the trailing P/E and against sector peers - a forward P/E much lower than the trailing one signals the market expects profits to grow.",
    "trap": "It leans entirely on analyst forecasts, not actual results - a rosy forward P/E can look far less flattering once the real numbers come in."
  },
  "peg": {
    "label": "PEG ratio", "family": "Valuation",
    "plain": "The P/E ratio divided by how fast profit is growing - a way to judge whether a high P/E is actually expensive once growth is accounted for.",
    "example": {"tpl": "{name}'s PEG ratio is {peg}.", "needs": ["peg"]},
    "generic": "A PEG of 1 is considered fair value for the growth priced in; a PEG of 2 means you're paying twice as much per unit of growth as a PEG-of-1 company.",
    "good": "Below 1 is generally attractive for the growth priced in, above 2 is expensive - compare within the sector, since growth expectations vary widely between industries.",
    "trap": "PEG treats growth as equally valuable and equally certain everywhere - a fast-but-erratic grower and a slow-but-rock-solid one can share the same PEG and deserve very different prices."
  },
  "forward_peg": {
    "label": "Forward PEG", "family": "Valuation",
    "plain": "The forward-looking version of the PEG ratio - next year's expected P/E divided by the growth rate the market is pricing in.",
    "example": {"tpl": "{name}'s forward PEG is {forward_peg}.", "needs": ["forward_peg"]},
    "generic": "A forward PEG below 1 means you're paying relatively little for the growth analysts expect next year; above 2 means you're paying a steep premium for it.",
    "good": "Compare it against the plain PEG ratio and against sector peers - a big gap between the two suggests growth is expected to accelerate or slow sharply.",
    "trap": "It's built entirely on next year's forecast, which analysts revise constantly - a flattering forward PEG today can look completely different after the next round of estimate cuts."
  },
  "pb": {
    "label": "Price / book", "family": "Valuation",
    "plain": "How many times over the company's accounting net worth you're paying for it.",
    "example": {"tpl": "{name} trades at {pb}x its accounting net worth.", "needs": ["pb"]},
    "generic": "A price-to-book of 3 means you're paying €3 for every €1 of net worth listed on the balance sheet.",
    "good": "Cheap or expensive only makes sense against sector norms - asset-heavy businesses like banks trade near 1x, while asset-light software companies routinely trade at 10x or more.",
    "trap": "Book value can badly understate what a company is really worth (a strong brand, patents) or overstate it (assets that would fetch little in a real sale) - it's an accounting number, not a market one."
  },
  "ps": {
    "label": "Price / sales", "family": "Valuation",
    "plain": "How many times over the company's yearly sales you're paying for it.",
    "example": {"tpl": "{name} trades at {ps}x its yearly sales.", "needs": ["ps"]},
    "generic": "A price-to-sales of 5 means you're paying €5 for every €1 of yearly revenue, regardless of whether that revenue turns into profit.",
    "good": "Useful mostly for young or currently unprofitable companies where a profit-based ratio doesn't work yet - compare within the sector, since margin-rich industries command a much higher price-to-sales ratio than low-margin ones.",
    "trap": "It says nothing about profitability - a company can carry a low price-to-sales ratio while losing money on every sale it makes."
  },
  "pfcf": {
    "label": "Price / cash flow", "family": "Valuation",
    "plain": "Years of the real spare cash the business generates that you pay for the company at today's price.",
    "example": {"tpl": "{name}: you pay about {pfcf} years of spare cash generation at today's price.", "needs": ["pfcf"]},
    "generic": "A reading of 25 means you're paying 25 years' worth of the company's current spare cash generation to own it today.",
    "good": "Judge it against the regular P/E and against sector peers - a much higher cash-based ratio than the earnings-based one can mean accounting profit is outrunning real cash generation.",
    "trap": "A single year of unusually heavy investment can spike this number even for a genuinely healthy business - check several years, not one, before reading too much into it."
  },
  "ev_ebitda": {
    "label": "EV/EBITDA", "family": "Valuation",
    "plain": "Years of the company's core operating profit it would take to buy the whole business outright, debt included - a way to compare companies that carry different amounts of debt on equal footing.",
    "example": {"tpl": "{name}: it would take about {ev_ebitda} years of core operating profit to buy the whole business outright.", "needs": ["ev_ebitda"]},
    "generic": "A reading of 12 means buying the entire company - including taking on its debt - costs about 12 years of its core operating profit.",
    "good": "Compare it against sector peers rather than the plain P/E - it neutralizes differences in debt levels, so it's the fairer way to compare a heavily-indebted company with a debt-free one.",
    "trap": "It ignores how much of that operating profit is accrual, not cash in the bank, and how much actually reaches shareholders after interest, tax and reinvestment - a company can look cheap here while genuine spare cash is thin.",
    "formula": "Price of the whole company (market value + debt - cash) divided by core operating profit (operating profit plus depreciation and amortisation - EBITDA; an accrual measure, not a cash one)."
  },
  "ev_sales": {
    "label": "EV/Sales", "family": "Valuation",
    "plain": "How many times over the company's yearly sales it would cost to buy the whole business outright, debt included.",
    "example": {"tpl": "{name}: buying the whole business costs about {ev_sales}x its yearly sales.", "needs": ["ev_sales"]},
    "generic": "A reading of 4 means buying the entire company, debt included, costs about 4 years of its yearly sales.",
    "good": "Compare it against sector peers rather than the plain price-to-sales ratio - it accounts for debt differences, useful when comparing a leveraged company against a debt-free one.",
    "trap": "Like price-to-sales, it says nothing about whether those sales are actually profitable - a low reading can still describe a business burning cash."
  },
  "ev_fcf": {
    "label": "EV/FCF", "family": "Valuation",
    "plain": "Years of the real spare cash the business generates it would take to buy the whole company outright, debt included.",
    "example": {"tpl": "{name}: buying the whole business costs about {ev_fcf} years of its spare cash generation.", "needs": ["ev_fcf"]},
    "generic": "A reading of 20 means buying the entire company, debt included, costs about 20 years of the spare cash it currently throws off.",
    "good": "Compare it against the plain cash-flow ratio and against sector peers - the gap between the two shows how much debt is shaping the price you'd actually pay.",
    "trap": "Spare cash generation can swing sharply year to year on one-off investments - a single unusually low or high year can make this ratio look far more extreme than the business really is."
  },
  "earnings_yield": {
    "label": "Earnings yield", "family": "Valuation",
    "plain": "The company's profit as a share of what the whole company costs - the flip side of the P/E ratio.",
    "generic": "An earnings yield of 5% means the company earns about €5 a year in profit for every €100 you'd pay to own it - the same relationship as a P/E of 20, just expressed the other way round.",
    "good": "Higher is cheaper - useful for comparing a stock directly against a bond yield or cash rate, something the P/E ratio doesn't do naturally. Compare against sector peers too.",
    "trap": "It's built from accounting profit, which can be flattered by one-off gains or depressed by one-off charges - check it alongside the cash-flow yield before trusting it alone."
  },
  "anchor_value": {
    "label": "Valuation anchor", "family": "Valuation",
    "plain": "The single fair-value price our valuation card measures today's price against - the analyst mean target where one exists, a model estimate otherwise.",
    "example": {"tpl": "{name}'s valuation anchor sits at {anchor_value}.", "needs": ["anchor_value"]},
    "generic": "An anchor of €120 against a €100 price gives you a single fixed reference point to measure the current price against, rather than judging it in a vacuum.",
    "good": "Treat it as one reference point, not a certainty - compare how often it has moved and by how much over the stock's own history before leaning on it heavily.",
    "trap": "An anchor built from analyst targets can lag reality - it moves only as fast as analysts update their models, which is often well behind the news."
  },
  "anchor_source": {
    "label": "Anchor source", "family": "Valuation",
    "plain": "Where the valuation anchor actually comes from - an average of analyst price targets, or our own model estimate when analyst coverage is too thin.",
    "example": {"tpl": "{name}'s anchor source is: {anchor_source}.", "needs": ["anchor_source"]},
    "generic": "'Analyst' means the anchor is built from Wall Street's own published price targets; 'model' means our own estimate stepped in because there wasn't enough analyst coverage to trust.",
    "good": "Weigh an analyst-sourced anchor differently from a model-sourced one - more analysts covering a stock generally means a more reliable consensus. Check it against the stock's own history before leaning on the gap.",
    "trap": "A model estimate exists specifically because coverage was thin - by definition, it's the anchor with the least outside checking behind it."
  },
  "anchor_label": {
    "label": "Anchor card title", "family": "Valuation",
    "plain": "The name shown on the valuation-anchor card, describing in plain words which method actually produced the anchor value above it.",
    "example": {"tpl": "{name}'s anchor is labeled: {anchor_label}.", "needs": ["anchor_label"]},
    "generic": "'Analyst mean target' tells you at a glance the number above it is Wall Street's own average price target, without needing to check the source field separately.",
    "good": "Read it together with the anchor value and the gap percentage, not on its own - it's a label explaining the other two numbers, not a signal by itself.",
    "trap": "Don't assume every stock gets the same kind of label - two companies can show completely different anchor methods side by side, so always check what this one is actually reading."
  },
  "target_mean": {
    "label": "Analyst price target", "family": "Valuation",
    "plain": "The average 12-month price Wall Street analysts covering the stock expect it to reach.",
    "generic": "A target of €130 against a €100 price implies analysts collectively expect about 30% upside over the next year.",
    "good": "Compare the implied gap against the stock's own history of hitting or missing past targets, and against how many analysts actually cover it - a target built from 20 analysts carries more weight than one built from 2.",
    "trap": "Analyst targets are known to run optimistic and to chase the price rather than lead it - a big implied upside right after a crash can just mean analysts haven't caught up yet."
  },
  "target_upside": {
    "label": "Analyst upside", "family": "Valuation",
    "plain": "How much higher the stock would need to rise to reach the average analyst price target from where it trades today.",
    "generic": "An analyst upside of 20% means the average price target sits about 20% above today's price.",
    "good": "Judge it against the stock's own history of closing (or missing) that gap, and against how many analysts back the target - a thinly-covered target is a weaker signal.",
    "trap": "A large implied upside doesn't mean the stock will get there - it just measures the gap to a forecast that itself can be wrong or outdated."
  },
  "dcf_implied_growth": {
    "label": "Reverse DCF implied growth", "family": "Valuation",
    "plain": "The pace of profit growth the market's current price is already assuming, worked backward from a standard valuation model rather than forward from a forecast.",
    "generic": "An implied growth rate of 15% a year means today's price only makes sense if the company keeps growing profits at roughly that pace for years to come - a useful gut-check on how much optimism is baked in.",
    "good": "Compare the implied rate against the company's own recent growth history and against realistic sector growth rates - a rate far above what the business or its industry has ever sustained is a red flag on the price, not the company.",
    "trap": "It's only as good as the valuation model's other assumptions (discount rate, margins) - change those and the 'implied growth' the market is supposedly demanding changes right along with them."
  },
  "roa": {
    "label": "Return on assets", "family": "Quality",
    "plain": "Profit the company makes per euro of everything it owns - buildings, equipment, cash, all of it.",
    "generic": "€8 profit on €100 of total assets is an 8% return on assets - a read on how efficiently the whole balance sheet, not just shareholders' money, is being put to work.",
    "good": "Compare within the sector - asset-heavy businesses like utilities and airlines naturally run lower than asset-light ones like software companies.",
    "trap": "A company can boost this ratio by simply owning fewer assets (leasing instead of buying) rather than genuinely running the business better - check what actually changed before crediting improved efficiency."
  },
  "roce": {
    "label": "Return on capital employed", "family": "Quality",
    "plain": "Pre-tax profit the business earns per euro of capital actually tied up in running it - equity plus long-term debt, short-term bills excluded.",
    "generic": "€18 of pre-tax profit on €100 of capital employed is an 18% ROCE - a read on how well the money actually invested in the business is being put to work.",
    "good": "Above roughly 15% is generally strong; compare within the sector, since capital-heavy industries structurally run lower than asset-light ones.",
    "trap": "It can look flattering right after a company writes down or sells off assets - the capital base shrinks even though nothing about the underlying operations improved."
  },
  "roic": {
    "label": "Return on invested capital", "family": "Quality",
    "plain": "Profit the business earns, after tax, per euro of capital investors have put into it - debt and equity combined.",
    "generic": "€15 of after-tax profit on €100 of invested capital is a 15% ROIC - if that beats what it costs the company to raise that capital, it's genuinely creating value rather than just growing.",
    "good": "Compare it against the sector and against the company's own cost of capital, not a fixed number - a ROIC that doesn't clear the cost of capital is destroying value even while profit still grows.",
    "trap": "A high ROIC on a shrinking capital base isn't the same achievement as a high ROIC while the business is actually expanding - check whether invested capital is growing or being run down."
  },
  "gross_margin": {
    "label": "Gross margin", "family": "Quality",
    "plain": "The share of each euro of sales left over after paying for what it directly costs to make or deliver the product.",
    "generic": "A 60% gross margin keeps €60 of every €100 in sales after covering the direct cost of the goods themselves - the rest still has to cover marketing, R&D and everything else.",
    "good": "Compare it within the sector - software and luxury goods routinely run above 60%, while retailers and manufacturers often sit well below 30%, and neither is inherently better.",
    "trap": "A high gross margin says nothing about the bottom line - a business can spend so heavily on marketing and overhead below the gross-margin line that it still loses money overall."
  },
  "operating_margin": {
    "label": "Operating margin", "family": "Quality",
    "plain": "The share of each euro of sales left as profit after running the core business, before interest and tax.",
    "generic": "A 20% operating margin keeps €20 of profit from every €100 of sales after covering the day-to-day cost of running the business.",
    "good": "Compare within the sector and against the company's own history - a margin that's rising over time usually says more than where it sits today.",
    "trap": "A margin can be flattered in a single quarter by cutting spending the business actually needs (marketing, R&D) - check whether it's holding up alongside steady sales growth, not shrinking sales."
  },
  "net_margin": {
    "label": "Net margin", "family": "Quality",
    "plain": "The share of each euro of sales that actually becomes profit, after every cost, interest payment and tax bill.",
    "example": {"tpl": "{name} keeps about {net_margin} of each euro of sales as profit.", "needs": ["net_margin"]},
    "generic": "A 15% net margin keeps €15 of profit from every €100 of sales, after everything is paid.",
    "good": "Compare within the sector - grocery chains often run under 5% while software companies routinely clear 25%, and both can be perfectly healthy businesses.",
    "trap": "A single one-off item (a tax refund, an asset sale) can swing net margin sharply in either direction for one quarter - check whether it holds up over several periods before trusting it."
  },
  "ebitda_margin": {
    "label": "EBITDA margin", "family": "Quality",
    "plain": "The share of each euro of sales left as core operating profit, before interest, tax and non-cash charges are subtracted.",
    "generic": "A 35% reading keeps €35 of core operating profit from every €100 of sales, before the costs that vary most by how a company is financed and depreciates its assets.",
    "good": "Compare within the sector, since capital-intensive industries (telecoms, airlines) naturally run higher here than asset-light ones - it strips out financing and depreciation choices that would otherwise distort the comparison.",
    "trap": "It ignores real costs like interest, tax and the wear-and-tear on equipment that eventually has to be replaced - a business can look comfortably profitable here while its net profit is thin or negative."
  },
  "income_quality": {
    "label": "Income quality", "family": "Quality",
    "plain": "Whether the spare cash actually coming into the business each year keeps pace with the profit it reports on paper.",
    "example": {"tpl": "{name}'s income quality reads {income_quality}x.", "needs": ["income_quality"]},
    "generic": "A reading of 1.2x means the business generated €1.20 of real cash for every €1 of accounting profit it reported - a sign the profit is backed by genuine cash, not just accounting choices.",
    "good": "Above 1x across several years is reassuring; compare it against the company's own trend more than a single period, since one unusual year (working-capital swings) can distort a single reading.",
    "trap": "A reading below 1x isn't automatically a red flag - some genuinely healthy, fast-growing businesses tie up cash in inventory or receivables as they scale. Check the trend, not one year."
  },
  "piotroski": {
    "label": "Piotroski F-Score", "family": "Quality",
    "plain": "A 0-to-9 health check that adds up nine separate pass/fail tests on profitability, debt and efficiency into a single score.",
    "example": {"tpl": "{name} scores {piotroski} out of 9 on this health check.", "needs": ["piotroski"]},
    "generic": "A score of 8 means the company passed 8 of the 9 individual tests - strong and improving across most of what the checklist looks at; a score of 2 means it failed nearly all of them.",
    "good": "8-9 is considered strong, 0-2 weak across the whole market we cover - it's most useful as a broad screen, not a fine ranking between two similar businesses.",
    "trap": "It rewards recent improvement, not necessarily quality - a mediocre company recovering from a bad year can score as high as a consistently excellent one that had nothing left to improve."
  },
  "rev_growth": {
    "label": "Revenue growth", "family": "Quality",
    "plain": "How much faster (or slower) sales are running than the same period a year ago.",
    "example": {"tpl": "{name}'s sales grew {rev_growth} year over year.", "needs": ["rev_growth"]},
    "generic": "18% revenue growth means the company sold about 18% more than it did over the same period last year.",
    "good": "Judge it against sector peers and the company's own recent trend - a slowdown from 30% to 15% growth can matter more to the stock than the 15% figure itself.",
    "trap": "Revenue can grow while profit shrinks - a company can chase sales growth through discounting or acquisitions that actually make the business less profitable per euro of sales."
  },
  "eps_growth": {
    "label": "EPS growth", "family": "Quality",
    "plain": "How much faster (or slower) profit per share is growing than the same period a year ago.",
    "generic": "A 20% EPS growth rate means profit per share is running about 20% ahead of the same period last year.",
    "good": "Compare it against revenue growth over the same period, and against sector peers - profit growing meaningfully faster than sales can mean genuine efficiency gains, or one-off cost cuts that won't repeat.",
    "trap": "Buybacks alone can lift EPS growth even when total company profit is flat - fewer shares outstanding means the same profit pie gets sliced into bigger pieces per share."
  },
  "ebitda_growth": {
    "label": "EBIT/EBITDA growth", "family": "Quality",
    "plain": "How much faster (or slower) core operating profit is growing than the same period a year ago.",
    "generic": "25% growth here means core operating profit is running about a quarter ahead of where it was over the same period last year.",
    "good": "Compare it against revenue growth over the same period and against sector peers - operating profit growing faster than sales usually signals genuine margin improvement, not just a bigger top line.",
    "trap": "It strips out interest, tax and non-cash charges, so it can look strong even while the costs below that line (debt, depreciation) are quietly getting worse."
  },
  "ni_growth": {
    "label": "Net income growth", "family": "Quality",
    "plain": "How much faster (or slower) bottom-line profit is growing than the same period a year ago.",
    "generic": "12% net income growth means the company's final, after-everything profit is running about 12% ahead of the same period last year.",
    "good": "Compare it against revenue and operating-profit growth over the same period, and against sector peers - net income growing much faster than either usually means a one-off item is doing some of the work.",
    "trap": "A low base year makes next year's growth rate look enormous almost automatically - always check what the prior year's profit actually was, not just the percentage change."
  },
  "ocf_growth": {
    "label": "Op. cash flow growth", "family": "Quality",
    "plain": "How much faster (or slower) the actual cash coming in from running the business is growing than the same period a year ago.",
    "generic": "10% growth here means the real cash generated from operations is running about 10% ahead of the same period last year, regardless of what accounting profit says.",
    "good": "Compare it against net income growth over the same period and against sector peers - operating cash flow growing well ahead of reported profit is usually a healthy sign; well behind it is worth a closer look.",
    "trap": "It can swing sharply from one-off working-capital timing (a big customer paying late, or early) - a single weak quarter here doesn't necessarily mean the underlying business slowed."
  },
  "fcf_growth": {
    "label": "FCF growth", "family": "Quality",
    "plain": "How much faster (or slower) the real spare cash left over after running and investing in the business is growing than a year ago.",
    "generic": "15% growth here means the spare cash the business throws off after covering its own operations and investment is running about 15% ahead of the same period last year.",
    "good": "Compare it against operating cash flow growth over the same period and against sector peers - if spare cash is growing much slower than operating cash flow, rising capital spending is eating into it.",
    "trap": "A company can boost this simply by cutting the investment it needs to stay competitive - spare cash goes up in the short run while the business quietly falls behind."
  },
  "fcf_margin": {
    "label": "Cash-flow margin", "family": "Quality",
    "plain": "The share of each euro of sales that ends up as real spare cash after running and investing in the business.",
    "generic": "A 15% reading keeps €15 of real spare cash from every €100 of sales, after covering both day-to-day operations and the investment needed to keep the business running.",
    "good": "Compare within the sector, since capital-heavy industries naturally run lower here than asset-light ones - a young, fast-growing company can run near zero on purpose while it reinvests heavily.",
    "trap": "A single year of unusually low investment spending can inflate this margin temporarily - check whether it holds up over several years, not just the latest one."
  },
  "fundamental_pctile": {
    "label": "Fundamental rank", "family": "Quality",
    "plain": "How the stock's overall business quality ranks against every other stock in the same screen, from weakest to strongest.",
    "generic": "A reading near the top of the range means the underlying business scores stronger on fundamentals than nearly everything else being screened; near the bottom means it's lagging most of the field.",
    "good": "It's a relative rank within this specific screen against its peers, not a fixed 0-100 scale - compare stocks within the same list of peers, not across different screens.",
    "trap": "A stock can rank near the top of a genuinely weak group of candidates - a high rank here says nothing about whether the business is actually good in absolute terms."
  },
  "revenue_trend": {
    "label": "Quarterly revenue trend", "family": "Quality",
    "plain": "How sales have moved quarter by quarter recently, shown as a simple chart rather than a single number.",
    "generic": "A rising bar-by-bar pattern across the last several quarters shows sales accelerating; flat or falling bars show growth stalling or reversing, something a single year-over-year figure can hide.",
    "good": "Look at the shape of the trend across the stock's own recent history, not just the latest quarter - a steady climb tells a very different story than one strong quarter after several weak ones, even if the most recent number looks the same.",
    "trap": "A single standout quarter (a big contract, an acquisition) can make the trend look stronger than the underlying business really is - check whether the next quarter holds the gain or gives it back."
  },
  "eps_trend": {
    "label": "Quarterly EPS trend", "family": "Quality",
    "plain": "How profit per share has moved quarter by quarter recently, shown as a simple chart rather than a single number.",
    "generic": "A steadily climbing pattern across recent quarters shows profit growth building; a jagged or declining pattern shows it stalling, even if the latest single quarter still beat expectations.",
    "good": "Read it alongside the revenue trend over the same quarters and the stock's own longer history - profit climbing while sales are flat usually means cost-cutting or buybacks are doing the work, not real growth.",
    "trap": "One-off items (a tax benefit, a write-down) can make a single quarter's bar spike or collapse without reflecting the ongoing business at all - check what actually drove any sharp move."
  },
  "annual_cash": {
    "label": "Annual cash balance trend", "family": "Quality",
    "plain": "How much cash the company has actually held on its balance sheet at the end of each of the past several years.",
    "generic": "A steadily rising cash balance across several years shows the business building a cushion; a steadily falling one shows that cushion being spent down or debt being paid off.",
    "good": "Read the trend alongside net cash / debt and dividend history - a shrinking cash balance funding buybacks and dividends is very different from one shrinking because the core business is burning through it.",
    "trap": "A single year's cash balance can jump around from one-off events (a big acquisition, a debt raise, an asset sale) that say nothing about the ongoing business - look at the multi-year shape, not one data point."
  },
  "annual_fcf": {
    "label": "Annual cash generation trend", "family": "Quality",
    "plain": "How much real spare cash the business has generated each of the past several years, shown as a simple chart.",
    "generic": "A steadily rising bar-by-bar pattern shows the business generating more spare cash each year; a flat or falling one shows that cash generation stalling even if reported profit still looks fine.",
    "good": "Compare the shape of this trend against the profit trend over the same years and the company's own longer history - cash generation lagging reported profit for several years running is worth a closer look at income quality.",
    "trap": "Heavy investment years show up here as a dip even in a genuinely healthy, growing business - a temporarily low or negative reading isn't automatically a warning sign."
  },
  "composite_sector": {
    "label": "Sector-relative score", "family": "Our Scores",
    "plain": "Our overall 0-100 grade recalculated against only the stocks in the same sector, instead of the whole market we cover.",
    "example": {"tpl": "{name} scores {composite_sector}/100 against its own sector.", "needs": ["composite_sector"]},
    "generic": "A sector score of 65/100 versus an overall score of 50/100 means the company looks average against the whole market but stands out within its own industry.",
    "good": "Use it to separate 'good company' from 'good for this kind of business' - a mediocre sector score in a genuinely tough industry can still beat every peer in that industry.",
    "trap": "A high sector score can just mean the whole sector is weak right now - being the best house on a bad street is still worth checking against the overall score too."
  },
  "composite_delta_7d": {
    "label": "7-day score change", "family": "Our Scores",
    "plain": "How much our overall 0-100 grade has moved over the past week, up or down.",
    "generic": "A reading of +3 means the score has climbed 3 points over the last week - usually from fresh earnings, analyst revisions or a real price move feeding into the underlying metrics.",
    "good": "A meaningful, sustained move (several points, holding over more than a day or two) is worth investigating why; small day-to-day wobble is normal noise, not a signal - compare against the stock's own recent history of swings.",
    "trap": "The score moving doesn't always mean the business changed - some inputs (like momentum and valuation) shift automatically just because the price moved, with nothing new about the company itself."
  },
  "quality": {
    "label": "Quality pillar", "family": "Our Scores",
    "plain": "Our 0-100 rank of how efficiently the business turns sales and capital into real profit - the more consistently high-margin and high-return it is across everything it does, the higher this scores, ranked against every stock we cover.",
    "example": {"tpl": "{name} ranks {scores.quality}/100 on business quality right now.", "needs": ["scores.quality"]},
    "generic": "A quality score of 80/100 means the business is more efficient and more profitable than about 80% of the stocks we cover, across all of those measures combined.",
    "good": "Above 70 marks a genuinely well-run business; below 40 flags real profitability or efficiency problems - ranked against our whole coverage universe, so compare within the same sector too since some industries are structurally more profitable than others.",
    "trap": "A high quality score describes how well the business is run today - it says nothing about whether the stock is priced fairly. Pair it with the Valuation pillar before deciding it's a buy.",
    "formula": "Blends return on equity, return on assets, return on capital employed, return on invested capital, gross/operating/net margins, income quality (operating cash flow divided by net income) and the Piotroski F-Score into one 0-100 score."
  },
  "growth": {
    "label": "Growth pillar", "family": "Our Scores",
    "plain": "Our 0-100 rank of how fast the business is actually expanding - the faster sales, profit and cash generation are all growing together, the higher this scores, ranked against every stock we cover.",
    "example": {"tpl": "{name} ranks {scores.growth}/100 on growth right now.", "needs": ["scores.growth"]},
    "generic": "A growth score of 65/100 means the business is expanding faster across those measures than about 65% of the stocks we cover.",
    "good": "Above 70 marks genuinely fast, broad-based expansion; below 40 flags a business that's stalled or shrinking - ranked against our whole coverage universe. Compare within the sector too, since mature industries structurally grow slower than young ones.",
    "trap": "Fast growth funded by heavy debt or constant share issuance can score well here while quietly weakening the balance sheet - check it alongside the Strength pillar, not on its own.",
    "formula": "Blends revenue growth, EPS growth, EBIT/EBITDA growth, net income growth, operating cash flow growth and free cash flow growth into one 0-100 score."
  },
  "strength": {
    "label": "Strength pillar", "family": "Our Scores",
    "plain": "Our 0-100 rank of how resilient the balance sheet is - the more comfortably a company could weather a genuinely bad year on its debt load and cash cushion, the higher this scores, ranked against every stock we cover.",
    "example": {"tpl": "{name} ranks {scores.strength}/100 on financial strength right now.", "needs": ["scores.strength"]},
    "generic": "A strength score of 80/100 means the balance sheet looks more resilient across those measures than about 80% of the stocks we cover.",
    "good": "Above 70 marks a genuinely resilient balance sheet that can survive a rough year; below 40 flags real financial fragility - ranked against our whole coverage universe. Compare within the sector too, since banks and utilities carry structurally different norms than most other industries.",
    "trap": "A strong balance sheet doesn't mean a good business - a company can sit on a fortress of cash while its core operations are quietly stagnating or shrinking.",
    "formula": "Blends debt/equity, debt/EBITDA, interest coverage, current ratio, quick ratio, cash ratio and the Altman Z-Score into one 0-100 score."
  },
  "valuation": {
    "label": "Valuation pillar", "family": "Our Scores",
    "plain": "Our 0-100 rank of how cheap or expensive the stock looks, built from price-to-earnings, debt-adjusted valuation ratios, price-to-book, price-to-sales, PEG, earnings yield and cash-flow yield - blended and ranked against every stock we cover.",
    "example": {"tpl": "{name} ranks {scores.valuation}/100 on how cheap it looks right now.", "needs": ["scores.valuation"]},
    "generic": "A valuation score of 30/100 means the stock looks more expensive across those measures than about 70% of the stocks we cover - cheap relative to the market would score closer to 100.",
    "good": "Above 70 marks a genuinely cheap stock by these measures; below 40 flags a genuinely expensive one - ranked against our whole coverage universe. Compare within the sector too, since some industries structurally trade richer than others.",
    "trap": "A low valuation score can mean a genuine bargain, or it can mean the market has correctly priced in real trouble ahead - pair it with the Quality and Strength pillars before assuming it's cheap for no reason."
  },
  "income": {
    "label": "Income pillar", "family": "Our Scores",
    "plain": "Our 0-100 rank of how much cash a stock returns to shareholders and how sustainable that looks, built from dividend yield and the payout ratio - blended and ranked against every stock we cover.",
    "example": {"tpl": "{name} ranks {scores.income}/100 on shareholder income right now.", "needs": ["scores.income"]},
    "generic": "An income score of 45/100 means the cash returned to shareholders looks less generous or less sustainable than about 55% of the stocks we cover.",
    "good": "Above 70 marks a genuinely generous, well-covered payout; below 40 flags a thin or unsustainable one - ranked against our whole coverage universe. Compare within the sector too, since some industries (utilities, banks) are built around paying out cash and others reinvest almost everything instead.",
    "trap": "A company that pays no dividend at all scores low here by design, even if it's a genuinely excellent business reinvesting every euro into growth - a low income score isn't automatically a red flag on the company itself."
  },
  "verdict": {
    "label": "Verdict", "family": "Our Scores",
    "plain": "Our single-word read on the overall picture - Strong, Constructive, Mixed or Weak - built by weighing how many of the signals across every pillar are pointing the same direction against how many are pointing the opposite way.",
    "generic": "A 'Mixed' verdict with one supporting point and one conflicting one means the evidence genuinely points in different directions right now - not a strong case either for buying or avoiding.",
    "good": "Read the verdict together with its own supporting and conflicting points listed underneath, not the single word alone - the reasoning behind it matters more than the label.",
    "trap": "A weight-of-evidence read can flip from 'Mixed' to 'Strong' on a single new data point crossing a threshold - it's a snapshot of today's balance of evidence, not a fixed characterization of the company."
  },
  "sv_moat": {
    "label": "Economic moat", "family": "Our Scores",
    "plain": "Our own read on how well the company can fend off rivals and defend its profits over time, built by blending the Quality and Strength pillar scores already on this page.",
    "example": {"tpl": "{name}'s moat is rated {sv_moat}.", "needs": ["sv_moat"]},
    "generic": "A 'Wide' moat means the business is both consistently very profitable and has the balance sheet to defend that position - a brand or advantage rivals would struggle to copy. 'None' means either the profitability or the resilience (or both) look ordinary.",
    "good": "Compare it against sector peers, since some industries structurally offer wider moats than others (branded consumer goods versus commodity manufacturing) - a 'Narrow' moat in a genuinely tough industry can still be a real edge.",
    "trap": "A wide moat describes the past and present, not a guarantee for the future - technology and shifting consumer habits have eroded moats that looked unassailable for decades."
  },
  "sv_capital_allocation": {
    "label": "Capital allocation", "family": "Our Scores",
    "plain": "Our own grade on how wisely management is investing cash and rewarding shareholders, built by blending buyback activity, dividend discipline and debt trends already visible on this page.",
    "example": {"tpl": "{name}'s capital allocation is graded {sv_capital_allocation}.", "needs": ["sv_capital_allocation"]},
    "generic": "'Exemplary' means the company is actively buying back shares rather than diluting, paying a dividend it can comfortably afford, and keeping debt low relative to earnings, all at once. 'Poor' means the opposite on most or all of those fronts.",
    "good": "Compare it against the company's own history more than against other companies - a management team that's improved from 'Poor' to 'Standard' is a genuinely different signal than one stuck at 'Poor' for years.",
    "trap": "A single well-timed buyback or dividend hike can flatter this grade temporarily - look for consistency across several years, not one good year of decisions."
  },
  "sv_quality_rating": {
    "label": "Quality rating (stars)", "family": "Our Scores",
    "plain": "Our own Quality pillar score turned into a simple 1-to-5 star rating, so the same profitability read shown in the pillar breakdown is easy to scan at a glance.",
    "example": {"tpl": "{name}'s Quality pillar score of {scores.quality}/100 sets its star rating.", "needs": ["scores.quality"]},
    "generic": "5 stars means the company scores in the top 20% of the universe we cover on profitability and balance-sheet efficiency combined; 1 star means the bottom 20%.",
    "good": "Use the stars for a quick scan across many companies at once, then open the Quality pillar breakdown for the real detail behind the number - compare within the sector too, since profitability norms vary by industry.",
    "trap": "Rounding a continuous 0-100 score into 5 buckets means two companies just a point or two apart can land on different star counts - don't read too much into a single star's difference."
  },
  "saq_rating": {
    "label": "Open Data Quant Rating", "family": "Our Scores",
    "plain": "A separate, purely data-driven 1-to-5 rating built entirely from sector-relative rankings of underlying fundamentals - an independent cross-check alongside our own pillar scores and composite.",
    "example": {"tpl": "{name}'s Open Data Quant Rating is {saq_rating}/5.", "needs": ["saq_rating"]},
    "generic": "A rating of 4 out of 5 means the underlying fundamentals rank strongly against sector peers on this independent measure; 1 out of 5 means they rank weakly.",
    "good": "Use it as a second opinion alongside the composite score, checked against sector peers - not a replacement for either, but a stronger signal when they broadly agree.",
    "trap": "It's ranked purely against sector peers, so a mediocre company in a weak sector can still score well here relative to equally mediocre neighbors - it doesn't mean the business is good in absolute terms."
  },
  "combined_score": {
    "label": "Combined Score (V&M strategy)", "family": "Our Scores",
    "plain": "The single score our Value + Momentum Model uses to rank candidates, built by blending how cheap the stock looks against how strong its recent trend is.",
    "generic": "A high combined score means a stock is scoring well on both cheapness and trend strength at the same time - the two things this particular strategy is specifically built to find together.",
    "good": "Compare it only against other candidates within the same Value + Momentum Model screen, not against the wider market or the general composite score - it's strategy-specific, built for a different purpose.",
    "trap": "Blending two different signals into one number can hide a stock that's mediocre on both fronts individually but happens to average out to a decent combined score - check the value and momentum components separately before trusting the blend."
  },
  "fh_rating": {
    "label": "Wall St rating", "family": "Our Scores",
    "plain": "The average of analysts' buy-or-sell ratings, sourced from whichever provider actually covers the stock - or, where coverage is too thin for that, the balance of analysts raising versus cutting their estimates instead.",
    "example": {"tpl": "{name}'s Wall St rating is {fh_rating}/5.", "needs": ["fh_rating"]},
    "generic": "A reading near 5 means analysts are overwhelmingly recommending buying (or, as a fallback, raising their estimates); a reading near 1 means the opposite.",
    "good": "Use it as a sentiment gauge, not a guarantee - compare it against the stock's own history of ratings and against how many analysts actually contribute to it, since a rating built from a handful of analysts carries less weight.",
    "trap": "Analyst ratings are notoriously slow to turn negative - a 'buy' consensus can persist well after a company's fundamentals have already started deteriorating."
  },
  "saq_value": {
    "label": "Valuation grade", "family": "Our Scores",
    "plain": "A letter grade, A through F, for how cheap the stock looks against sector peers on this independent measure.",
    "example": {"tpl": "{name}'s valuation grade is {saq_value}.", "needs": ["saq_value"]},
    "generic": "An A means the stock ranks among the cheapest in its sector on this measure; an F means it ranks among the most expensive.",
    "good": "Use it as a quick cross-check against the Valuation pillar score and against sector peers, not a replacement for the detail behind either - when they broadly agree, that's a stronger read.",
    "trap": "It's graded only against sector peers - a genuinely expensive sector can still hand out A grades to its 'cheapest' members, none of which would look cheap against the wider market."
  },
  "saq_growth": {
    "label": "Growth grade", "family": "Our Scores",
    "plain": "A letter grade, A through F, for how fast the business is expanding against sector peers on this independent measure.",
    "example": {"tpl": "{name}'s growth grade is {saq_growth}.", "needs": ["saq_growth"]},
    "generic": "An A means the company is growing faster than nearly all of its sector peers on this measure; an F means it's lagging nearly all of them.",
    "good": "Use it as a quick cross-check against the Growth pillar score and against sector peers, not a replacement for the detail - a mismatch between the two is worth digging into.",
    "trap": "Grading only against sector peers means a genuinely slow-growing sector can still hand out A grades to its 'fastest' members, none of which would impress against faster-growing industries."
  },
  "saq_profitability": {
    "label": "Profitability grade", "family": "Our Scores",
    "plain": "A letter grade, A through F, for how profitable the business is against sector peers on this independent measure.",
    "example": {"tpl": "{name}'s profitability grade is {saq_profitability}.", "needs": ["saq_profitability"]},
    "generic": "A B+ means the company ranks well above the sector middle on profitability by this measure, without necessarily topping the whole group.",
    "good": "Use it as a quick cross-check against the Quality pillar score and against sector peers - when the two broadly agree, that's a stronger signal than either alone.",
    "trap": "It's a snapshot ranking against current sector peers, not the company's own history - a genuine improvement or decline over time won't show up in a single letter grade."
  },
  "saq_momentum": {
    "label": "Momentum grade", "family": "Our Scores",
    "plain": "A letter grade, A through F, for how strong the stock's recent price trend is against sector peers on this independent measure.",
    "example": {"tpl": "{name}'s momentum grade is {saq_momentum}.", "needs": ["saq_momentum"]},
    "generic": "A C means the stock's recent trend sits roughly in the middle of its sector on this measure - neither a clear leader nor a clear laggard.",
    "good": "Use it as a quick cross-check against the Momentum pillar score, not on its own - price trends can reverse quickly, so treat any single grade as a snapshot, not a forecast.",
    "trap": "Trend grades reward whatever has already happened - by the time a stock earns a top grade here, much of the move it's rewarding may already be behind it."
  },
  "saq_revisions": {
    "label": "EPS Revisions grade", "family": "Our Scores",
    "plain": "A letter grade, A through F, for whether analysts covering the stock have recently been raising or cutting their profit estimates, against sector peers on this independent measure.",
    "example": {"tpl": "{name}'s EPS Revisions grade is {saq_revisions}.", "needs": ["saq_revisions"]},
    "generic": "An A means analysts have been raising their profit estimates for this company more than for most of its sector peers recently; an F means the opposite - estimates being cut more than most.",
    "good": "It tends to lead price moves more than trailing measures do, since it reflects what analysts expect next, not what already happened - compare it against the stock's own recent history of revisions, not just the letter alone.",
    "trap": "A string of small, routine estimate tweaks can move this grade around without any real change to the company's prospects - look for a clear, sustained direction, not single-analyst noise."
  }
}
