With the rapid increase of wireless LAN devices, there is a demand for communications that are highly efficient even in congested environments containing large numbers of devices. Many transmission rate control techniques have been proposed to make communications efficient, but they are not necessarily effective in environments where wireless frame collisions are common because most of these existing techniques do not take collisions into account and because wireless LAN devices adopting the current IEEE 802.11 standard have no mechanism for determining whether communication failures are caused by collisions. To address the issue, we propose a technique that detects collisions, classifies them into types based on when they occur (how frames overlap in time), estimates the cause of failed transmissions with this statistical data, and finally controls transmission rate according to the estimated cause of failure. Finally, we show how to incorporate our proposal into existing transmission rate control techniques to choose appropriate transmission rate and make communications more efficient - even in environments where collisions are common - along with simulation results that demonstrate the effectiveness of this approach.