Field guide
How Bunch keeps score.
Every number Bunch shows, how it’s worked out, and the rules behind it. Almost everything is calculated on your iPhone, from your GPS track, your phone’s barometer and, if you wear one, your Apple Watch.
Distances are stored in meters and shown in miles or kilometers, following your setting. A “split” means one mile or one kilometer.
01 / What counts as riding
What counts as riding.
These rules decide which moments of a ride are “riding”. Live recording and every later recalculation use the same thresholds, so the numbers always agree.
- Moving
- 1.0 m/s or faster (about 2.2 mph / 3.6 km/h). Slower than that, you’re stopped.
- GPS jumps
- A step between two GPS fixes that implies more than 110 km/h (30 m/s) is dropped from your distance.
- Lost signal
- A gap between fixes (a tunnel, say) adds at most 10 seconds of moving time.
- Elevation noise
- Changes under 1 m (barometer) or 2 m (GPS altitude) are ignored. GPS fixes with vertical accuracy worse than 20 m don’t count toward climbing.
Auto-pause
- Stops
- After 3 seconds without a reading that shows movement.
- Resumes
- After 2 readings in a row that show movement.
- Movement
- Speed of at least 1.0 m/s with GPS speed accuracy of 2 m/s or better. A phone sitting indoors can report a few mph of GPS noise, so uncertain readings don’t count.
- While stopped
- Only the point where you stopped is kept, so GPS wander isn’t saved to your track.
Group rides don’t auto-pause. Each update counts as moving when its speed is 1.0 m/s or more.
02 / Ride stats
The numbers on every ride.
The core stats under the map, and how each one is calculated.
- Distance
- The sum of straight-line steps between GPS fixes while you’re moving, skipping GPS jumps.
- Moving time
- The clock while you’re recording and not stopped.
- Elapsed time
- Start to finish, including stops. Never less than moving time.
- Average speed
- Distance ÷ moving time.
- Max speed
- Your highest 3-second rolling average of GPS speed, while moving. A single spike can’t set it.
- Climbed
- Altitude rises bigger than the noise threshold, added up. A drop past the threshold resets the reference point.
- Descent
- Climbed minus the net change from start to finish. On a loop, climbing and descent match.
- High / low point
- Your highest and lowest recorded altitude. Hidden when they’re under 1 m apart, which usually means no altitude data.
- Calories
- From Apple Watch when it measured them. Otherwise estimated from power and marked “est.”
Splits
A split closes every time you pass another whole mile or kilometer, with its moving time and climbing. The unfinished last split is kept if it’s at least 5% of a unit. On long rides, splits are grouped into 2, 5, 10, 20, 25, 50 or 100-unit rows so the list stays at 10 rows or fewer.
03 / Speed zones & best efforts
Speed zones & best efforts.
Worked out from your saved track when you open a ride.
Time in speed zones
Four zones, with edges at 10, 15 and 20 mph (or 15, 25 and 30 km/h). Each moving second goes into the zone of your speed at that moment.
Best efforts
Your fastest moving time over 1, 5, 10, 25 and 50 miles (or 1, 5, 10, 40 and 80 km) anywhere in the ride. Bunch slides a window along the ride and interpolates its start between GPS points, so an effort isn’t limited to where fixes happened to land. Both mile and kilometer bests are saved, so switching units never loses a record. Tap one to see that stretch on the map.
04 / Climbs
How climbs are found.
Bunch finds climbs automatically from your elevation profile and categorizes them the way Strava and Garmin do.
The elevation profile
Your track is resampled to one point every 25 m and smoothed with a 3-point moving average. Steepest grade is the biggest rise over 200 m, capped at 30%. A profile needs at least 100 m of riding.
What makes a climb
- Start and end
- A climb runs from a low point to a top. It ends when the road drops below the top by more than the allowed dip, or goes 1 km without getting higher.
- Allowed dip
- A quarter of the height gained so far, between 10 and 40 m, so a short dip on a big climb doesn’t split it in two.
- To count
- At least 300 m long, an average grade of 3% or more, and a score of 1,500 or more (about 15 m of gain).
- Score
- Length in meters × average grade in %, which works out to 100 × the gain.
- VAM
- Gain ÷ time × 3,600, in meters climbed per hour. Only for climbs that take 30 seconds or more.
05 / Estimated power
Power, without a power meter.
Bunch estimates your power for every second of moving time from your speed, the road grade, how fast you’re speeding up, and the weight of you and your bike. It needs your weight, from Apple Health or entered by hand.
P = ( m·g·v·(grade + Crr) + ½·ρ·CdA·v³ + m·a·v ) / η- m
- Your weight + bike weight (bike defaults to 9 kg)
- g
- 9.81 m/s²
- Crr
- 0.005, rolling resistance for road tires on asphalt
- CdA
- 0.32 m², drag area riding on the hoods
- ρ
- 1.225 kg/m³ at sea level, thinning with altitude
- η
- 0.97, drivetrain efficiency
The constants
Second by second
- Speed
- GPS speed averaged over the last 3 seconds.
- Grade
- From the smoothed elevation profile over about 200 m, capped at ±20%, and limited so you can’t climb faster than 0.6 m/s (anything faster is altitude noise).
- Acceleration
- Speed change over 10 seconds, capped at ±1 m/s².
- Coasting
- Below 1.0 m/s or freewheeling counts as 0 W. Estimates are capped at 2,000 W.
On the ride page
- Average power
- The mean over moving seconds, with coasting counted as zero, like a power meter.
- Normalized power
- A 30-second rolling average, each value raised to the 4th power, averaged, then the 4th root. Only on rides with 10+ minutes of moving time.
- Max
- Your best 5-second average.
- Best efforts
- Best average over 5 s, 1 min, 5 min and 20 min, with W/kg.
- Energy & calories
- Energy is the sum of watts in kJ. Calories ≈ kJ ÷ (0.24 × 4.184), assuming your muscles are about 24% efficient, so roughly 1 kcal per kJ.
How accurate is it? About ±10% on climbs. On the flat it’s rough, because wind isn’t counted, and it reads high when you’re drafting. That’s why estimated power is left out of group-ride comparisons except on climbs.
06 / Heart rate & effort
Heart rate & effort.
Heart rate comes from Apple Watch, either streamed live by Bunch on Apple Watch or read from Apple Health after the ride.
- Usable
- At least 10 readings, no more than 30 seconds apart on average. Without a workout running, Apple Watch only samples every few minutes, which is too sparse.
- Average
- Time-weighted. Each reading counts until the next one, up to 60 seconds.
- Max heart rate
- Set by hand, otherwise 220 − your age.
- Resting heart rate
- From Apple Health or set by hand. Defaults to 60 bpm.
Zones
Effort score
Banister’s TRIMP, added up across the ride. It weighs time spent near your max much more than easy time. An easy hour is about 50; a hard hour is 100 or more.
reserve = (bpm − resting) ÷ (max − resting)
effort = Σ minutes × reserve × 0.64 × e^(1.92 × reserve)07 / Fitness & FTP
Fitness, fatigue & FTP.
How Bunch reads your training across rides. Sample rides never count.
- Estimated FTP
- Your best 20-minute estimated power × 0.95, from solo rides in the last 42 days. Group rides are left out because drafting inflates estimated power.
- Training load
- Your heart-rate effort score when there is one, since it measures you rather than the bike. Otherwise TSS from power: hours × (normalized power ÷ FTP)² × 100. Both come to about 100 for an hour ridden hard.
- Power curve
- Your best saved power for every length from 1 minute to 2 hours, last 90 days against all time. Under a minute is left out, since GPS is too rough to time a sprint.
fitness += (load − fitness) ÷ 42 // about 6 weeks
fatigue += (load − fatigue) ÷ 7 // about 1 week
form = fitness − fatigue08 / Goals & progress
Goals, records & your usual.
Bunch compares each ride with your own history. Sample rides and rides with no distance never count.
Personal records
Longest ride, most climbing, fastest average (rides of a mile or more), fastest 1, 5 and 10 mi (or km), and best 5 and 20-minute power (solo rides only).
Goals
Set goals for miles, hours, climbing, rides or days ridden, per week, month or year. Each has a pace line and a dot for every earlier period, and Bunch suggests a target from your recent riding. The Home screen shows one goal as a ring.
Ride badges
- PR, 2nd, 3rd
- A ride is only compared with rides on or before its date, so a badge never changes later. A PR needs at least 1 earlier ride; 2nd and 3rd need at least 4. A tie doesn’t beat the earlier ride.
- Firsts
- Your first 25, 50 or 100 mi ride (50, 100 or 200 km). Only the biggest one crossed is awarded.
- Lifetime totals
- Passing 100, 500, 1k, 2.5k, 5k, 10k, 25k or 50k miles or km.
- Weekly goal
- This ride took the week over your goal, with how many weeks in a row you’ve hit it.
Matched rides
Two rides are the same route when both are at least 1 km, within 10% of each other’s distance, start and finish within 250 m, and pass within 300 m at the 25%, 50% and 75% marks. That last check means a loop ridden clockwise doesn’t match the same loop anticlockwise. With 3 or more rides, Bunch shows whether you’re getting faster, per 30 days.
Loops and stretches
Bunch finds these from your own rides, with no setup. A loop is a circuit you’ve ridden on two or more rides, timed as full laps. A stretch is 2+ miles of road you’ve ridden the same way on two or more rides, timed start to finish. Names come from Apple Maps, and you can rename them.
Your typical time
- Periods
- The last 30 days against the 30 days before that.
- Per ride
- The median of that ride’s laps, so five laps on one day weigh the same as one lap on another.
- Typical
- The median of the rides in a period. Needs 3 rides in each period.
- Left out
- Laps averaging over 25 m/s (a GPS glitch) or under 2 m/s (a long stop or walking).
- About the same
- A change under 3% or 5 seconds, whichever is bigger.
With Apple Watch, a segment also compares your heart rate at your usual pace: solo laps within 3% of your usual time, at least 10 minutes into the ride, 3 rides in each period. Under 3 bpm reads “about the same.” It’s an observation, not a fitness score: heat, sleep and caffeine all move heart rate too.
09 / Live group rides
Keeping the group together.
On a live group ride, every phone sends its position every 3 seconds, and each phone works out everyone’s status from those positions.
- Gap to front
- With a route, the distance along the road between you and the front rider. Without one, straight-line distance to the leader.
- Dropped
- Further back than the drop distance (300 m by default, set per ride, or off). Clears once they’re back within 60% of it. “Go on without me” turns it off for that rider.
- Stopped
- Slower than 0.5 m/s for more than 10 seconds, with no regroup pin up and no “Stopping” or “Flat” check-in.
- Offline
- No update for 30 seconds.
- Waiting
- Within 40 m of the regroup pin. The group is told when everyone still riding has arrived.
Planned rides
Plan a ride with a time, a meeting spot and an optional route, then share the link. Riders answer Riding, Maybe or Can’t make it. Everyone going gets a reminder an hour before, and a notification when the ride starts, which turns it into a live group ride with one tap.
10 / After the group ride
After the group ride.
Each rider’s phone uploads their track when they finish. “Everyone’s ride” lines the tracks up every 5 seconds and works out how the bunch rode.
- Together
- The share of group time with everyone within 100 m of each other.
- Regroups
- When the front stops with the group spread over 150 m, and ends when everyone is within 75 m.
- Largest gap
- The distance between the two riders farthest apart.
- Hardest climb
- The highest-scoring climb on the ride, with each rider timed from within 40 m of the bottom to the top.
Results, fairly
Distance and climbing rank everyone. Speed, heart rate, effort and power only rank riders who rode at least half the group’s typical distance, so someone who rides one mile and sprints doesn’t top the table. Max speeds over 56 mph are left out as a car or a GPS glitch. Riders whose numbers look the same on screen share a place, and anyone without a number is listed with the reason.
Awards
- King of the hill
- Fastest up the hardest climb, by at least 3 seconds.
- Off the front
- Most time at least 50 m clear of the next rider, for 2 minutes or more at a stretch.
- Hardest worker
- Highest average heart rate as a share of their own max.
Phone GPS is accurate to about 3 to 10 m, so Bunch only shows what it can back up. Finer things, like who sat in or who took the most pulls, are deliberately left out.
11 / Your data
Your data, and who sees it.
You sign in with Apple or Google. Rides save on your phone first and sync to your account when there’s a connection, so a new phone gets everything back.
- Your rides
- You, plus friends and bunchmates, unless you turn sharing off. That setting is enforced by the server.
- Heart rate
- You, plus whoever can see the ride, unless you turn “share heart rate” off. Heart-rate zones and effort need your max heart rate, so they only show on your own rides.
- Group rides
- Other riders see your effort score and heart rate as a share of your max, never raw heart rate, and only while “Effort on group rides” is on.
- Body numbers
- Your weight, max and resting heart rate are only visible to you.
- Power
- Worked out once with your weight on the day and saved with the ride, so changing your weight later doesn’t change old rides. Friends never see your weight.
- Deleting
- Settings → Account removes your rides, friends, likes and bunch memberships, and revokes Sign in with Apple.
Full tracks stay on your phone for 30 days. Older rides keep a summary, so records and fitness still count, and download their track again when you open them.
12 / Not built yet
What Bunch doesn’t do yet.
So you know what to expect.
- Power meters, Bluetooth heart-rate straps, and speed or cadence sensors. Heart rate comes from Apple Watch only.
- Public segments, segment leaderboards and KOM/QOM. Your segments are personal.
- A route builder or turn-by-turn navigation. Routes come from GPX files.
- Comments and ride photos. Friends can like rides.
- Android and web apps.
- Running, which is planned.