So, firstly… if you have a Critical Swim Speed, good. It is a useful number. But a lot of swimmers have quietly turned it into the only number, and that is where sessions start to go wrong.
BLUF: Use CSS to benchmark and track progress. Use RPE, paired with the purpose of the set, to actually execute the intensity in a session.
The common mistake
You test your CSS. You get a pace, say 1:45 per 100m. Then every set for the next eight weeks gets judged against it.
Easy swim? Measured against CSS. Threshold set? Measured against CSS. Feeling flat on a Monday morning? Still trying to hit CSS, and now feeling like you have failed when you cannot.
That being said, this is understandable. A single pace feels tidy. It gives you something to chase. But a benchmark and a prescription are not the same thing, and treating them as one is where people get stuck.
Your CSS is a useful benchmark, not a remote control.
What CSS is actually for
CSS (Critical Swim Speed) is an estimate of the pace you could theoretically hold for a sustained effort, drawn from a short and a longer time trial. It was popularised in triathlon swimming by coaches like Swim Smooth, and it does a specific job well.
Here is what it is good for:
- Baselining. A clear starting point for where your sustainable swim speed sits today.
- Retesting. Do the same protocol again in a few months, or in the off-season and you can see, in black and white, whether you have moved.
- Tracking progress. It turns "I think I'm swimming better" into actual evidence.
- Anchoring threshold work. For certain sustained sets, it gives you a sensible target to hold.
So the key message is not "ignore CSS". It is "know what CSS is for". It is a measuring tool. It is not designed to judge every effort you do in the water.
Why the same pace feels different
Here is the problem with letting one number run everything: that number does not know what day it is, or what the set is for.
CSS does not automatically account for:
- The purpose of the set. A recovery swim and a race-effort set are not meant to feel the same, even if the clock says similar things.
- Stroke changes. Drills, single-arm work, pull buoy, paddles… these all alter your pace without altering your effort in the way you would expect.
- Fatigue. A big bike or run session the day before will change what a given pace costs you.
- Pool conditions. A short-course pool, a long-course pool, a busy lane, a push off the wall every 25m versus every 50m… all of it moves your pace.
- Your current state. Poor sleep, stress, a cold coming on. Your body does not care that the plan says 1:45.
For example: you set out to swim an easy 400m. On a fresh day at 1:55 that feels gentle. The morning after a hard brick, the same 1:55 feels like work. If your only reference is CSS, you push to "fix" the pace and you have just turned a recovery swim into a stress session. You have missed the point of the set entirely.
The pace is data. The effort is the prescription.
A simple RPE scale for swimming
RPE (Rate of Perceived Exertion) is just how hard the effort feels, scored honestly. It sounds soft compared to a precise pace, but it is the thing that actually adjusts to real life. You do not need a complicated chart. You need four clear gears.
Here is what to use:
- Easy. Conversational if you could talk. Loose, relaxed, almost lazy. You should finish feeling like you could keep going for a long time. This is recovery and technique work.
- Steady. Comfortably hard, controlled, rhythmic. Breathing is up but under command. This is your aerobic bread and butter, often your long continuous swims.
- Strong. Firm and purposeful. Breathing is noticeably heavier, you are concentrating to hold it, but it is sustainable for the set length. This is where a lot of threshold and race-pace work sits.
- Hard. Uncomfortable. Short, sharp efforts where the aim is to go deep and then recover. You could not hold this for long, and you are not meant to.
So, what that means is: before a set, you decide which gear it is for. Then you swim that gear. The pace clock becomes feedback on how well you held it, not the boss telling you off.
How to pair intent with effort
Every set has a reason to exist. Your job is to name it, then match the effort to it. Try this three-step habit before each set:
- Name the purpose. Recovery? Aerobic volume? Threshold? Speed? Technique?
- Pick the RPE. Easy, steady, strong or hard, based on that purpose.
- Let pace be feedback. Glance at the clock, note it, but do not let it override how the effort actually feels today.
For example: a threshold set of 8 x 100m. The intent is sustained, controlled hard work. The RPE is strong. On a good day your pace might hover near CSS, and that is a nice confirmation. On a tired day the same strong effort might land a few seconds slower per 100m, and that is fine. You still trained the thing you meant to train. Chasing the number on that tired day would have changed the session into something it was never supposed to be.
This is not permission to go easy whenever you fancy it. RPE only works if you are honest. "Steady" has to mean steady, not a secret easy. Accountability sits with you here, and that is the point: you are learning to read your own effort, which is a skill that pays off on race day when there is no pace clock on the open water.
Benchmark with CSS, execute with intent
So, to pull it together. CSS is not the enemy. It is a genuinely useful tool for one job: measuring where you are and whether you are improving. Keep testing it. Keep an eye on the trend.
But stop asking it to run every set. The purpose of the session, paired with an honest RPE, is the better guide for executing intensity, because it adapts to fatigue, stroke, conditions and the state you are actually in on the day.
Better to be consistently good than sporadically great. And you will be far more consistent when you train the intent of each set, rather than forcing one number into every context it was never built for.
If you have any questions, queries or concerns about this, don't sit on them, let me know.