I have received a couple of PM's as of late with regards to this subject and I have read a few threads where this has been discussed so I figured it would be good to promulgate a little information on the topic. In all honesty, the worst part of looking for a Ranger Contract in OSUT is the anxiety of wondering whether you will get the opportunity or not. Some solid information definitely alleviates this anxiety. Obtaining a Ranger Contract at OSUT is not that monumental of a task IF you have prepared yourself beforehand.
The Army is still all about numbers. I talked with the Ranger Liaisons before I shipped and they told me that they take 150 11x recruits a month from OSUT who did not have the opt 40 in their contract.
Each company at OSUT ranges from 150-220 recruits, with an average size of around 190-200. My class was 163.
There are generally about 3 OSUT companies graduating each week, with about 10-14 companies each month. This means on average you will see around 10-12 Ranger contracts issued to each company, around weeks 8-10, coming up to a rough total of about 150 11x recruits a month.
You now know beforehand that there will be only about 12 of you in your OSUT company that will be offered Ranger Contracts.
This might seem almost impossible, getting one of those 12 slots in a company of 200. I know before I shipped that I was worried if I would stand out of the crowd and be recognized. At the end of the day, everything is still a numbers game. Usually one platoon in your company is full of nasty girls (National Guard) who are ineligible for Ranger Contracts. That cuts out about 1/4th of the competition right off the bat.
Another big eliminator is the GT score of 107. You will be surprised at how many people are held back because of this. You need to make sure your GT is above 107, take the ASVAB again if you have to, because there is no waiver for this. If your recruiter tells you it isn't a big deal, tell him to shove it and go take the ASVAB again. I saw a lot of good troops whose dreams were shattered because their GT wasn't high enough. The GT score eliminates another huge chunk of your Company. Get above a 107 and you will be fine, anything below and you can throw your dream out the window.
PT is the last factor, and is huge. Before I shipped I had the asinine assumption that everyone was just as motivated and dedicated as I was, doing all sorts of PT on their own before they shipped. I got to OSUT and thought, "Lord help us if this is what America is relying on for her future defense." To get a Ranger contract you need a minimum of 80% in each category on the PT test. The PT tests that are most important are 3 and 4 because right after is when they start issuing the RASP contracts. If you cannot come up with 80% in each category by that time you are sunk. If you are doing PT on your own before you ship, and are actually shooting for the goal of a 300 PT score before you ship, you will be fine. My worst PT score at basic was on APFT 1. I got a 276. I would never have been able to get a contract if I didn't do PT before I shipped.
When all of these factors are combined, the pool they have to draw from is much, much smaller. In my company, there were only 17 of us who met all of these requirements. 11 of us were recommended by our DS for contracts. Let your Senior Drill know right off the bat that you want that contract. I bugged mine half to death, but he got me one.
In summary, if you have the desire and the work ethic before you ship off to OSUT, you should be able to get your contract. The determining factor I think is what you do even before you leave. Your ASVAB is before you ship, and you should be PT'ing like a madman before you ever leave. With that in mind, you will be able to focus much more on your training instead of worrying about something that is out of your hands. If you have already done everything you are capable of, the rest should fall into place. It only works like this though if you have done your part. There is no way out of all the work, no easy way to get one. Give it your all, and you should do just fine.