PUCO 24-508-EL-ATA · 4 August 2026
Two settlements, thirteen days apart: the boilerplate matched 92%, the terms 26%
Ohio case 24-508-EL-ATA settled twice. On 10 October 2024 thirteen signatures went on a Joint Stipulation and Recommendation to resolve AEP Ohio’s data-centre tariff case. On 23 October six went on a different one to resolve the same case. Both say they settle all of the issues raised in the proceeding. The Commission adopted the second, as modified, on 9 July 2025.
The exhibit numbers run backwards. The 23 October filing is Joint Ex. 1, the 10 October filing is Joint Ex. 2, so a binder sorted by exhibit number holds them in the order they were decided rather than the order they were filed. Staff hit the naming problem too, and settled it by date:
Stipulation” vs. “Data Center Stipulation”; etc.). To avoid unnecessary disputes 1 about naming, Staff recommends using the neutral terms “10/10 Stipulation” and 2 “10/23 Stipulation.”
1
and 2 are the testimony’s own marginal line numbers, which the text
extractor interleaves; they are in the file and so they are in the quote. Staff Ex. 1, filed
26 November 2024 —
source.I diffed them. Both are extracted text cut from one appendix PDF on the Supreme Court of
Ohio docket. I took the operative body of each — from the
JOINT STIPULATION AND RECOMMENDATION heading to just before
IN WITNESS WHEREOF — dropped the Appx. Page … of 867
stamps, bare page numbers and blank lines, split the rest on whitespace, and ran
difflib.SequenceMatcher over the token lists. The percentages below are
difflib’s own ratio: twice the matched token count over the two lengths. The 23 October
document’s Exhibit A and Exhibit B sit after IN WITNESS WHEREOF, so they are
outside every count on this page except where I say otherwise.
Where the two documents agree
difflib.SequenceMatcher(None, a, b, autojunk=False) over whitespace tokens; the
matched count is the sum of get_matching_blocks() sizes.Two settlements of one case agree almost word for word on procedure and hardly at all on terms. The longest identical run in section IV is 141 consecutive words, on material modification and rehearing. Outside the terms, 1,040 words of each document sit in runs the other repeats exactly — 31% of the shorter file, 23% of the longer. Read both front to back and you read those twice.
The threshold is the case
2. The name of Schedule DCP (Data Center Power) will be changed to Schedule EIC (Electricity-Intensive Customer) and will apply to any electric service agreement … (ESA) signed after the tariff effective date for new load greater than 50 MW at a Single Location if AEP Ohio provides Proof of a Transmission Capacity Constraint. Schedule EIC will not apply to loads greater than 50 MW at a Single Location that have already signed an LOA or ESA by the effective date of the new tariff.
Appx. Page 441 of 867 stamp, a page number and a blank line. Appendix pages
439–456 —
source.The Mobile Data Center Tariff will be merged into the Data Center Tariff (“Schedule DCT”) and will apply to any electric service agreement signed after the tariff effective date for a new load (or expansion of an existing load) greater in the aggregate than 25 MW as calculated in this Paragraph III.A. The final version of Schedule DCT being recommended by the Signatory Parties through this Stipulation is attached as Exhibit A;
Fifty megawatts at one site, and only once the utility has proved a transmission constraint, against twenty-five megawatts counted in the aggregate across the facilities at one location, with no proof obligation at all. Staff’s objection was that a fifty-megawatt line invites a data centre to sit at 49.9 MW and stay outside the tariff (same Healey testimony, lines 1076–1080; the sentence runs across the file’s marginal line numbers, so it is paraphrased here rather than quoted).
The tariff does not even have the same name in the two documents — Schedule EIC in one, Schedule DCT in the other — and the earlier one says why: for purposes of its Schedule EIC it drops the application’s Data Center and Mobile Data Center terms altogether, at lines 146–147. A settlement that renames the tariff has redefined who it covers. If you read one section of a rival stipulation, read the definitions.
One conjunction, in the collateral clause
b. Any customer served under Schedule EIC with a Contract Capacity of 75 MW or more for a Single Location will be subject to the security/collateral requirements proposed in the Application if the customer does not have either (a) a credit rating of at least A- from S&P Global Inc. and A3 from Moody’s Corporation or (b) cash and cash equivalents on an audited balance sheet prepared in accordance with Generally Accepted Accounting Principles greater than ten times the collateral requirement.
The customer, if not having both (a) a credit rating of at least A- from S&P Global Inc. (“S&P”) and A3 from Moody’s Corporation (“Moody’s”) and (b) cash and cash equivalents on an audited balance sheet prepared in accordance with Generally Accepted Accounting Principles (“GAAP”) (“Liquidity”) greater than ten times the Collateral Requirement, must provide a guarantee or collateral at the time of signing the contract equal to 50% of the total minimum charges for the full …
Either against both. Under the first document you owe collateral only if you fail both tests, so an investment-grade customer posts none and so does a cash-rich one. Under the second you escape only if you pass both. A customer holding the ratings but not the cash is exempt in one document and posting a guarantee in the other. The two sentences name the same two agencies and the same ten-times test.
They are not the same clause in the same place. The 10 October test bites at 75 MW and above; below that the existing GS tariff governs (lines 143–145). The 23 October sentence sits in Schedule DCT itself, which applies above 25 MW, and it is not new: paragraph III.C keeps the collateral requirements of AEP Ohio’s own application in place (lines 232–234), and the tariff sheet attached as Exhibit A is that application’s Exhibit MSM-1.
The bill floor, drawn
The 23 October filing brought its own arithmetic: Exhibit B, ninety-three rows running
25 MW to 117 MW, contract capacity against minimum demand, and then a 117+ row
that gives 85.00% and no megawatt figure. I recomputed every row from the bracket formula in
the body of the stipulation. All ninety-three tie, in the megawatt column and in the
percentage column — rounding half away from zero, which decides exactly one row: 80 MW
is 78.125% and the exhibit prints 78.13%. The 85% cap binds from 116.7 MW, so 117 MW is the
first whole megawatt where it shows, and Exhibit B’s last row shows it: 99.45 where the
brackets alone give 99.50. The 10 October filing carries no such exhibit, so its own brackets
have no second copy to be checked against.
What the second one conceded
Nothing to its rival, as far as I can find. Its concessions run to the application it settled, not to the document it beat. Merging the Mobile Data Center tariff into Schedule DCT lifts the trigger for a cryptocurrency miner from the application’s “greater than 1 MW at a single location” to 25,000 kW (recital at lines 106–111, definition at lines 162–169). It dismissed AEP Ohio’s standard service offer proposal without prejudice, turned exit-fee revenue into a regulatory liability flowed back to retail customers, and gave General Service customers over 25 MW one chance to cut their contract capacity. The two documents are not two points on one axis. They settle different questions with different parties.
Against the 10 October terms it gave up nothing: the load-ramp floors rise from 30/50/70/90% to 50/65/80/90%, the window to pay a load-study fee falls from 120 days to 45, the window to sign falls from 90 days to 60, the study fee stops being a flat $10,000 and becomes a “$10,000-$100,000 fee schedule”, assignable capacity halves from 50% to 25%, three contract terms become one, and the requirement to post standard contract forms publicly disappears along with the request for a Commission-ordered investigation.
The diff will lie to you about the boilerplate
Inside that 92%-identical procedural section difflib still reports fifteen differences. Six
are the same word swapped: the 23 October drafter wrote Settlement where its own
defined term is Stipulation, six times in the paragraph on material modification.
Four more make up one sentence about who files supporting testimony. Two are reservations of
rights the later document adds. The last three are a capital letter, the word
other, and a line reading [space intentionally blank – signature page
follows]. On rival documents the ordinary diff instinct runs backwards: the matched text
is the template and the mismatches are where to look. On this pair eight of the fifteen
— the six word swaps, the capital letter and the blank-page line — change no
obligation.
What to do on Monday
- Diff the two and throw the matches away before you read. Twenty lines:
difflib.SequenceMatcherover whitespace tokens, print the opcodes that are notequal. On this pair it takes 3,326 and 4,492 words down to the part that was argued about. - Read the two definition lists side by side, before the terms. A rival that renames the tariff has changed who it covers, and no heading says so.
- Pull every number carrying a unit out of each operative body and line them up.
Drop the stamps, the bare page numbers and the blank lines as above, then run
\$[\d,]+|\d[\d,]*(?:\.\d+)?\s*(?:%|MW|kW|kV|days?|months?|years?)over what is left and squeeze the whitespace inside each hit down to single spaces — the extractor breaks25,000 kWover two lines and you want that counted once. Twenty-nine distinct values in the 10 October document, 24 in the 23 October one, 12 in both. It misses numbers written as words — one document says8 yearsand the othereight years— so it is a first pass, not a census. - Read the two signature blocks against each other. The Ohio Energy Group signed the 23 October stipulation and, eight days later, filed testimony against the 10 October one. Thirteen signatures lost to six. Counting parties tells you nothing.
When two documents claim to settle the same case, the difference between them is the argument. The shared procedural language is not the argument, and 1,040 words of it sit in both files. The disagreement lives in the definitions, the thresholds and the conjunctions, where it is small enough to walk past twice.
Disclosure. Verbatim, the product on the rest of this site, is mine, and it exists to do this kind of comparison. Nothing above needed it. Every quote here names its file and links to the commission’s own copy, so check the characters rather than take my word for them.