{"slug":"jnj-dividend-2026","qid":"raise_history","label":"raise_history","post_title":"jnj-dividend-2026","post_url":"/blog/jnj-dividend-2026#q-raise_history","columns":["year","rate_increase_pct","consecutive_raise_years"],"rows":[{"year":"2016","rate_increase_pct":6.67,"consecutive_raise_years":12},{"year":"2017","rate_increase_pct":5,"consecutive_raise_years":13},{"year":"2018","rate_increase_pct":7.14,"consecutive_raise_years":14},{"year":"2019","rate_increase_pct":5.56,"consecutive_raise_years":15},{"year":"2020","rate_increase_pct":6.32,"consecutive_raise_years":16},{"year":"2021","rate_increase_pct":4.95,"consecutive_raise_years":17},{"year":"2022","rate_increase_pct":6.6,"consecutive_raise_years":18},{"year":"2023","rate_increase_pct":5.31,"consecutive_raise_years":19},{"year":"2024","rate_increase_pct":4.2,"consecutive_raise_years":20},{"year":"2025","rate_increase_pct":4.84,"consecutive_raise_years":21},{"year":"2026","rate_increase_pct":3.08,"consecutive_raise_years":22}],"shape":"ranking","sql":"WITH per_year AS\n(\n    SELECT\n        toYear(ex_dividend_date)              AS yr,\n        round(toFloat64(max(cash_amount)), 4) AS top_rate\n    FROM global_markets.stocks_dividends\n    WHERE ticker = 'JNJ'\n      AND ex_dividend_date >= '2004-01-01'\n      AND ex_dividend_date <  '2027-01-01'\n    GROUP BY yr\n),\nstepped AS\n(\n    SELECT\n        yr,\n        top_rate,\n        lagInFrame(top_rate) OVER (ORDER BY yr ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prior_rate\n    FROM per_year\n),\nstreaked AS\n(\n    SELECT\n        yr,\n        top_rate,\n        prior_rate,\n        max(if(prior_rate > 0 AND top_rate > prior_rate, 0, yr))\n            OVER (ORDER BY yr ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS last_flat_year\n    FROM stepped\n)\nSELECT\n    year,\n    rate_increase_pct,\n    consecutive_raise_years\nFROM\n(\n    SELECT\n        yr,\n        toString(yr)                                                       AS year,\n        round(if(prior_rate > 0, (top_rate / prior_rate - 1) * 100, 0), 2) AS rate_increase_pct,\n        toUInt16(yr - last_flat_year)                                      AS consecutive_raise_years\n    FROM streaked\n)\nWHERE yr >= 2016\nORDER BY yr","computed_at":"2026-09-30T15:27:00.042407+00:00","elapsed":0.003742237}