kchusker_chris
All-American
There have been a number of questions regarding "where will we be ranked" if we happen to sign all 3 recruits. A lot of speculation has put us anywhere from the top 10 (me when I compared us to Florida St) to just inside the top 25. Well, here you have it. #13...right in front of Oregon.
Here are the totals, as well as the script I used to generate the numbers at the bottom in case someone else wants to use it. Do not use it for evil. You'll need to be somewhat familiar with programming. Don't mock my coding skills if you can do better, I only spent about 15 minutes on this. Please don't flood this post with requests for me to run a bunch of variations. Enjoy
Current: 1146
With Only:
Owa: 1434
Carnes: 1284
Cooper: 1284
With Carnes & Owa: 1568
WITH ALL 3: 1700
Here are the totals, as well as the script I used to generate the numbers at the bottom in case someone else wants to use it. Do not use it for evil. You'll need to be somewhat familiar with programming. Don't mock my coding skills if you can do better, I only spent about 15 minutes on this. Please don't flood this post with requests for me to run a bunch of variations. Enjoy

Current: 1146
With Only:
Owa: 1434
Carnes: 1284
Cooper: 1284
With Carnes & Owa: 1568
WITH ALL 3: 1700
Code:
DECLARE @tmp_recruit TABLE
( id int IDENTITY(1,1),
name varchar(250),
star_count decimal(3,2),
rivals_ranking smallint,
position_ranking smallint,
position varchar(5),
h smallint,
l smallint,
rivals_ranking_sum smallint,
position_ranking_sum smallint,
n smallint)
DECLARE @tmp_position_upper_limit TABLE
( position varchar(5),
upper_limit smallint)
DECLARE @h decimal(18,4)
DECLARE @l decimal(18,4)
DECLARE @n decimal(18,4)
DECLARE @m decimal(18,4)
DECLARE @avg_star decimal(3,2)
INSERT INTO @tmp_recruit
( name,star_count,rivals_ranking,position_ranking,position)
SELECT name,star_count,rivals_ranking,position_ranking,position
FROM recruit WITH(NOLOCK)
--WHERE name <> 'Owamagbe Odighizuwa'
-- AND name <> 'Brian Carnes'
-- AND name <> 'Corey Cooper'
ORDER BY star_count DESC
INSERT INTO @tmp_position_upper_limit
SELECT 'DQB',25 UNION
SELECT 'PQB',25 UNION
SELECT 'RB',35 UNION
SELECT 'FB',15 UNION
SELECT 'WR',50 UNION
SELECT 'TE',20 UNION
SELECT 'OT',40 UNION
SELECT 'OG',30 UNION
SELECT 'OC',10 UNION
SELECT 'DT',50 UNION
SELECT 'WDE',20 UNION
SELECT 'SDE',30 UNION
SELECT 'ILB', 35 UNION
SELECT 'OLB', 35 UNION
SELECT 'CB',40 UNION
SELECT 'S',30 UNION
SELECT 'A',25 UNION
SELECT 'K',5
-- DELETE ANY RECRUITS OVER 20
DELETE FROM @tmp_recruit WHERE id > 20
UPDATE @tmp_recruit
SET h = CASE WHEN star_count = 5 THEN 250
WHEN star_count = 4 THEN 140
WHEN star_count = 3 THEN 75
WHEN star_count = 2 THEN 20
ELSE 10
END
UPDATE @tmp_recruit
SET l = CASE WHEN star_count = 5 THEN 18
WHEN star_count = 4 THEN 12
WHEN star_count = 3 THEN 8
WHEN star_count = 2 THEN 3
ELSE 1
END
UPDATE @tmp_recruit
SET rivals_ranking_sum = CASE WHEN rivals_ranking IS NOT NULL THEN 10 - (rivals_ranking / 10)
ELSE 0
END
UPDATE @tmp_recruit SET rivals_ranking_sum = 0 WHERE rivals_ranking_sum < 0
UPDATE tmp_r
SET position_ranking_sum = CASE WHEN position_ranking IS NOT NULL THEN
CASE WHEN position_ranking = 1 THEN 24
WHEN position_ranking BETWEEN 2 AND 5 THEN 18
WHEN position_ranking BETWEEN 6 AND tmp_p.upper_limit THEN 8
ELSE 0
END
ELSE 0
END
FROM @tmp_recruit tmp_r
INNER JOIN @tmp_position_upper_limit tmp_p ON tmp_p.position = tmp_r.position
UPDATE @tmp_recruit
SET n = rivals_ranking_sum + position_ranking_sum
SELECT @h = SUM(h) FROM @tmp_recruit
SELECT @l = SUM(l) FROM @tmp_recruit
SELECT @n = SUM(n) FROM @tmp_recruit
SET @m = 50
SELECT @avg_star = avg(star_count) FROM @tmp_recruit
IF @avg_star > 3
BEGIN
SET @n = @n + (100 * (@avg_star - 3))
END
SELECT @h * (@n / (@n + @m)) + @l * (@m / (@n + @m))