In the process of communication between reader and tag in Radio Frequency Identification systems (RFID), collisions occur when the reader simultaneously receives reply messages from multiple tags. Reader request frequency and transmitted overhead both increase sharply as the number of collisions increases, thus, the overall efficiency of the system decreases. In this study, we proposed an retentive backtracking bit competed anti-collision algorithm (RBBCA) to effectively reduce the number of collisions when a tag responds to the reader. In the RBBCA algorithm, the reader identifies the competitive information of the process, which it records in the stack. If there are multiple competing tags, once a tag is successfully identified, the competitive information (i.e. UID of the previous competition failure tag and the position of next competitive bit) can be captured from the stack, and identification proceeds from the previous competition stop point, thus, there is no need to re-inquire tag Unique Identification (UID). Data transmission volume can be thus reduced. The efficiency of the proposed anti-collision algorithm and other algorithms were evaluated through computer simulation. The results showed that the collision number, request number, reader calculation amount were effectively improved.