# Swimming Analytics

Canonical HTML: https://effortsignal.com/features/swimming-analytics/

Last content update: 2026-09-14

From a 25 m pool to a long open-water swim, see how your pace, heart rate and stroke rate changed through the session. Then put the swim back into your training week: swimming contributes to volume and, with usable heart-rate data, the same training-load history as your rides and runs.

<!-- Explain both swimming environments and the existing all-sport load calculation without promising metrics absent from a recording. -->
<p class="marketing-demo-note">Real EffortSignal web screenshots with demo data: a 3.8 km open-water swim on 22 August, a 2.5 km pool session on 23 August, and a fictional training history. Activity analysis and training load are included in Free and Pro.</p>

<h2 id="pace-and-heart-rate">See the effort behind your pace</h2>

Open a swim from **Activities** or **Calendar**. **Overview** keeps heart rate above swim pace so changes in effort and speed are easy to compare. Pace is shown per **100 m**, while the activity summary brings duration, distance, average pace, heart rate and stroke rate together when the recording supports them.

<figure>

[![Heart rate and pace per 100 m across the 1 hour 4 minute open-water swim](/marketing/product/catalog-swim-overview-desktop.webp)](/marketing/product/catalog-swim-overview-desktop.png)

<figcaption>The 3.8 km example averages 1:42 /100 m and 148 bpm. The full timeline shows variation that those two averages cannot describe.</figcaption>
<a class="marketing-image-enlarge" href="/marketing/product/catalog-swim-overview-desktop.png">Enlarge the swimming charts</a>
</figure>

The **Swimming** tab adds stroke rate and the swim pace curve. **Heart rate** provides the available HR analysis, including the duration curve. Use chart settings to choose the recorded channels you want to see.

<h2 id="pool-and-open-water">Pool lengths and open-water distance</h2>

In the **pool**, expand a recorded lap to inspect its individual lengths: distance, swim time, pace, style, stroke count and stroke rate where available. The 23 August example contains **100 lengths in a 25 m pool**, grouped into four recorded laps. [Explore Pool Swimming](/features/pool-swimming/) for the lap-to-length workflow and swim interval metrics.

In **open water**, follow the GPS route, pace and stroke rate through a continuous swim. Best efforts use the recorded distance stream, so their accuracy follows that recording. Open-water swims do not need pool lengths to have useful analytics. [Explore Open Water Swimming](/features/open-water-swimming/) for the map, charts and distance-based efforts.

Both environments support activity best efforts over **50, 100, 200, 400, 800 and 1500 m** when enough suitable data exists. **Show on charts** highlights the chosen effort on the timeline without changing your zoom. These are the best efforts within that activity, rather than an all-time personal-record table.

<h2 id="training-load">Triathletes: your swimming counts too</h2>

**Swimming contributes to the same daily training load as cycling and running.** A swim with sufficient heart-rate coverage produces **TRIMP**, which feeds **Fitness (CTL)**, **Fatigue (ATL)** and **Form (TSB)**. You do not have to add a separate manual load just because the session happened in water.

<figure>

[![The Training Load dashboard shows Fitness, Fatigue and Form for a demo history containing swimming, cycling and running](/marketing/product/catalog-swim-training-load-desktop.webp)](/marketing/product/catalog-swim-training-load-desktop.png)

<figcaption>One training history includes all three sports. This demo also shows the app's incomplete-load notice because one pool recording has sparse heart-rate data.</figcaption>
<a class="marketing-image-enlarge" href="/marketing/product/catalog-swim-training-load-desktop.png">Enlarge the training-load view</a>
</figure>

TRIMP needs **at least 90% heart-rate coverage** and applicable resting and maximum HR settings. Missing or sparse HR is not treated as proof of an easy swim. Known load from other activities still contributes, and the app identifies incomplete coverage. Power-based **PSS** remains separate; it does not automatically replace missing TRIMP. See [Training Load](/features/training-load/) for the calculation and history limits.

<h2 id="training-volume">Track swimming volume separately</h2>

In **Dashboard → Training Volume**, select **Swimming** and choose weeks or months. **Duration** shows elapsed activity time; **TRIMP** shows the available heart-rate load. Return to **All** to see the combined training week. A swim can contribute recorded duration even when its HR data cannot support TRIMP.

<figure>

[![Training Volume filtered to Swimming shows weekly duration against the athlete's usual range](/marketing/product/catalog-swim-volume-desktop.webp)](/marketing/product/catalog-swim-volume-desktop.png)

<figcaption>A swimming-only view makes pool and open-water time visible within a mixed-sport programme. The recent baseline in this example is synthetic.</figcaption>
<a class="marketing-image-enlarge" href="/marketing/product/catalog-swim-volume-desktop.png">Enlarge swimming volume</a>
</figure>

The weekly usual range uses the preceding eight complete weeks. A week in progress remains partial. For distance totals and a broader view across periods, use **Progress → Volume and load**. [Training Volume](/features/training-volume/) explains the period controls and baseline.

<h2 id="recording-data">Start with the data your device recorded</h2>

Import a **FIT** file or use a [supported integration](/features/device-sync/). Recorded lengths provide pool detail; GPS and distance provide open-water context; cadence supplies stroke rate. No single device is required to supply every channel. Missing style, strokes or HR remains missing rather than being presented as a measured value.

Choose the detailed guide for your next session: [Pool Swimming](/features/pool-swimming/) or [Open Water Swimming](/features/open-water-swimming/).

All Pro features are free through January 31, 2027. No credit card or automatic charges. After Early Access, keep using Free or choose Pro. [See Free and Pro plans](/pricing/).
