{"slug":"dividend-increases-and-cuts","qid":"split_trap","label":"Payers across their own share split: the raw change against the split-adjusted change","post_title":"Dividend Increases & Cuts This Week","post_url":"/blog/dividend-increases-and-cuts#q-split_trap","columns":["ticker","split_ratio","executed_date","before_split_usd","after_split_usd","apparent_pct","adjusted_pct"],"rows":[{"ticker":"NVDA","split_ratio":"10-for-1","executed_date":"2024-06-10","before_split_usd":0.04,"after_split_usd":0.01,"apparent_pct":-75,"adjusted_pct":150},{"ticker":"WMT","split_ratio":"3-for-1","executed_date":"2024-02-26","before_split_usd":0.57,"after_split_usd":0.2075,"apparent_pct":-63.6,"adjusted_pct":9.2},{"ticker":"AVGO","split_ratio":"10-for-1","executed_date":"2024-07-15","before_split_usd":5.25,"after_split_usd":0.53,"apparent_pct":-89.9,"adjusted_pct":1},{"ticker":"BKNG","split_ratio":"25-for-1","executed_date":"2026-04-06","before_split_usd":10.5,"after_split_usd":0.42,"apparent_pct":-96,"adjusted_pct":0},{"ticker":"CTAS","split_ratio":"4-for-1","executed_date":"2024-09-12","before_split_usd":1.56,"after_split_usd":0.39,"apparent_pct":-75,"adjusted_pct":0},{"ticker":"ETR","split_ratio":"2-for-1","executed_date":"2024-12-13","before_split_usd":1.2,"after_split_usd":0.6,"apparent_pct":-50,"adjusted_pct":0},{"ticker":"FAST","split_ratio":"2-for-1","executed_date":"2025-05-22","before_split_usd":0.44,"after_split_usd":0.22,"apparent_pct":-50,"adjusted_pct":0},{"ticker":"LRCX","split_ratio":"10-for-1","executed_date":"2024-10-03","before_split_usd":2.3,"after_split_usd":0.23,"apparent_pct":-90,"adjusted_pct":0},{"ticker":"ODFL","split_ratio":"2-for-1","executed_date":"2024-03-28","before_split_usd":0.52,"after_split_usd":0.26,"apparent_pct":-50,"adjusted_pct":0}],"shape":"series","sql":"WITH sp AS (\n    SELECT ticker,\n           max(execution_date) AS exec_date,\n           argMax(split_to / split_from, execution_date) AS ratio\n    FROM global_markets.stocks_splits\n    WHERE adjustment_type = 'forward_split'\n      AND split_from > 0\n      AND split_to >= split_from * 2\n      AND modulo(split_to, split_from) = 0\n      AND ticker IN ('NVDA', 'AVGO', 'WMT', 'LRCX', 'CTAS', 'ETR', 'FAST', 'ODFL', 'BKNG')\n      AND execution_date >= today() - 1500\n      AND execution_date <= today() - 90\n    GROUP BY ticker\n),\ndivs AS (\n    SELECT ticker, ex_dividend_date, argMax(cash_amount, declaration_date) AS amt\n    FROM global_markets.stocks_dividends\n    WHERE distribution_type = 'recurring'\n      AND cash_amount > 0\n      AND currency = 'USD'\n      AND ticker IN ('NVDA', 'AVGO', 'WMT', 'LRCX', 'CTAS', 'ETR', 'FAST', 'ODFL', 'BKNG')\n    GROUP BY ticker, ex_dividend_date\n)\nSELECT sp.ticker AS ticker,\n       concat(toString(toUInt32(round(sp.ratio))), '-for-1') AS split_ratio,\n       toString(sp.exec_date) AS executed_date,\n       round(argMaxIf(d.amt, d.ex_dividend_date, d.ex_dividend_date < sp.exec_date), 4) AS before_split_usd,\n       round(argMinIf(d.amt, d.ex_dividend_date, d.ex_dividend_date >= sp.exec_date), 4) AS after_split_usd,\n       round(100 * (argMinIf(d.amt, d.ex_dividend_date, d.ex_dividend_date >= sp.exec_date)\n                    / argMaxIf(d.amt, d.ex_dividend_date, d.ex_dividend_date < sp.exec_date) - 1), 1) AS apparent_pct,\n       round(100 * (argMinIf(d.amt, d.ex_dividend_date, d.ex_dividend_date >= sp.exec_date) * sp.ratio\n                    / argMaxIf(d.amt, d.ex_dividend_date, d.ex_dividend_date < sp.exec_date) - 1), 1) AS adjusted_pct\nFROM sp\nINNER JOIN divs d ON d.ticker = sp.ticker\nGROUP BY sp.ticker, sp.ratio, sp.exec_date\nHAVING countIf(d.ex_dividend_date < sp.exec_date) > 0\n   AND countIf(d.ex_dividend_date >= sp.exec_date) > 0\nORDER BY adjusted_pct DESC, sp.ticker","computed_at":"2026-08-25T13:16:30.512425+00:00","elapsed":0.676994236}