More and more Zwifters have the ability to record power data from two different sources: most commonly a smart trainer plus a power meter installed on their bike. And ZwiftPower has the tools to make comparing the data from those two sources quick and easy!
Before we dig into how ZwiftPower’s tool works, let’s look at why dual recording is becoming popular among Zwifters.
Why Dual Recording?
It’s impossible to know if your power numbers are accurate when you don’t have another power meter reading to compare them to. Experienced riders can sometimes “feel” if the numbers aren’t accurate, but this is far from a reliable method, and it doesn’t help newer riders who haven’t trained enough with power to know what holding 2.5w/kg or 300 watts feels like.
Comparing the power numbers from one power meter to those from another helps ensure that both are accurate. It’s not a fool-proof method either, but what you want to see is your bike-based power meter (usually pedal or crank-based) reading a bit higher than your smart trainer due to small friction losses in your drivetrain.
Example: if you’re putting 250 watts into your pedals, and lose 4% through your drivetrain, your smart trainer should be reading 240 watts.
If those are the numbers you see, chances are both power sources are quite accurate.
It’s called “dual recording” in the land of Zwift because riders are recording the data from two different power meters. Zwift doesn’t currently have the ability to record two different power sources, so riders will record one power source on Zwift, and the second on their bike computer (Garmin, Wahoo ELMNT, etc).
Race Verification
Dual recording is especially popular among top Zwift racers because it streamlines the performance verification process. Zwift’s eRacing Rules say:
… riders are strongly encouraged to record a second source of power data. Providing a second source of recorded power data will, in many cases, streamline the performance verification process. The reviewers will analyze both sources of data to confirm that the power readings are accurate.
Comparing Power Files Using ZwiftPower
ZwiftPower has a tool accessible under Your Profile>Analysis which makes comparing two .fit files from two different power sources easy. If you’re registered on ZwiftPower the site can already see every Zwift session you’ve ridden – so all you need to do is upload the second file from your computer and you’re good to go!
Here’s what the process looks like:
- Finish and save your ride (on Zwift and your bike computer)
- Click Analysis>Create New Data Set from your ZwiftPower profile page
- Select your activity from “Use .fit file from Zwift Activity”
- Choose which power source was used for your Zwift activity (or enter the name of a new power source)
- Optional: assign this analysis to a Zwift event you entered by choosing the event from the corresponding dropdown
- Add a comparison file from your computer, and select which power source to associate with that file (or enter the name of a new power source)
- Optional: change Visibility from Private to Public if you want other racers to be able to see your dual recording analysis
- Click “Create Data Set”
This will take you to a page showing a graph of the data from your two power sources. You can now fine-tune that graph using the Time shift and crop tool. (It will probably be necessary to zoom in a bit so you can line up the two sources nicely and have them start and end together. Click and drag to zoom, then just click “Reset Zoom” at the top-left to see the full graph once more.)
If perhaps your bike computer and Zwift’s clock aren’t perfectly aligned (they rarely are), this tool lets you easily shift the data by X seconds. Just enter the number of seconds in the “Offset” box and you’ll see the graphed lines move.

You may also use Time shift and crop to crop the power data, so you can be sure numbers like “Average power” are being pulled from the same time in the activity. (Sometimes you might save your Zwift ride but keep spinning for a minute and recording the power on your bike computer. This would throw off the average power numbers, so cropping that bike computer data file fixes things.)
Once your files are nicely aligned and cropped, you have a rich data set you can use to compare your two power sources. This includes the zoomable power graph as well as numbers for Average, Normalized, and Maximum Power. It also includes additional graphs for elevation, heart rate, cadence, and critical power curves from both devices.
See a recent dual power data set I created >


