Good call, all three things affect the brightness of the rendered image.
If the ISO was the same for all the images, then the EV number would be sufficient to calculate the compensation. Fortunately, ISO has a linear progression: 200 is one stop brighter than 100, 400 is one more stop, and so on.
The EC effectively changes the aperture-shutterspeed settings used to expose the same light, so the picture with a -1 EC will be darker than one with 0 EC. So, I’d assert consideration for EC is already captured in the EV.
Now, I’m not inclined to change the definition of EV on my information display, I don’t want to spend time explaining things like that to folks who just read Wikipedia. In noodling around with this, I discovered that exiftool calculates a useful value for its Composite group, Light Value. It has the following definition:
LV = 2 * log2(Aperture) - log2(ShutterSpeed) - log2(ISO/100)
I’m a large fan of using established convention, so, I put that into the picture display. Here’s a screenshot:
The information display is at the bottom-left of the picture panel. EV and LV are calculated specifically using the two equations I posted above. Note the LV is different from EV by about 2, which is the number of stops different from ISO 100 to ISO 400
One thing about exiftool author Phil Harvey’s LV is that he anchors ISO to 100. Thing is, there are old cameras still in use with base ISO of 200, and there are high-end cameras out there now with a base ISO of 64. As an absolute measure of something, I think anchoring the number arbitrarily would not be good, but for relative comparison purposes such as brightness between two “adjacent” images, it should work fine, methinks.
So, same drill with LV: pick a reference image, determine its LV, and exposure-compensate each of the other images by an amount of stops necessary that would make the two numbers equal.
By the way, I’m also a fan of @KristijanZic’s TLAR (That Looks About Right) approach…