This is viewable in WCS/NCS/PI, and is interpreted from snmp traps sent by AirOS WLC's. The mib is 'AIRESPACE-WIRELESS-MIB' and it lists the following for reasons. I've included descriptions:
0 : noReason - This is for any other reason that does not fit the codes below.
1 : signal - The RRM documentation describes this as:
Every AP listens for Neighbor Messages on all serviced channels and records the RSSI values at which these messages are heard. This AP signal strength information is the most important metric considered in the DCA calculation of channel energy. RRM Doc
In my environment, this is the most common reason, so to provide an example:
AP currently on channel 6, with a neighbor on channel 1 @ -70 RSSI, a neighbor on channel 11 @ -70 RSSI and another neighbor on channel 6 @ -60 RSSI. This would lead to RRM changing to channel 1 (or 11) provided the channel change will yield at least a 5dB gain in SNR (or more). That's where the 'other' factors come in (like noise, intereference etc.)...to help determine if that channel change is 'worth it'.
2 : noise - excessive noise on the channel
3 : interference - APs report on the percentage of the medium taken up by interfering 802.11 transmissions (this can be from overlapping signals from foreign APs, as well as neighbor AP's.) Note, this does NOT include cleanair detected non-802.11 interference (like a Microwave oven).
4 : load - Channel Utilization. Every AP measures the percentage of total time occupied by transmitting or receiving 802.11 frames
5 : radar - DFS event
6 : deviceAware - EDRRM (event driven RRM)
7 : majorSIAQEvent - cleanair/non-802.11 interference This is for Spectrum Intelligence Air Quality Event