ApoB is the best of the three on mechanistic and genetic-epidemiological grounds, non-HDL-C is the best value because it is free and already on your report, and calculated LDL-C is the weakest — and your case is a clean example of why. You have discordance, it is real, and the ApoB number is the one telling you the truth.
What each one measures
- LDL-C is the mass of cholesterol carried inside LDL particles, per litre. It says nothing about how many particles that cholesterol is distributed across.
- Non-HDL-C is the cholesterol in every atherogenic lipoprotein: LDL, VLDL, IDL, remnants, chylomicron remnants and Lp(a). Computed as total cholesterol minus HDL-C.
- ApoB is a count. Every atherogenic particle — LDL, VLDL, IDL, remnant, Lp(a) — carries exactly one molecule of apolipoprotein B-100. So an ApoB concentration is a direct measure of particle number, in a fixed stoichiometry, with no assumptions.
That last property is the whole argument. Atherogenesis is driven by particles entering and being retained in the arterial wall, and the rate of entry scales with particle number rather than with the cholesterol cargo each particle happens to be carrying. Two people with identical LDL-C can carry it in 900 large cholesterol-rich particles or 1400 small depleted ones, and the second person has the higher risk despite the identical LDL-C.
Why your three numbers disagree
Because at a triglyceride of 3.4 mmol/L your LDL particles are triglyceride-enriched and cholesterol-depleted, and your remnant pool is large. Two things follow:
First, the particle count required to carry 2.6 mmol/L of LDL cholesterol is higher than it would be at normal triglycerides. Hence ApoB 1.18 g/L against an LDL-C that looks acceptable.
Second, the Friedewald calculation is subtracting a triglyceride-derived estimate of VLDL cholesterol that is too large at high triglycerides, so your calculated LDL-C is biased downwards. Work it: your VLDL-C term is 3.4 ÷ 2.2 = 1.55 mmol/L. Your non-HDL-C of 4.1 minus your calculated LDL-C of 2.6 gives exactly that 1.5. The equation has assigned 1.55 mmol/L of cholesterol to VLDL by assumption, not by measurement, and if the true figure is 1.2 then your real LDL-C is nearer 2.9.
So the disagreement is not an artefact in the sense of being meaningless. It is a signal, and the signal is: cholesterol-based measures are understating your atherogenic particle burden.
Formal discordance
Discordance means being in different percentile categories on two measures for the same person. Formally you compare percentile ranks in a reference population; informally, look for one of these patterns:
- LDL-C at target, ApoB not. Your case. Associated with high triglycerides, insulin resistance, metabolic syndrome, and with post-weight-loss states. It is the more common direction and the one that matters, because it means risk is being underestimated.
- ApoB at target, LDL-C not. Fewer, larger, cholesterol-rich particles. Less common, and generally the reassuring direction.
- Non-HDL-C high with LDL-C at target. Points at the remnant pool. Your remnant cholesterol is non-HDL-C minus LDL-C = 4.1 − 2.6 = 1.5 mmol/L, which is substantial. Remnant cholesterol has independent evidence as a causal risk factor and is free to compute.
- Everything at target with high Lp(a). Lp(a) contributes to both non-HDL-C and ApoB but at a low particle count, so a very high Lp(a) can hide inside otherwise acceptable numbers. This is a genuine gap and is the reason to measure it once.
Thresholds, so the numbers mean something
Approximate correspondences, all of which need individualising to your actual risk by someone who knows your history:
- ApoB 1.0 g/L (100 mg/dL) sits roughly at the population 50th to 60th percentile in Western cohorts. Around 0.8 g/L is often quoted for people at raised risk, and 0.65 g/L or lower for those at very high risk.
- Non-HDL-C targets are conventionally set at the LDL-C target plus 0.8 mmol/L (30 mg/dL). So an LDL-C target of 1.8 corresponds to a non-HDL-C target of 2.6. Your 4.1 is a long way from that.
- ApoB in g/L multiplied by 100 gives mg/dL. Your 1.18 g/L is 118 mg/dL.
Which to track in five years
ApoB, with non-HDL-C as the free running check between ApoB draws. The evidence base for ApoB as the superior discriminator is strongest in the genetic literature: Mendelian randomisation analyses comparing variants that lower triglycerides against variants that lower LDL-C found that the association with coronary risk was proportional to the change in ApoB, not to the change in either lipid measure separately [1]. That is close to the cleanest available demonstration that the particle count is the causal quantity.
The practical counterargument for LDL-C is not that it is a better measure. It is that every outcome trial and every guideline threshold was built on it, so a clinician has decades of calibrated experience with LDL-C numbers and comparatively little with ApoB. That is a real reason to keep reporting it and not a reason to prefer it.
ApoB's practical virtues, since they are usually undersold: standardised against an international reference material, analytical CV of roughly 3 to 5%, no fasting requirement, no equation, valid at any triglyceride concentration, and typically inexpensive. There is very little argument against measuring it beyond local availability.
edited 17 Feb 2026 by dana_wexler — clarified the distinction between purity and content
Working the remnant cholesterol as non-HDL-C minus LDL-C is the free calculation nobody does. – kwn_analytical 7 months ago The honest framing of why LDL-C persists — calibrated clinical experience, not superiority — is fair to both sides. – Dr_Marek_Zielinski 6 months ago add a comment