Dividend Increases & Cuts This Week
Dividend increases and cuts this week: which US companies just raised their regular payout, which just cut it, and the stock-split trap that fakes a cut.
Dividend increases outnumber dividend cuts in most weeks of the US market. In the last complete Monday-to-Sunday week of declarations, 15 US-listed companies raised their regular cash dividend and 3 lowered it. The first table below covers a different window, the trailing seven days, and lists the 12 largest companies inside it. Every change on this page compares a company's newly declared regular payment against its own previous regular payment on the same schedule, with special dividends and share splits stripped out before anything is counted.
Dividend increases declared this week
The 12 largest companies that raised in the last seven days. More names qualified; the week-by-week panel further down counts every one. The prior column is the company's previous regular payment, and the new column is what the board just declared.
The exact SQL behind every number
WITH feed AS (
SELECT max(declaration_date) AS latest
FROM global_markets.stocks_dividends
WHERE declaration_date <= today()
),
universe AS (
SELECT ticker, argMax(market_cap, date) AS mcap
FROM global_markets.stocks_ratios
WHERE date >= today() - 10 AND market_cap > 0
GROUP BY ticker
),
regular AS (
SELECT ticker,
ex_dividend_date,
max(declaration_date) AS declared_on,
argMax(cash_amount, declaration_date) AS amt,
argMax(frequency, declaration_date) AS freq
FROM global_markets.stocks_dividends
WHERE distribution_type = 'recurring'
AND cash_amount > 0
AND currency = 'USD'
AND frequency IN (1, 2, 4, 12)
AND ex_dividend_date >= today() - 800
AND ticker NOT IN ('SPCX')
GROUP BY ticker, ex_dividend_date
),
seq AS (
SELECT ticker, ex_dividend_date, declared_on, amt, freq,
lagInFrame(amt) OVER w AS prev_amt,
lagInFrame(freq) OVER w AS prev_freq,
lagInFrame(ex_dividend_date) OVER w AS prev_ex
FROM regular
WINDOW w AS (PARTITION BY ticker ORDER BY ex_dividend_date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW)
),
splits AS (
SELECT ticker, groupArray(execution_date) AS split_dates
FROM global_markets.stocks_splits
WHERE execution_date >= today() - 900
GROUP BY ticker
)
SELECT s.ticker AS ticker,
round(s.prev_amt, 4) AS prior_usd,
round(s.amt, 4) AS new_usd,
round(100 * (s.amt / s.prev_amt - 1), 1) AS pct_change,
toString(s.declared_on) AS declared_date,
toString(s.ex_dividend_date) AS ex_date,
round(u.mcap / 1e9, 1) AS company_size_bn,
toString(f.latest) AS declarations_through
FROM seq s
INNER JOIN universe u ON u.ticker = s.ticker
LEFT JOIN splits sp ON sp.ticker = s.ticker
CROSS JOIN feed f
WHERE s.declared_on > today() - 8
AND s.declared_on <= today()
AND s.prev_amt > 0
AND s.freq = s.prev_freq
AND arrayCount(x -> x > s.prev_ex, sp.split_dates) = 0
AND dateDiff('day', s.prev_ex, s.ex_dividend_date) BETWEEN intDiv(240, s.freq) AND intDiv(520, s.freq)
AND s.amt > s.prev_amt * 1.001
ORDER BY u.mcap DESC, s.ticker
LIMIT 12The biggest company on the list is C, around $222.8 billion in market value, lifting its regular payment from $0.6 to $0.67 a share, a raise of 11.7%. That new amount attaches to the payment whose ex-dividend date sits in the same row, and a buyer has to own the shares before that date to collect it. The smallest company shown, SPFI, moved its payment 5.9%. Across the 12 names on the table the raises vary widely in size, which is normal. A board can nudge a payment by a penny or reset it in one step.
A raise is a forward commitment. The new per-share amount becomes the base the next quarter is measured against, and boards that raise tend to keep raising. The names with the longest unbroken records sit on our two decades of rising dividends page, and the upcoming ex-dividend dates calendar lists who goes ex next.
Dividend cuts declared in the last 90 days
Cuts are rare. A single week usually produces a handful at most, so the screen below widens to a full quarter of declarations. It lists the 14 deepest cuts of that quarter, and more names qualified over the same window. The declaration date on every row shows how recent each one is.
The exact SQL behind every number
WITH universe AS (
SELECT ticker, argMax(market_cap, date) AS mcap
FROM global_markets.stocks_ratios
WHERE date >= today() - 10 AND market_cap > 0
GROUP BY ticker
),
regular AS (
SELECT ticker,
ex_dividend_date,
max(declaration_date) AS declared_on,
argMax(cash_amount, declaration_date) AS amt,
argMax(frequency, declaration_date) AS freq
FROM global_markets.stocks_dividends
WHERE distribution_type = 'recurring'
AND cash_amount > 0
AND currency = 'USD'
AND frequency IN (1, 2, 4, 12)
AND ex_dividend_date >= today() - 800
AND ticker NOT IN ('SPCX')
GROUP BY ticker, ex_dividend_date
),
seq AS (
SELECT ticker, ex_dividend_date, declared_on, amt, freq,
lagInFrame(amt) OVER w AS prev_amt,
lagInFrame(freq) OVER w AS prev_freq,
lagInFrame(ex_dividend_date) OVER w AS prev_ex
FROM regular
WINDOW w AS (PARTITION BY ticker ORDER BY ex_dividend_date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW)
),
splits AS (
SELECT ticker, groupArray(execution_date) AS split_dates
FROM global_markets.stocks_splits
WHERE execution_date >= today() - 900
GROUP BY ticker
)
SELECT s.ticker AS ticker,
round(s.prev_amt, 4) AS prior_usd,
round(s.amt, 4) AS new_usd,
round(100 * (s.amt / s.prev_amt - 1), 1) AS pct_change,
toString(s.declared_on) AS declared_date,
toString(s.ex_dividend_date) AS ex_date
FROM seq s
INNER JOIN universe u ON u.ticker = s.ticker
LEFT JOIN splits sp ON sp.ticker = s.ticker
WHERE s.declared_on > today() - 91
AND s.declared_on <= today()
AND s.prev_amt > 0
AND s.freq = s.prev_freq
AND arrayCount(x -> x > s.prev_ex, sp.split_dates) = 0
AND dateDiff('day', s.prev_ex, s.ex_dividend_date) BETWEEN intDiv(240, s.freq) AND intDiv(520, s.freq)
AND s.amt < s.prev_amt * 0.995
ORDER BY pct_change ASC, ticker
LIMIT 14The deepest reduction on file is EMBC, whose regular payment went from $0.15 to $0.01 a share, a change of -93.3%. At the shallow end of the same table, GNK shows a change of -30%. All 14 rows are genuine reductions in the declared per-share amount, each one measured against the same company's previous payment on the same schedule.
Two kinds of company dominate a list like this. The first is an operating business resetting a payout it can no longer fund from cash flow, the classic dividend cut, and it usually arrives with the share price already falling. The second is a pass-through vehicle whose payment is variable by design: royalty trusts hand on whatever the underlying wells earned, and business development companies pay out what their loan book produced. Those names move in both directions more often. For the historical view of cuts at large US companies, including the 2020 wave, see which companies cut their dividends.
Increases against cuts, week by week
A single announcement says little on its own. A count of names across a season shows the cycle. The series below runs the last 26 complete weeks of declarations and counts every qualifying change, with no cap.
The exact SQL behind every number
WITH universe AS (
SELECT ticker, argMax(market_cap, date) AS mcap
FROM global_markets.stocks_ratios
WHERE date >= today() - 10 AND market_cap > 0
GROUP BY ticker
),
regular AS (
SELECT ticker,
ex_dividend_date,
max(declaration_date) AS declared_on,
argMax(cash_amount, declaration_date) AS amt,
argMax(frequency, declaration_date) AS freq
FROM global_markets.stocks_dividends
WHERE distribution_type = 'recurring'
AND cash_amount > 0
AND currency = 'USD'
AND frequency IN (1, 2, 4, 12)
AND ex_dividend_date >= today() - 1200
AND ticker NOT IN ('SPCX')
GROUP BY ticker, ex_dividend_date
),
seq AS (
SELECT ticker, ex_dividend_date, declared_on, amt, freq,
lagInFrame(amt) OVER w AS prev_amt,
lagInFrame(freq) OVER w AS prev_freq,
lagInFrame(ex_dividend_date) OVER w AS prev_ex
FROM regular
WINDOW w AS (PARTITION BY ticker ORDER BY ex_dividend_date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW)
),
splits AS (
SELECT ticker, groupArray(execution_date) AS split_dates
FROM global_markets.stocks_splits
WHERE execution_date >= today() - 1300
GROUP BY ticker
)
SELECT toString(toMonday(s.declared_on)) AS week,
formatDateTime(toMonday(s.declared_on), '%b %e') AS week_label,
countIf(s.amt > s.prev_amt * 1.001) AS increases,
countIf(s.amt < s.prev_amt * 0.995) AS cuts
FROM seq s
INNER JOIN universe u ON u.ticker = s.ticker
LEFT JOIN splits sp ON sp.ticker = s.ticker
WHERE s.prev_amt > 0
AND s.freq = s.prev_freq
AND arrayCount(x -> x > s.prev_ex, sp.split_dates) = 0
AND dateDiff('day', s.prev_ex, s.ex_dividend_date) BETWEEN intDiv(240, s.freq) AND intDiv(520, s.freq)
AND s.declared_on >= toMonday(today()) - 182
AND s.declared_on < toMonday(today())
GROUP BY week, week_label
ORDER BY weekIt opens in the week of Jan 19 with 31 increases against 4 cuts, and closes in the week of Jul 13 with 15 increases and 3 cuts. The increase line is spiky. Boards declare on their own quarterly rhythm, and the heaviest weeks cluster in the weeks following each quarter's close while the stretches between them run thin. A quiet week is a calendar effect. The cut line stays close to the floor all year.
Who cuts, and who does not
Increases and cuts sit differently across the size ladder. Every regular-dividend declaration recorded so far this calendar year, split into four bands by what the company is worth today:
The exact SQL behind every number
WITH universe AS (
SELECT ticker, argMax(market_cap, date) AS mcap
FROM global_markets.stocks_ratios
WHERE date >= today() - 10 AND market_cap > 0
GROUP BY ticker
),
regular AS (
SELECT ticker,
ex_dividend_date,
max(declaration_date) AS declared_on,
argMax(cash_amount, declaration_date) AS amt,
argMax(frequency, declaration_date) AS freq
FROM global_markets.stocks_dividends
WHERE distribution_type = 'recurring'
AND cash_amount > 0
AND currency = 'USD'
AND frequency IN (1, 2, 4, 12)
AND ex_dividend_date >= today() - 1200
AND ticker NOT IN ('SPCX')
GROUP BY ticker, ex_dividend_date
),
seq AS (
SELECT ticker, ex_dividend_date, declared_on, amt, freq,
lagInFrame(amt) OVER w AS prev_amt,
lagInFrame(freq) OVER w AS prev_freq,
lagInFrame(ex_dividend_date) OVER w AS prev_ex
FROM regular
WINDOW w AS (PARTITION BY ticker ORDER BY ex_dividend_date ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW)
),
splits AS (
SELECT ticker, groupArray(execution_date) AS split_dates
FROM global_markets.stocks_splits
WHERE execution_date >= today() - 1300
GROUP BY ticker
),
changes AS (
SELECT s.ticker AS ticker,
s.declared_on AS declared_on,
s.amt / s.prev_amt - 1 AS chg,
u.mcap AS mcap
FROM seq s
INNER JOIN universe u ON u.ticker = s.ticker
LEFT JOIN splits sp ON sp.ticker = s.ticker
WHERE s.declared_on >= toStartOfYear(today())
AND s.declared_on <= today()
AND s.prev_amt > 0
AND s.freq = s.prev_freq
AND arrayCount(x -> x > s.prev_ex, sp.split_dates) = 0
AND dateDiff('day', s.prev_ex, s.ex_dividend_date) BETWEEN intDiv(240, s.freq) AND intDiv(520, s.freq)
)
SELECT multiIf(mcap >= 1e11, 'Mega cap ($100B and up)',
mcap >= 1e10, 'Large cap ($10B to $100B)',
mcap >= 2e9, 'Mid cap ($2B to $10B)',
'Small cap (under $2B)') AS size_band,
count() AS declarations,
countIf(chg > 0.001) AS increases,
countIf(chg < -0.005) AS cuts,
round(100 * countIf(chg < -0.005) / count(), 1) AS cut_share_pct,
round(100 * quantileDeterministicIf(0.5)(chg, cityHash64(ticker, declared_on), chg > 0.001), 1) AS median_raise_pct
FROM changes
GROUP BY size_band
HAVING countIf(chg > 0.001) > 0
ORDER BY max(mcap) DESCIn the top band, Mega cap ($100B and up), 51 of 197 declarations raised the payment, against a cut count of 1, a cut share of 0.5%. The picture inverts at the bottom of the market: the Small cap (under $2B) band carried a cut count of 64 out of 1266 declarations, a cut share of 5.1%, well above the rate in each of the three larger bands. The typical raise is a similar size everywhere, near 6.8% in the Large cap ($10B to $100B) band and 9.1% among the small caps. The bands differ in durability, not in the size of the typical raise. One caveat sits under the panel: the bands use each company's market value today, so a payer that cut in the spring and shrank afterwards is banded by the smaller value it carries now.
Does a share split fake a dividend cut?
This is where most dividend screens quietly break. A company that splits its shares 10-for-1 divides its per-share dividend by ten on the same day. Nothing was cut, and a holder receives the same total cash on ten times as many shares. A screen that compares raw per-share amounts across the split date prints a spectacular fake cut. 9 large payers, each measured across its own split:
The exact SQL behind every number
WITH sp AS (
SELECT ticker,
max(execution_date) AS exec_date,
argMax(split_to / split_from, execution_date) AS ratio
FROM global_markets.stocks_splits
WHERE adjustment_type = 'forward_split'
AND split_from > 0
AND split_to >= split_from * 2
AND modulo(split_to, split_from) = 0
AND ticker IN ('NVDA', 'AVGO', 'WMT', 'LRCX', 'CTAS', 'ETR', 'FAST', 'ODFL', 'BKNG')
AND execution_date >= today() - 1500
AND execution_date <= today() - 90
GROUP BY ticker
),
divs AS (
SELECT ticker, ex_dividend_date, argMax(cash_amount, declaration_date) AS amt
FROM global_markets.stocks_dividends
WHERE distribution_type = 'recurring'
AND cash_amount > 0
AND currency = 'USD'
AND ticker IN ('NVDA', 'AVGO', 'WMT', 'LRCX', 'CTAS', 'ETR', 'FAST', 'ODFL', 'BKNG')
GROUP BY ticker, ex_dividend_date
)
SELECT sp.ticker AS ticker,
concat(toString(toUInt32(round(sp.ratio))), '-for-1') AS split_ratio,
toString(sp.exec_date) AS executed_date,
round(argMaxIf(d.amt, d.ex_dividend_date, d.ex_dividend_date < sp.exec_date), 4) AS before_split_usd,
round(argMinIf(d.amt, d.ex_dividend_date, d.ex_dividend_date >= sp.exec_date), 4) AS after_split_usd,
round(100 * (argMinIf(d.amt, d.ex_dividend_date, d.ex_dividend_date >= sp.exec_date)
/ argMaxIf(d.amt, d.ex_dividend_date, d.ex_dividend_date < sp.exec_date) - 1), 1) AS apparent_pct,
round(100 * (argMinIf(d.amt, d.ex_dividend_date, d.ex_dividend_date >= sp.exec_date) * sp.ratio
/ argMaxIf(d.amt, d.ex_dividend_date, d.ex_dividend_date < sp.exec_date) - 1), 1) AS adjusted_pct
FROM sp
INNER JOIN divs d ON d.ticker = sp.ticker
GROUP BY sp.ticker, sp.ratio, sp.exec_date
HAVING countIf(d.ex_dividend_date < sp.exec_date) > 0
AND countIf(d.ex_dividend_date >= sp.exec_date) > 0
ORDER BY adjusted_pct DESC, sp.tickerTake NVDA. Its last payment before the 10-for-1 split was $0.04 a share and the first one after was $0.01, a raw change of -75%. Multiply the post-split payment by the split ratio and the same event becomes an increase of 150%. At the other end of the table, ODFL went through a 2-for-1 split with a raw change of -50% and an adjusted change of 0%: the income per dollar invested did not move at all.
How this screen is measured
The rules are worth stating in full. A screen with hidden rules reads as data and is actually opinion.
- Declaration date, not ex-date. A change is dated to the day the board declared it, which is when it becomes news. The ex-date column shows when the new amount detaches from the share price.
- Regular payments only. Only records typed as recurring are compared. A one-off special or supplemental payment is not part of the series, and measuring the next regular payment against a special one invents a cut that never happened. The mechanics are in what is a special dividend.
- Same schedule on both sides. The two payments compared must share the same declared frequency, and the gap between their ex-dates must match that frequency. A quarterly payment measured against an annual one is not a cut.
- Splits removed, not adjusted. Any company with a share split executing at or after the earlier of the two payments is dropped from these tables. Our dividend feed does carry a vendor split-adjusted column, and spot checks found it applied inconsistently across a company's own payment history, so this page compares as-declared amounts and drops the affected names.
- US dollars, US listings. Only payments declared in US dollars by companies our fundamentals feed covers with a market capitalization. That drops exchange-traded funds, whose distributions are pass-through income and swing every period, and foreign issuers whose dollar amount moves with the exchange rate.
- Both ranked tables are capped. The increases table shows at most the twelve largest raises of the trailing seven days, the cuts table at most the fourteen deepest of the last 90 days. More names qualify in each window, so neither is a complete list. The week-by-week panel applies no cap.
- Size bands use today's market value. Our fundamentals feed carries a current market-capitalization snapshot and no history, so a company that cut in the spring and fell afterwards is counted in the smaller band, and a payer acquired or delisted since January carries no snapshot and drops out of the year-to-date panel.
- Materiality. An increase counts above a tenth of a percent and a cut below half a percent, which filters rounding noise in fractional-cent payments.
- Freshness. Declarations are on file through 2026-07-22. The weekly series ends with the last complete week, so a partial current week never appears as a collapse in activity.
FAQ
Which companies raised their dividend this week?
15 US-listed companies raised their regular cash dividend in the last complete Monday-to-Sunday week of declarations. Over the trailing seven days, a slightly different window, the largest raiser was C, lifting its regular payment from $0.6 to $0.67 a share, with NTRS next at $0.88 from $0.8. The table at the top ranks the 12 largest by company size.
What stocks cut their dividend in 2026?
Across every regular-dividend declaration recorded so far this calendar year, cuts sit overwhelmingly in the smallest companies: a count of 64 in the Small cap (under $2B) band against 1 in the largest band. The deepest cut declared in the last 90 days is EMBC, which took its regular payment from $0.15 to $0.01 a share, with SACH next at $0.01 from $0.05. The table above lists the 14 deepest of that quarter; more cuts qualified in the same window.
Does a stock split count as a dividend cut?
No. A 4-for-1 split turns one share into four and divides the per-share dividend by four, leaving the total cash a holder receives unchanged. The split panel above shows 9 real cases, including one where a raw comparison reads -75% while the split-adjusted change was an increase of 150%.
How often do dividend cuts happen compared with increases?
Increases run far ahead of cuts in a normal year. In the year to date the largest payers recorded 51 increases against a cut count of 1, and even the small-cap band, where cuts are most common, recorded 200 increases against a cut count of 64.
Dividend profiles by ticker
Large payers each have a measured profile of their own: current yield, full payment history, growth streak and ex-dividend behavior. JPMorgan, Morgan Stanley, Bank of America, Wells Fargo, Coca-Cola, Procter & Gamble, Johnson & Johnson, Exxon Mobil, Chevron, AT&T, Verizon and Pfizer are all covered, and what is dividend yield explains how a per-share payment turns into the yield figure a screen shows.
Every table here is a stored, versioned query over declared dividend records, rebuilt weekly. Expand the SQL under any panel to audit a row, or run the screen on the Strasmore terminal.