Atrial fibrillation · one case
No verdict is not the same as no data. The watch records all 30 seconds at 512 samples per second every single time, including when it tells you it cannot read the trace, and that recording is sitting in your phone. I pulled out all 112 ECGs ever taken on my account and read every one.
All 112, sorted by what Apple said
| What Apple said | How many | What the trace shows when read |
|---|---|---|
| Sinus rhythm or atrial fibrillation | 58 | 57 readable; agreement 57 of 57 |
| “Inconclusive” | 7 | 7 of 7 are atrial fibrillation |
| “Poor recording” | 32 | 15 readable, 12 of those AF, 3 sinus. 17 unusable |
| “Heart rate below 50” | 14 | 1 is AF. The other 13 are sinus |
| “Heart rate too high” | 1 | 1 is atrial fibrillation |
The part nobody has written down
Most people read all three as “nothing here”. In my data they are not even close to each other, and the one that sounds most useless is the most informative.
All of them. Not one false alarm. It makes sense once you think about what the classifier is doing: a trace so irregular that the algorithm will not commit is, in a heart known to fibrillate, overwhelmingly likely to be fibrillating. I had been filing these next to “poor recording” as a failed reading. They were the signal.
Thirty-two of mine. Seventeen genuinely unusable: bad contact, dry skin, movement. But fifteen read perfectly well, and twelve of those fifteen are atrial fibrillation. That skew is not an accident either — a fibrillating trace is messier, so it is more likely to trip a quality check written for normal rhythms.
This is the one I set out to write about, and it turned out to be nearly empty. Thirteen are plain sinus rhythm. I am reporting it because it is the subgroup where my own thesis failed, and leaving it out would make this a better story and a worse document.
The low-pulse result fits something else I only understood afterwards. Across 1,712 recording sessions where my average pulse was below 50, my beat-to-beat detector finds fibrillation 0.6 % of the time. Above 50 it finds it 9.3 %. My slow heart and my fibrillating heart are nearly opposite states — when I go into AF, my rate goes up. The blind spot is real; it is just pointed at the hours when I am least likely to be in trouble.
So for anyone like me, the practical consequence is the reverse of what I expected: the recordings worth recovering are the inconclusives and the bad ones, not the slow ones.
Why the rest of this page is worth anything
Wherever Apple was willing to give a verdict, my reading and Apple’s agree. Not 90 %, not 95 %. Every single one. That is what earns the right to apply the same reading where the watch stayed silent: it is not a looser standard for the hard cases, it is the same standard applied where Apple is not permitted to apply it.
The reading itself is one number. Take the gaps between consecutive heartbeats and compute the proportion that differ from the previous gap by more than 5 %. In the 22 fibrillations the watch classified, that runs 73 % to 94 %. In the 35 normal traces, 0 % to 49 %. There is an empty gap between 49 and 73 and my 52 % threshold sits inside it, so there are no marginal judgement calls.
I also require the spread of those gaps to exceed 13 %, and I should be straight about what that second condition is worth: it runs 14–50 % in fibrillation and 1–27 % in normal rhythm, so it overlaps badly and discriminates nothing. It is a floor that stops a flat trace being called fibrillation. I described this as two criteria for weeks before I plotted them and found only one works.
One more thing matters more than it sounds: before trusting any verdict, count the gaps falling outside half to 1.6 times the median, and if more than 15 % do, the answer is “unreadable”, not “fibrillation”. Without that, a bad contact on dry skin produces a confident and completely false AF. That gate is what separates the 15 readable traces from the 17 unusable ones above, and I added it only after it burned me.
Every step — getting the data off the phone, the dead ends, the database layout, the undocumented classification codes, how to derive your own thresholds — is written out on its own page: how to get your own heart data out of an Apple Watch and read it yourself.
Does a newer watch help?
I switched to an Apple Watch Ultra 4 on 14 October 2026. Two ECGs on it at 48 and 47 bpm both came back with the same below-50 message. The floor is a software policy and travels with the app, not the hardware.
It does sample far more often in one respect, which I had wrong until I counted: the Ultra 4 stores about 211 heart-rate-variability readings a day against the Series 9’s 11, and most of that increase arrived by software update on the old watch. But the plain pulse cadence is identical — roughly every 3 minutes overnight on both — and none of it changes what happens when you take an ECG at 47 bpm.
Four limits
Not that you should ignore an inconclusive result. The opposite, in my data. It means an inconclusive is worth taking seriously and that there is a route to what is behind it. What you then do belongs in a conversation with a cardiologist, not with your watch.
Not that my reading is a diagnosis. It is a measurement with a documented method and a documented agreement rate. I write mine down as “my reading of the trace”, never “the device detected”, because the moment you blur that line a cardiologist is right to discount everything you brought.
Not a fix for the bigger hole. An ECG only exists when you deliberately hold the crown. Reading rejected traces recovers episodes already captured; it says nothing about the hours you took no reading.
Not that the watch is broken. A 50 bpm floor is a defensible regulatory position for a device sold to a hundred million people. It is simply badly matched to the minority whose normal resting rate sits below it — which, if you train seriously for endurance, is you.
Run it rather than read it
You do not have to work through this by hand. Paste the block below into whatever you use, along with the traces you have managed to export, and it will do the reading and tell you where it cannot.
SOURCE: https://afibcases.com/fifty-four-without-a-verdict You are helping me read ECG recordings my own watch gave no verdict on. Work from my data only. You are not diagnosing me and must say so. MY DATA: [the ECG waveforms exported from your device, plus whatever verdict the device gave for each one.] DO THIS, IN ORDER: 1. Split my recordings into two sets: the ones my device DID classify, and the ones it did not. Do not touch the second set yet. 2. On the classified set, detect the beats and compute, for each recording, the proportion of intervals between consecutive beats that differ from the previous interval by more than 5%. Call it the irregularity. 3. Show me the range of that number separately for the recordings the device called normal and the ones it called atrial fibrillation. Tell me whether the two ranges OVERLAP. If they overlap, stop: there is no threshold to find in my data and you must say so rather than pick one. 4. If they do not overlap, place a threshold inside the empty gap and state it. Then apply it back to the classified set and report the agreement rate with my device, as a fraction, not a percentage. If that agreement is not essentially perfect, stop and tell me the method has not earned the right to go further. 5. Only then apply the same threshold to the recordings the device did not classify, and report what you find, broken down by WHICH message the device gave. In this subject's data the three messages behaved completely differently, so never pool them. 6. BEFORE any of the above, apply a quality gate to every recording: count the intervals falling outside 0.5 to 1.6 times the median, and if more than 15% do, the answer is "unreadable", not "fibrillation". Tell me how many of my recordings this excludes. Skipping this produces confident, completely false results from a bad skin contact. 7. If I give you a second indicator, test it SEPARATELY for overlap before combining it with anything. On this subject's data a second indicator looked sensible and discriminated nothing; it had been described as a criterion for weeks before anyone plotted it. REPORT IT HONESTLY. Every output is "my reading of the trace", never "the device detected". Say that in your answer. Tell me which recordings you could not read and why, and tell me explicitly that none of this replaces a certified device or a cardiologist. FOR COMPARISON, one person's published result using this procedure (n=1, 112 Apple Watch ECGs to 19 Oct 2026): irregularity in 22 confirmed fibrillations: 73-94% irregularity in 35 normal traces: 0-49% empty gap between, threshold placed at 52% agreement with the device where it spoke: 57 of 57 applied to the rest: 7 of 7 "inconclusive" were fibrillation; of 32 "poor recording", 15 were readable and 12 of those were fibrillation; of 14 refused for a heart rate under 50, only 1 was. Do not expect my data to match. Tell me where it differs.
Take it with you
Paste this into ChatGPT, Claude, Gemini or whatever you use, add your own numbers, and have the conversation. It carries the source link and a line telling the model what it is looking at, so nothing is lost when it leaves this page.
SOURCE: https://afibcases.com/fifty-four-without-a-verdict
WHAT THIS IS: one person's self-recorded heart data, re-read by that
person. A single case, not evidence about any population, and not
medical advice.
REFERENCE CASE (n=1, ECGs to 19 Oct 2026):
- Endurance swimmer, 55. Paroxysmal atrial fibrillation diagnosed by a
cardiologist 25 Sep 2026 (12-lead ECG, echocardiogram, stress test).
Left atrium 46 mm, ejection fraction 60%, CHA2DS2-VASc 0, no
anticoagulant. Flecainide 100 mg x2/day + bisoprolol 1.25 mg/day
since 28 Sep 2026. Converts to sinus within two minutes of walking,
documented across six serial 12-lead ECGs.
- 112 Apple Watch ECGs from three watches: 10 from 2021-2022, 93 from
a Series 9 (2024 to 14 Oct 2026), 9 from an Ultra 4 since. All
traces re-read from the encrypted iPhone backup.
THE BREAKDOWN - Apple gave a verdict on 58 and none on 54:
58 judged -> 57 readable -> agreement 57/57 (100%)
7 "inconclusive" -> 7 of 7 are atrial fibrillation
32 "poor recording" -> 15 readable, 12 of those AF, 3 sinus;
17 genuinely unusable
14 "heart rate <50" -> only 1 is AF, 13 are sinus
1 "heart rate too high"-> 1 AF
Verdict now exists for 95 of 112. 21 AF episodes were recorded by
the watch and never reported.
KEY COUNTERINTUITIVE FINDING: the low-heart-rate blind spot was nearly
empty. Across 1,712 sessions with average pulse under 50, the
beat-to-beat detector finds AF 0.6% of the time; above 50, 9.3%. His
slow heart and his fibrillating heart are near-opposite states. The
messages worth recovering are the INCONCLUSIVES and the BAD
RECORDINGS, not the low-pulse ones.
THE READING METHOD:
- On the intervals between beats: the proportion differing >5% from
the previous interval must exceed 52%, AND the coefficient of
variation must exceed 13%.
- Only the FIRST discriminates. On the 57 ECGs the watch classified,
irregularity runs 73-94% in the 22 fibrillations and 0-49% in the
35 normal traces - an empty gap, with the threshold inside it. The
coefficient of variation runs 14-50% vs 1-27%, heavily overlapped,
and works only as a floor against flat traces.
- Quality gate FIRST: if >15% of intervals fall outside 0.5-1.6x the
median, the verdict is "unreadable", not "fibrillation".
- Apple ECG classification codes in healthdb_secure.sqlite,
undocumented and derived empirically: 1=unreadable
(average_heart_rate is 0), 2=inconclusive, 3=sinus rhythm,
6=low HR not judged, 8=atrial fibrillation, 9=high HR not judged.
ON THE NEWER WATCH: the 50 bpm ECG floor is unchanged on an Apple
Watch Ultra 4 (two ECGs at 48 and 47 bpm, same message both times). It is a
software policy, not a hardware limit. Plain pulse cadence is
identical on both, about every 3 minutes overnight. HRV sampling is
not: 11/day on the Series 9 against 211/day on the Ultra 4, and most
of that increase arrived by software update on the OLD watch.
MY SITUATION:
[your resting heart rate, your diagnosis if any, how many inconclusive
and poor-recording results you have, what medication you take]
Help me work out what questions to take to my cardiologist, and tell
me clearly where this reference case does NOT apply to me.
If your AI contradicts your cardiologist, your cardiologist wins. The point is to arrive at the appointment with better questions, not with a diagnosis.
112 ECGs from one wrist. I cannot tell you how common any of this is, whether inconclusives mean the same thing in a heart that has never fibrillated, or what the proportions look like in anyone who is not a 55-year-old swimmer with a resting pulse in the 40s. Those questions need hundreds of people.
That is what the rest of this site is for: people with atrial fibrillation writing down what actually happened to them.