{
    "source": "Total Growth Investing",
    "url": "https://totalgrowthinvesting.com/stock.php?symbol=TFII",
    "version": "2.5.0",
    "symbol": "TFII",
    "name": "TFI International Inc",
    "legal_type": "Stock",
    "sector": "Industrials",
    "industry": "Trucking",
    "notes": "TFII:CA",
    "date_updated": "6/18/2026",
    "scores": {
        "tgi": 90,
        "hii": 194,
        "pgi": 166,
        "dgi": 140,
        "balanced_income": 142,
        "balanced_growth": 128,
        "average_all": 147.5
    },
    "price": {
        "current": "139.56",
        "price_growth_1y": "0.7133",
        "price_growth_3y": "0.4646",
        "price_growth_5y": "0.8352",
        "price_growth_10y": "7.3918",
        "total_return_10y": "8.9681",
        "avg_price_growth": "3.6746"
    },
    "dividend": {
        "per_share": "0.66",
        "frequency": 4,
        "yield_4yr_avg": "0.0132",
        "yield_calc": "0.0188",
        "div_growth_1y": "0.0824",
        "div_growth_3y": "0.1508",
        "div_growth_5y": "0.1822",
        "div_growth_10y": "0.1408",
        "avg_div_growth": "0.1391",
        "payout_ratio": "0.1687"
    },
    "methodology": {
        "score_range": "1 to approximately 900",
        "lower_is_better": true,
        "watchlist_size": "900+",
        "scores_explained": {
            "tgi": "Dividend growth + price growth + low payout ratio. Primary TGI rank.",
            "hii": "Dividend growth + price growth + proximity to 4% yield target. Income focus.",
            "pgi": "Price growth only, averaged across 1/3/5/10 year timeframes.",
            "dgi": "Dividend growth across timeframes, weighted with payout ratio.",
            "balanced_income": "(TGI + HII) / 2. Balances growth and income objectives.",
            "balanced_growth": "(TGI + PGI) / 2. Balances dividend discipline and price appreciation.",
            "average_all": "(TGI + HII + PGI + DGI) / 4. Composite across all four scores."
        }
    },
    "percent_note": "All growth and yield values are decimals. Multiply by 100 for percentage. Example: 0.3510 = 35.10%. A null value means the field was absent from the source data \u2014 it is NOT a zero.",
    "disclaimer": "Not financial advice. Do your own research."
}