Plain Reckoner

Newsletter ad prices held flat for eight quarters while inventory was quietly cut

Cooper Press has not raised a single newsletter sponsorship price since Q1 2025 — eight consecutive quarters — while cutting paid slots 25-33%, losing 5.5% of subscribers, and retiring 5 of 12 titles without announcing it.

How it was measured
Built from 24 Cooper Press quarterly media kits, Q1 2021 to Q4 2026, at predictable public URLs, then text-extracted. Slot counts come from published archive issues, counted directly rather than asked about. Every Q4 2026 figure below was re-verified against the live media kit and the live publications page on the date given.
Evidence current as of

Listen — read from this page, nothing added

Watch it plot 35s · narrated · the same figures as above
JavaScript Weekly, primary sponsorship price per issue, USD. Read from Cooper Press quarterly media kits. Q1'21: 2900$ Q1'22: 3180$ Q1'23: 3520$ Q1'24: 3590$ Q1'25: 3680$ Q4'26: 3680$
JavaScript Weekly, primary sponsorship price per issue, USD. Read from Cooper Press quarterly media kits.

"Newsletters are booming" is the received wisdom. It is difficult to check, because almost nobody in the category publishes what they charge.

Cooper Press does, quarterly, and has for six years. They have run developer newsletters for fifteen. If anyone in this category has pricing power, it is them.

The prices have not moved since Q1 2025

Primary sponsorship, per issue, USD:

NewsletterQ1'21Q1'23Q1'25Q4'26
JavaScript Weekly2,9003,5203,6803,680
Frontend Focus1,7001,8001,7901,790
Node Weekly1,1201,3401,4601,460
Postgres Weekly5809201,2801,280
React Status7201,1001,2651,265
Ruby Weekly9701,2201,2201,220
Golang Weekly7501,0601,1201,120

From 2021 through Q1 2025 they raised prices every year — JavaScript Weekly by 27% across that span. Then every title stopped, in the same quarter, and none has moved since.

Flat nominal is falling real. At roughly 3% inflation, eight frozen quarters is about 5-6% of price erosion, compounding.

The audience shrank underneath the frozen price

Q1 2025Q4 2026Change
7-title portfolio461,876436,662−5.5%
JavaScript Weekly176,998163,202−7.8%

Effective CPM drifted up over this period, but only because the denominator fell. That is not pricing power. It is the same money divided among fewer readers.

Inventory was cut while the rate card was held

Counted from published archive issues:

- JavaScript Weekly: 4 paid slots per issue (2022-24) → 3 (2025-26)

- Golang Weekly: 3 slots → 2, from 2024

- Q3 2026 removed React Status's "Sponsored" unit. Sellable inventory value fell $17,595 → $16,945.

Cutting slots 25-33% while holding the headline rate is what a publisher does when they cannot fill inventory and are protecting the price on the card.

Five titles left, and none of them said so

The portfolio was twelve. It is seven.

Serverless Status, DB Weekly, StatusCode/WebOps Weekly, Mobile Dev Weekly, JAMstacked and Deno Weekly are still in the HTML of cooperpress.com/publications/, commented out. Hidden rather than deleted, with no statement of cause published anywhere.

We re-checked on 2026-08-30. Seven titles render; six sit in HTML comments in the same file.

The sentence that is not evidence

Cooper Press media kits say they run a sponsor waiting list. It is quoted widely as proof of demand.

It is unchanged text in all 24 media kits since Q1 2021, on a page stamped "Last updated: October 2021." A sentence that has not been rewritten in six years is not a reading of current demand. We relied on it ourselves, in an earlier decision on this project, and had to reopen that decision when we checked.

What this is and is not

This is one publisher, in one category, with unusually good disclosure. It is not the newsletter market.

What makes it worth publishing is that it is the only continuous public price series we could find, and the direction it runs is the opposite of the narrative around it. Anyone claiming the category is strong is welcome to point at a longer public series that says so — we looked and could not find one.

Grade this A, not A★: the figures are primary and re-verified, but a single publisher cannot carry a claim about a whole category, and we are not making one.

Tracked as RATE-FROZEN, RATE-SLOTS-CUT, RATE-SUBS-FALL, RATE-WAITLIST-TRAP. If a number here is wrong, tell us and we will correct it in place and say what changed.

One email per finding

Get these as they land

One email per finding — the number, the method, and the date it was true. No schedule, because measurements do not arrive on one.

Data controller: Plain Reckoner. Contact [email protected].