Conclusion
Dual recording will keep growing in popularity as more riders obtain on-bike power meters to use outdoors and compare with their smart trainer data. Additionally, the growth of Zwift racing as a sport should drive the adoption of dual recording as a standard for serious indoor racers. ZwiftPower’s analysis tool makes it easy to upload your power files and compare them to make sure your numbers are accurate.
Your Thoughts
Do you dual-record? If so, do you use ZwiftPower or other tools to compare files? Share your thoughts below!
Even for non serious racers this is a really great tool to compare their smart trainer vs their power meters. Both are getting more and more accurate so readings should be similar but still some people might notice a gap between both which is usefull info when you transition from indoors to outdoors and visa versa.
I usually use Ray Makers tool to compare files, also very good. And I dont use zwiftpower, cause a results list, that only shows some riders and not everybody in the race is useless for me.
Ray’s tool is good, but not free, right?
No, not free. But he has kids to feed 😜
Zwift isn’t free either
In “unfiltered” all results are visible.
Really great info, thank-you! I wish we could use dual-sided power meter data as well. I am not sure if Zwift is capable of handling dual-sided data.
Nah, Zwift just looks at the combined number.
Thanks Eric, I had no idea this was available on ZwiftPower.
How do you save a 2nd power source to your computer though?
I get you can have more than 1 source, but this assumes you have 2 sources of information on your computer not just one going to a head unit & 1 going to zwift which creates a file.
I don’t have a power meter, I’m just asking.
The file that goes to your head unit needs to be uploaded to ZwiftPower. For me with my Wahoo ELEMNT that means I email the ELEMNT’s fit file to myself, then upload it to ZwiftPower.
Can’t wait to do this, I’m pretty sure my smart trainer reads 50 watts too low 😉
If I use my Vector pedals as my power source on Zwift would I then have to record the Kickr power on my head unit?
Yep!
I have two results : 1 from Wahoo Core and 2 from my 4iiii. After Zwift session the difference is about 20 W. How do I know which one is correct?
Short answer: you don’t! “A man with two clocks never knows what time it is…”
If the 4iiii is the higher one, at least you’re in the neighborhood. Try calibrating both, making sure they’re set up correctly, etc.
The most important thing is to use the same power source consistently. Then your training is consistent.
I have the same issue when doing Zwift workouts on my Kickr Core and comparing the data from my 4iiii single-sided power meter. The difference is about 30W which is a lot of effort relative to my weight (56kg). I have tried recalibrating everything and performing spindowns. The Kickr feels like it’s reading low, especially when I am in a warmup or cool down – the effort feels way too high to reach such low numbers.
You can offset the 4iii to read roughly 4% higher than your Kickr. The option is in the app.
My Saris M2 is about 60 to 80 watts lower than my 4iiii left crank arm. The Saris i think is low and the 4iiii a little high. Now my workouts suck.so frustrating
Cool I didn’t know this.
I used to use GoldenCheetah to compare pedal power and Direto. The annoying bit is matching start and end times. But after doing a few compares they were always close enough so stopped bothering.
I pair the Direto when Zwifting but still use the pedals on my Garmin so can always see a live reference (and see things like averages, max and NP whilst riding).
I’ve used GoldenCheetah too. ZP makes it much easier!
Would be perfect if Zwift could write both power sources to activity. I do not like that mess with another fit file and head unit recording.
Yeah, that would be nice!
This raises other questions like which power source should be selected when racing? A dumb trainer with a PM could have an ~8% advantage over the rider using the Smart trainer internal PM (assuming +/- 2% accuracy and 4% drive train losses, the PM reading slightly above and the Smart trainer reading slightly below) at 250w could mean a difference of 20w which can be the difference of a B cat moving to an A cat and Winning or losing races…. The Rabbit hole deepens
Yes it does! Pedals will always be a bit higher, and I would say… more accurate. So it seems they would be the best source, if you have ’em. But there’s definitely a sort of… “advantage of the 1-percenters” thing…
Eric, maybe pedals give the best actual readings, but maybe aren’t the best source. Irl power is eventually put in to speed at the moment it hits the road.
There for I would argue that that the direct drive trainers powermeter are the best source for Zwift. Pedal or crank powermeters could be secondary.
Yes, for sure. You take out the pedal source on the bike ride on the roads. Use this for the realistic figure
Another aspect is the delay in the power readings. I’m waiting for my 4iiii crank to arrive to see if it improves on the annoying delay (3/5 seconds) I’m getting with my Tacx Vortex between the time when I apply/lower power and get it on Zwift, makes it hard to work well in a pack during a race !
depending on zwift servers, you still have a lag time. Best thing seems to attack yourself, out of each and every corner😉
This was very interesting! A great tool! I use Neo and Vector2 and have until know updated an excel with power values for 1,2,5,10,15,20,30 and 60min taken from Strava and compared the two power meters.
The difference in 20min power is not constant between the power meters! For my 96 recordings with different power sources (I always use Vector2 when racing 🙂 ) average difference is +2,1% higher value from Vector2 than Neo. The difference varies from +4,7% to -1,8%. 6 of 96 times the the 20min power from Neo has been higher than from Vector2.
Tried this for the first time today and my Tacx Vortex Smart is about 6% higher than my single sided 4iiii Power meter which is not what I was expecting. Now I am more confused than I was to start with. However I know which I will be using when I race!!
Have you used the compensation for difference in power between you left leg and
right leg? In the settings on the 4iiii I have mine set at 1.030 which allows a 3% compensation.
Good to know as I’m waiting for my 4iiii but how do you know your imbalance ? Also I read that it varies based on the intensity/fatique ?
Interesting, waiting for my 4iiii left crank to arrive to supplement my Tacx Vortex (and use it outdoors too of course !) as I hope it will remove the delay in the power readings on Zwift, maybe 3/5 seconds. Did you notice any improvements in that respect ?
Same here! I am seeing my Saris H3 read about 5% higher than my 4iiii left-side-only power meter. Maybe I have a leg imbalance? Shrug. I guess I will use the H3 power, since the H3 does very nicely on ERG without ‘power matching’. With power matching it tends to swing around the target more.
Wow! I found this guide extremely helpful!
Not because it explains how to use the zwiftpower analysis, but because it says that it’s quite common to see around 10 watts of difference between your two power sources!
I saw my smart trainer always reading 3/4% lower than my pedal powermeters and I didn’t know why or what to do. Now i know that it’s normal and both my power sources are accurate!
That’s the best thing i can happen to discover!
Thank you!
This tool is simply brilliant! Thanks for bringing it to our attention Eric. I have discovered that my Kickr is giving results C. 7-10% lower than my Stages 105 single crank unit (having calibrated both). Even taking drive-chain losses into account this seems like a lot. I’m not sure what to do with this information. My heart says stick with the Kickr for training as it may be more accurate (?), my head is telling me to use the Stages for Zwift racing 🙂
Does yhe Stages PM have a compensation setting for difference in power between your left leg and your right leg? I use a 4iiii single left crank and have mine set at 3% compensation as my right leg is slightly stronger.
This is really interesting… I have a Vector 2 dual side power meter and a Saris Hammer smart trainer. For Zwift today I used Vector for power and cadence and Saris only for smart features. I also recorded a race on Garmin Edge 810 using Vector for power. Downloaded both .fit files from Garmin connect and fed it to ZwiftPower. While the overall picture looks legit, data from the head unit had much higher amplitude in spikes and sharp drops in power for about 20 minutes and then became pretty much equal within 2-3% This is utterly puzzling, as both… Read more »
My trainer records 275w, my crank powermeter 290w
How can I tell, which is the correct? (or maybe none is correct and real power is somwhere else?)
As mentioned in the article, they is a good chance they are both correct. You can expect crank or pedal power to be higher than trainer due to losses in the drivetrain.
Thanks for highlighting this Eric. Finally did this analysis as I am only riding indoors.
Compared my Elite Direto to my Garmin Vector 3 pedals. Average power and normalised power within 1 watt. Reassuring that everything is nicely aligned.
1 watt difference??? Wowzer, that is really impressive. Elite’s reputation for accuracy sounds well deserved!
Informative!
Does anyone have a problem with the 2Mb uploading limit for the secondary file? My file is a .tcx from garmin connect and it is 3Mb.
Do you know how to solve this problem?
You should be able to get a fit file out of your Garmin setup. It should be quite a bit smaller. Use that!
Possibility to smooth the power values would be very usefull. My 4iii goes to 0 much quicker than my Elite trainer.
Yep i’m a DC analyzer subscriber and always use at least 3sec smoothing when comparing
Thanks Eric for this post.
I created a data set with one hand Elite Direto, on the other hand Assioma Uno during a Zwift event of 1h08. The average power difference between the 2 sources is only 0.08%. See details here: https://zwiftpower.com/analysis.php?set_id=37101.
hi. Trying to perform a dual analysis but i received some message error. i´m using garmin files from garmin connect and trainingpeak files.
The messages i´ve received are:
file ‘/tmp/phpLozaxV’ is over 2mb!
phpFITFileAnalysis->readHeader(): not a valid header size!
phpFITFileAnalysis->__construct(): file ‘/tmp/phpsTmydC’ is over 2mb!
ANY ADVICE?
I’m getting the same error..were you able to figure out a solution?
Hi Eric- I’d like to start using the tool but my .fit files in the drop down don’t include my races (whereas those races are included in the ‘assign’ drop down). So when I upload the .fit from my watch or Elemnt it only shows my power meter read but there is no comparison data. Can you help?
That’s odd. For me, the “Use fit file from Zwift activity” list is early the same as the “ Assign to a Zwift Event you entered” list.
If that first list doesn’t include your Zwift race, I would think that means the connection between Zwift and ZwiftPower isn’t working properly for you. Maybe make sure you’ve got permissions set up right to share data with ZP, under your my.zwift.com profile?
Thanks, Eric. Settings are all as they should be but I have re-set and refreshed mu ZP account a couple of times.
It’s odd- my ‘zwift activity’ has only a small selection of my racing but most (if not all) of my other activities (such as meet ups and workouts). If you have any other suggestions, I’m all ears! No biggie- I’m not required to dual record but it would be a cool feature to use.
Such a great tool – a really nice feature. Thanks for writing it up!
This might need a bump 🙂
One question, I know one can calibrate / set off/spin down etc their smart trainer, on zwift, when they pair up the trainer as the power source. One calibrates etc their power meter with their head set (eg Vector on garmin edge) just before they do work. There does not appear to be an option on Zwift to calibrate etc the vector . Is there any way to address this or does one just calibrate that pm on the garmin (would that matter if using zwift ?)
Which is considered the maximum variance between the two measurements for “important competitions”? Is there a written source that mentions it? Thanks a lot for your interest!
Is this feature on zwiftpower stil operational. I have tried to upload a couple of file the past few days and nothing seems to be happening.
Working as of Thursday. That’s the last time I used it!
Worked for me as of today (Feb 13, 2021). Really nice free feature in Zwiftpower.
Hello, I recently own a Kickr V5.0 and I want to do a dual comparison between the Kickr power and the Power2Max of the bike. Trying to follow the guideline of the article, when I open the “Use .fit file from Zwift Activity” to choose the activity there are not recent activities. All the activities I see in the “Use .fit file from Zwift Activity” menu are old activities from May. And there are only feew of them. I cant find recent activities in the option “Use .fit file from Zwift Activity”. Can anyone explain me why and how to… Read more »
Sounds like your account isn’t connected to ZwiftPower anymore. Reconnect it via the Connections page at my.zwift.com, or via Companion.
Thanks for the reply. I also wrote in the “Zwift power” forum and they answer that the activities have to be saved as public. That was the reason not to see them in the “Use .fit file from Zwift Activity” as all my activities were saved as only visible for followers.
I hope this explanation in usefull for people with the same problem reading Zwiftinsider.
Hi Eric and co.
I recently acquired a kickr v5.0 and I’m doing dual sided records. My problem is that when I compare both files on Zp (4iii, main power on Zwift and kickr ond garmin) kickr .fit has some lack of power connections (zeroes) while 4iii is consistent on his readings. Anybody has some idea how to somve that? Thank you in advance folks and greetings from Peta-z team from Spain!!
Hi. Great article. Thx for it. If Wahoos promise is a +/- 1% accuracy i expect the losses in the drivetrain to be considered. If its accurate then its accurate – even when there might be losses anywhere. That my understanding of accuracy. I compared my kichr V5 with Assioma Duo and downscaled the power readings of the Assioma by the app until booth values showed almost same figures. For the Assioma this means -1.8%. So i am sure to ride on accurate values when spring comes and carbon frames yump out of the basement. 4iii crank pm Show 5%… Read more »
Hi Eric,
would it be possible to use this feature to upload a fit-file into an activity which has only live data stored in ZP after the event? I. e. “making the green lightning bolt into a blue one” to correct short term power, which is often capped then? Thank you 🙂
Hi All,
Sorry if this has been asked before but has anyone else found that Zwift and their Garmin seem to pass through time at different speeds! My traces were in sync at the start of the recordings but get further and further apart as the activities go on. They are out by about 25 seconds at the end of a 1.5 hour activity.
Feedback would be much appreciated.
Steve
This is what I came for!
got the same here. kickr 5 to zwift and assioma duo to garmin. the power drifts away.. will do som more testing this week!
As said before: a dual recording feature directly on Zwift would be the v best. But… err.. just a question: as I yesterday got Assioma Duos I now use them as primary power source on Zwift. I’d like to compare their readings with the power readings of my Neo1 and Neo2. Is there (when not having a bike computer) an easy way to just read Neo’s power reading and get a 2nd .fit file for a ride? I mean… as I don’t ride outdoors I don’t want to buy a ~200 Euro bike computer to just get the power reading.… Read more »
I assume the Tacx app could record a fit file on your phone…
Thank you, I’ll give that a try… Today I were testing Jepster, but I got many zeroes reading my Neo1 power and therefore the numbers between Assioma Duos and Neo1 aren’t matching for this activity, although they are generally matching. Tricky procedure somehow. Gonna try Tacx app asap, thx!
Did my first ever dual record today but it seemed to try to upload both to strava and cause some issues (I fixed by saving the fit file, deleting the strava and Re uploading.) my question is if using a kickr and hrm w zwift, and a quarq w elemnt for backup is there a way to set the elemnt up for these rides quickly so it knows it’s just there to record power and not gps yada? I’d prefer not to have to manually toggle this as I use the same elemnt setup for my outdoor rides. Originally my… Read more »
I dual recorded using assioma duo pedals on my Garmin and my magnus smart trainer on Zwift. When trying to do the analysis I selected the Garmin .fit file to match the Zwift event. I can only see Zwift data and not the Garmin data. One odd thing I noticed – the fit file properties said to open with Adobe which of course is a pdf. When I tried to change the program to open the fit file in properties I could not find the proper Garmin program. What compatible program should I use to open the fit file to… Read more »
Paying very close attention to my Garmin 510 and my trainer while riding yesterday I can see differences. When I review the saved Garmin file and Strava file afterwards they look identical. Maybe Strava or Zwift is overwriting the Garmin. Anyway still cannot see a comparison for whatever the reason and would appreciate your input.
Thanks for writing this Eric—super helpful. Glad Zwift has kept this feature after taking over Zwiftpower. Able to compare my new 4iiii podium one side to kickr core and see a good result, very useful…now don’t have to worry about about a big power imbalance and can trust the 4iiii numbers. Appreciate the info very much.
Hello, Does anybody know if there is any advantage in terms of accuracy measuring the power between different bike computers? I have got and Igpsport 618 and I dont know if garmin could be more accurate processing power data from my shimano giant powerpro. Thanks
Only fit files? My garmin saves only gpx. Do you know if that is acceptable or how I can change that?
Super cool. Just stumbled upon the feature in ZP and wondered if there was an article in ZI – of course there was 🙂
thanks Eric!!
Today is Dec. on the 1st drop down (use .fit from Zwift Activity) why is my most recent file from oct?
How do I record 4iii power meter data output on my Wahoo Elemnt Roam ? Last time I tried it (Wahoo Elemnt workout mode) it didn’t start a rude/activity. I was on a dumb trainer. Does the Wahoo Elemnt also need speed sensor input to start tracking power input?
I use powertap 2 on my polar vantage. In polarflow, I can’t find it. fit – files. How can I use analytics in Zwiftpower?
I tried this recently (Zwift/Neo 2 vs 4iii SS power meter). My first attempt was a 40 min activity in workout/ERG mode. Here the 4iii measures about 10% higher than Neo 2 on average. But the results were closer (5%) at 300w+. The biggest disparities were at lower power under 200w. Average cadence was equal on both so it’s the force/torque measure that differs. I tried again on a longer 2 hour activity (Watopia ‘Bigger Loop’ route) without ERG. Here the average results were closer. 4iii was around 5% higher on average and they were within 1-2% of each other… Read more »
Thanks for this article! Worth noting that this tool can also be used without a Zwift activity to start with. Leave the Zwift-related fields empty, just select two .fit files that you have and the tool will happily compare these.
Hi all, I’m new here. I’ve read the whole thread below about dual recording, but I still have problem. Maybe somebody here can help me out. I started Zwifting last winter, and I liked the feedback of the numbers quite a lot. So I extended my outdoor equipment with a set of Assioma power pedals, which I connect to my ELEMNT Bolt. I like working with training programs, which are based on % of FTP. So quite important to know my FTP, and to be consistent in Zwift and outdoor. At the same time, I like participating in a… Read more »
@Eric Schlange: sorry for bumping an old post. I was wondering if you know why sometimes the time “offset” between the 2 files changes after a while during my ride/race. Eg. at the start the offset is 15sec, near the end it’s actually close to 0.
Does this have an impact on races? Or is it just the recorded time?