A user on reddit extracted some game data files and uploaded it: https://pastebin.com/BtmfvQ2A
I tried to get a better understanding of the APS in terms of : Setup-time(e.g. when you set a unit to hold, they get into stance already and shoot instantly), how much time the actual shooting needs, what's the cooldown afterwards etc.
(btw, animation cancelling seems to be possible)

Now: the APS numbers displayed in-game seem to be not easily understood by the data or maybe are even wrong. I can't say for sure yet.

The relevant columns seem to be "TimeAction","TimePreAction" and "TimeLoad"/"TimeUnload" (to get in/out of stance).

A reddit thread with the relevant Details : https://www.reddit.com/r/TheyAreBillions/comments/7rlmjv/attack_speed_aps_how_is_it_composed_in_the_data/


If someone gets a better understanding (and maybe even can show/prove how it works by modding the files and demonstating it), it would be greatly appreciated.