An accurate estimate would first require you to have good estimates of your weight on the day, coefficient of rolling resistance (Crr), coefficient of drag (Cd) and drag area (A). Weight is easy to measure and shouldn't vary by more than 3-4% during the ride (and that much only if you drop something or become dehydrated). You could make your estimate more accurate by modelling a linear (or some other relation) decrease in weight from start to finish value. It is possible to get a good estimate of Crr and CdA using a power meter (and also without a power meter under some conditions) with the Virtual Elevation method. The Crr value would change with pressure so you would need to make sure you pump your tyres to the same value every time. It would also vary with road surface conditions. As a thumb-suck, I reckon it could vary as much as 5% during a ride. The variation would be unpredictable and you wouldn't easily be able to account for it. The CdA value would vary with position on the bike and equipment and kit used. It will also vary with wind direction to some extent. If you could measure wind direction, you'd still be left with the problem of cheaply measuring CdA variation with wind direction). You could eliminate variation due to equipment by riding the same bike and wearing the same kit for each ride. You could measure CdA for each position, but you'd still have the problem of monitoring which position you're in as you ride. I think CdA values could vary by 10% or more. You would then need to have accurate values for speed, elevation change and wind conditions around your bike. Speed can be accurately and consistently measured using a GPS-calibrated wheel sensor. Elevation change could also be fairly accurately measured using a barometric altimeter (a pure GPS altimeter would add extra innacuracy). Wind conditions (particularly direction) around your bike are the biggest source of variance. A differential pressure sensor would give a rough estimate of wind speed, but not direction. You can get weather station data for your ride that will give global wind speed and direction, but will not account for local effects such as environment shielding or local turbulence. There is currently some development being done on a commercial bike wind sensor (that may even work with ANT+) - Google 'Chung-on-stick'/Aerolab. Measuring values eliminating as many sources of variation as possible, I think it might be possible to get accuracy of around +-20% for post-ride analysis and perhaps better for rides done in one position on a calm day. The Strava website estimates power based on speed and weight and there is a plugin for Sporttracks that also estimates power using more parameters. I haven't compared either estimate to actual power values (it's on my to-do list). Real-time power measurement would be a more difficult problem: The iBike Aero 'power meter' measures front wind speed, speed and gradient in real time and is reported to give average values for rides over 20min that are within 15% of conventional power meters. For shorter durations, it's accuracy is, apparently, worse. I feel that these power estimates are OK for rough comparisons and comparing long-term training effect, but they're not much better than using a HR monitor for this purpose and they aren't currently practical for measuring and controlling short intervals which is where the PM is most useful.