[Xperia Z3 Compact General] Infy_AsiX:
That's certainly some impressive power consumption. Was that on stock before N? I've always been stock ROM until now that I'm migrating transitioning to LOS N across two Z3Cs.

I also started trying AccuBattery a few days ago and found it quite useful in a few ways. How it records charging/discharging sessions with mA and mAh data, provides a way to track energy consumption. It's Process CPU usage overlay helped me realise the live wallpaper I had was using 50% of my CPU generally and that DevCheck's overlay is resource intensive. Though AccuB's CPU usage overlay doesn't work on N properly anymore due to SELinux. I found however capacity health estimates are incorrect on my stock ROM, doing some digging and have come up with a basic understanding.

It gets a little complicated so it's confusing and some more testing or other's checking is needed to confirm some specific things. I only had one phone this week so I tested it on my stock ROM with the S8+ battery. The screenshots confirm AccuB recorded close to the expected capacity of the S8+. Note the device was not used in a way to represent a constant drain, the timing is just to demonstrate separation. The screenshots are scattered in content as I was just grabbing the stats not expecting the below 1% occurrence. To understand just look for what's described above each for explanation.

Showing percentage output "50%" at ~3.8V when it should be 70%, 3:35 (pm :p).

https://i.imgur.com/qZwnCDy

At ~3.65V it hit "1%" 4:48pm.

https://i.imgur.com/JQrqwAG

~3.6V below "1%" 6:26pm. Around this voltage holds the most energy, why 0.05V lasted so long from the last screenshot.

https://i.imgur.com/ZQTZU29

~3.45V below "1%" 6:59pm

https://i.imgur.com/8kZaWSm

Last screenshot ~3.25V before cutoff at 3.2V 7:07pm.

https://i.imgur.com/16PysRL

Post session stats screenshots. Note the session started at 99% because I forgot to restore AccuBattery's Titanium data until after booting, meaning some mAh is missing from 100% but as seen AccuB tracked close to the expected capacity of the S8+. In regards to SOT in my last post, there's confirmation my old stock ROM averages 600mA with screen on. Note the screen off mA is high because of playing Google Music on phone speakers the entire cycle. Obviously the %/h is false here due to the missing ~1100mAh below 0%.

AccuB's charging health estimates are constantly incorrect at ~2000mAh. I think this is caused by system battery aging calibration that is set on my old stock ROM. Doesn't matter which whether stock 2014, stock '15 or S8+ '17 battery is used. Dividing a discharge session mAh by percent used gives the same approximate low mAh per percentage. This is why the S8+ battery keeps running at 1% remaining for over another 1000mAh. Doing some searching of the symptom takes me back to the days where third party extended batteries were used, meeting the issue. The main issue is the kernel controls the calibrating capacity percentage fuel gauge chip. For example the Note 4 has a kernel mod fuel gauge chip fix for extended batteries. Another example is the Galaxy S2 could reset it's fuel gauge using root. Here's some old Xperia Arc/Pro fuel chip kernel insight.

I've tried deleting /data/system/batterystats-checkin.bin, batterystats-daily.xml, and batterystats.bin. Removing the battery resets the percentage accordingly but charging and discharging is still incorrect.

Looking at /sys/class/power_supply/bms/batt_aging is "1". With /sys/class/power_supply/bms/device/fcc_new_mah "2313". Or fcc_samples "2380/2156/2268/2268/2366". FCC meaning full charge capacity. This could well be evidence.

I just received a replacement Z3C yesterday to load up LOS N again. I haven't opened it up yet, it's device manufacture tag is 15W04. My nandroid restore has batt_aging "0", fcc_new_mah "0", fcc_samples "0/0/0/0/0/". AccuBattery estimates health near 2600 and dividing mAh by percent usage is approximate. I guess a full cycle is in order to confirm some things. If on AOSP, drivers aren't configured to lower the capacity range, that's less the issue of variability. However the range seems to be hard set to 2600, so the S8+ battery will be running for an extra ~700mAh after 0%.

I found the app CaliBattery is a useful basic way to estimate percentage by voltage. This helps with overcoming stock's aging estimator, though it's notification doesn't update for me on LOS14.1. For example if you received a new official replacement battery but restored a Nandroid backup, you'd have the same battery issues mentioned until enough full cycles are run, recorded and used by the system. On the counter side an old battery on AOSP if it's hard set to 2600 (need test confirmation of this) will turn off before 1%.

One possible workaround is to take voltage readings and calculate percentage using Tasker and write that to system percentage with root. The problem there is efficiency and not updating while screen's off in interest of power. A proper fix requires modifying the relevant fuel gauge configuration in the kernel. I'm not a developer nor have any kernel building experience to do that.

Edit: I stumbled across /sys/module/qpnp_bms/parameters/bms_reset which seems to be a generic kernel setting allowing to reset the percentage. This with Tasker helps with getting the level correct before and after charging. If something like CaliBattery can show approximate level when draining, things seem ok as a workaround. Still needs further testing, and to try on AOSP (the file does exist at least). To be continued...