Blog
Training planning3 min read

CSS in swimming: using critical swim speed to interpret load

What CSS represents, how to read swim intensities and why effective time and rest should be separated. Examples of CT in the pool.

JPJuanPaCreator of TrainingForever·November 4, 2026

By JuanPa, creator of TrainingForever · Updated 4 November 2026

In the pool, a 60-minute session can contain well under 60 minutes of swimming. And two swimmers recording the same times can be working at different Relative Intensities.

CSS serves as an individual reference for interpreting swim pace. It is best used alongside the type of set, technique, rest periods and quality of execution.

What it represents

CSS stands for critical swim speed. It is obtained through testing protocols and used as an intensity reference. It is not a guarantee that you can hold exactly that pace for any duration.

The relationship between distance and time across the efforts tested allows that speed to be estimated. The result depends on the protocol and on how the tests were executed.

An example with the same CSS

Three swim paces produce different loads over 60 effective minutes with a fixed CSS of 1:40 per 100 metres.
Hypothetical example: only swimming minutes are counted. The product branch uses exponent 3.
PaceIR relative to CSS 1:40/100 mCT over 60 effective minutes
1:50/100 m0.9175.1
1:40/100 m1.00100.0
1:30/100 m1.11137.2

The last row is a teaching calculation. It does not prescribe an hour at that intensity, nor does it claim the swimmer can complete it.

Case study: a long session with little swim load

Marta spends 70 minutes at the pool, but part of that goes on instructions, rest and technique practice. She swims 40 effective minutes.

If the app uses swimming time and the coach had estimated the whole pool visit, a load difference will appear. That does not mean the technique session was of little value: it means the metric summarises one specific aspect.

Before adding metres to match the CT, check whether the technical objective was met. Learning does not have to show up as a high load.

How I would review a demanding set

Look at whether the times hold, how much rest is needed and how technique changes. One successful repetition does not prove the whole session was executed at that intensity. The average summary can hide both recoveries and late deterioration.

If you use paddles, fins or stroke changes, add that context. The same time per 100 metres does not necessarily carry the same meaning.

How the app calculates it

Intensity is obtained from speeds. Using comparable paces in seconds per 100 metres: IR = CSS pace / actual pace.

Load by CSS uses CT = swimming hours × 100 × IR³. The exponent is a modelling decision, not a demonstrated individual physiological response. Without sufficient CSS, the running heart rate threshold should not be imported as if it were a swimming one.

What to check when CSS changes

Check the protocol, pool length, effort and validity date. A new CSS changes the reference point: it can lower the calculated IR at a given pace without the swimmer having slowed down.

The sporting point is to improve prescription and its follow-up. The goal is not to achieve a maximum CT, but to accumulate the swim stimulus that makes sense for that person.

What this explanation is based on

The references support concepts and limits. The numerical examples on this page are for teaching purposes; they are not results from those studies.

Related metrics

Try it with your athletes
Coach more athletes. With fewer admin hours. Free for up to 5 athletes.
Start for free
JP
Written by
JuanPa

Creator of TrainingForever.

TrainingForever

The training platform for endurance and strength coaches and clubs.

© 2026 TrainingForever. All rights reserved.