Made an app for AeT (Heart Rate Drift) tests

  • Creator
  • #64725

    Hey everyone, last week I coded an IOS app that calculates you heart rate drift based on your apple workout history. I basically made it for myself so I wouldn’t have to pay for the training peaks premium account. Now I can test my aerobic threshold periodically to monitor my progress.

    I’m wondering if anyone else would want to use the app? If I get enough responses I’ll put in the effort to getting it on the IOS app store, otherwise it will remain a personal tool.

    Screenshots of the app UI as it stands. You basically do the HR drift test as you normally would, then in the app select the time range that you want to calculate HR drift for. If your run includes a warmup and cooldown, cut that time off.
    Currently this only works for outdoor runs since it calculates your pace, but I could easily add the functionality for treadmill tests as well.

    You must be logged in to view attached files.

Posted In: Mountain Running

  • Participant
    Shashi on #64731

    This is great.

    You mentioned that the app calculates drift using apple workout history. If I am using Coros watch or let’s say Wahoo app, how do I get the data into this app? Do I have to sync with the Apple Health app on the phone?

    BowValleyBen on #64737

    Hey Shashi, glad you’re into it! Yes thats right. The app will work with any watch that can sync with apple health, since I built the app using Apple HK Framework.

    Shashi on #64818

    For athletes who do not have a TP premium account, this app will be helpful.

    You might want to check this link as someone had created an online calculator –

    Online cardiac drift calculator / AeT test

    Rob Sterling on #65678

    Just seen this, awesome – do you have it for TestFlight you could share?

    uphill-wannabe-lion on #83087

    Hi BowValleyBen – I’m very interested in this app! Or even if someone could explain how I can export the heart rate data from Apple Health and calculate the drift myself.

    BowValleyBen on #83088

    Hey! Glad you’re interested. I guess I forgot to update this post but yeah, it has been live on the app store for a while. Let me know what you think. I’d like to find the time to add some features to it and give it a UX / UI update but for now it has the important functionality. There’s some pretty cool ML stuff I could add in the future if enough people want to use it.

    Here’s the link:

    uphill-wannabe-lion on #83123

    This is great, thank you so much! I tried it out and gave you 5 / 5 stars on the App Store! Would love to see some cool ML stuff. One small suggestion: rather than asking users to manually select workout start and end times, you should be able to automatically pull this information from Apple Health’s “Workouts” section. I got another app recently called “Zones for Training” and it does this automatically. Check out “Zones for Training” if you want some inspiration on how you can better pull data from Apple Health and visualize it better for users. Also happy to beta test things for you if you’re interested! ?

    uphill-wannabe-lion on #83157

    Could you please explain how your app is making these calculations? For example, in the attached screenshot, how did you calculate that HR1 = 138, HR2 = 141, and drift = 5.68%? Is the HR just the mean of all the individual HR readings, or is it something like the average of the minimum and maximum HR readings? And my understanding is that the HR drift should be equal to 141/138 – 1 = 2.17%. Perhaps you’re factoring pace in some way? Thanks in advance for any clarification you can provide! ?

    You must be logged in to view attached files.
    BowValleyBen on #83160

    Hey again, thanks for the review and feedback!I totally agree, auto selecting the workout start and end times is something I’ll do in the next update. Unfortunately I kind of need to re write most of the app in the more modern UI framework haha. I’ll try to get around to it soon.

    Regarding your HR Drift question:

    HR1: Average heart rate for the first half of your run. (including all data points)
    HR2: Average heart rate for the second half of your run. (including all data points)

    HR Drift: I think this is where people often get tripped up. HR drift is actually the pace to HR ratio of the first half / second half, this is why the app needs your distance data. If you do a drift test on a treadmill, you need to keep the speed the same for the entire hour, if you do the test outdoors, you need to try to keep your HR the same. The difference is on a treadmill, your HR goes up, if you’re outside, your pace goes down.

    A simpler way of saying this is that if you run at 140bpm outside for 1 hour and your total distance in the second half is 5% shorter than your total distance in the first half, then your AeT = 140 bpm.

    The app doesn’t support treadmill tests yet but that’s on the list.

    Based on your screenshot, it looks like your HR went up in the seconds half, and your pace went down, leading to a drift of 5.63%. The problem is that your HR went up so the test is not perfectly accurate, but it’s a safe bet that 138 is pretty close to your AeT.

    uphill-wannabe-lion on #83163

    Thank you so much for your reply – this makes a lot of sense! Just one quick follow up question: when you say “average of all the data points” how many data points are actually there in the Apple Health export you are analyzing? Is it something like one data point per minute?

    In my case I was using a treadmill at a constant pace of 6.5 km/hr with incline 1.0. Unfortunately my Apple Watch is not well calibrated on the treadmill (any idea how to improve the calibration?) so the pace data is wrong and I just want to ignore it. Currently I am just using your app to get the average HR1 and HR2 and manually calculating my HR drift. In my previous example this was 2.17%, so I guess I can try increasing the pace or incline a little bit to get into the 4-5% range.

    Regardless of the missing features, I still love your app and find a lot of value in it, so thank you very much for creating it! ?

Viewing 10 replies - 1 through 10 (of 10 total)
  • You must be logged in to reply to this topic.