Draft Class Strength Rating Calculator
ANA›Life Services Authority›National Calculator Authority›Draft Class Strength Rating Calculator
.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }
Draft Class Strength Rating Calculator
Evaluate the overall strength of a draft class by combining top prospect grades, class depth, and positional scarcity into a single 0–100 rating.
Total Prospects in Class
Number of Elite Prospects (Grade 80–100)
Average Grade of Elite Prospects (0–100)
Number of Solid Prospects (Grade 60–79)
Average Grade of Solid Prospects (0–100)
Number of Fringe Prospects (Grade 40–59)
Average Grade of Fringe Prospects (0–100)
Positional Scarcity Bonus (0–10)0 = common positions only, 10 = rare premium positions dominate
Injury / Risk Penalty (0–10)0 = no injury concerns, 10 = widespread injury history
Calculate
function draCalc() { var resultDiv = document.getElementById("dra-result");
// --- Parse inputs --- var N = parseFloat(document.getElementById("dra-num-prospects").value); var eCount = parseFloat(document.getElementById("dra-elite-count").value); var eGrade = parseFloat(document.getElementById("dra-elite-avg-grade").value); var sCount = parseFloat(document.getElementById("dra-solid-count").value); var sGrade = parseFloat(document.getElementById("dra-solid-avg-grade").value); var fCount = parseFloat(document.getElementById("dra-fringe-count").value); var fGrade = parseFloat(document.getElementById("dra-fringe-avg-grade").value); var posBonus = parseFloat(document.getElementById("dra-pos-scarcity").value); var injPenalty = parseFloat(document.getElementById("dra-injury-penalty").value);
// --- Validation --- var errors = []; if (isNaN(N) || N 100) errors.push("Elite average grade must be 0–100."); if (isNaN(sCount) || sCount 100) errors.push("Solid average grade must be 0–100."); if (isNaN(fCount) || fCount 100) errors.push("Fringe average grade must be 0–100."); if (isNaN(posBonus) || posBonus 10) errors.push("Positional scarcity bonus must be 0–10."); if (isNaN(injPenalty) || injPenalty 10) errors.push("Injury penalty must be 0–10.");
var totalTiered = eCount + sCount + fCount; if (totalTiered > N) errors.push("Sum of elite + solid + fringe prospects cannot exceed total prospects.");
if (errors.length > 0) { resultDiv.innerHTML = "" + errors.join("") + ""; return; }
// --- Weights --- // Elite tier: weight 0.50, Solid tier: weight 0.30, Fringe tier: weight 0.10 // Depth score: weight 0.10 (based on tiered coverage vs total class) var W_ELITE = 0.50; var W_SOLID = 0.30; var W_FRINGE = 0.10; var W_DEPTH = 0.10;
// --- Tier Score Components (0–100 each) --- // Elite Score = (eCount / max(1, N) * 100) * (eGrade / 100) // Normalised so that having 10% elite prospects all graded 100 = 100 points var ELITE_NORM = 0.10; // 10% of class being elite = full score var SOLID_NORM = 0.30; // 30% of class being solid = full score var FRINGE_NORM = 0.40; // 40% of class being fringe = full score
var eliteRatio = eCount / N; var solidRatio = sCount / N; var fringeRatio = fCount / N;
// Tier score = min(ratio / norm, 1) * avgGrade var eliteScore = Math.min(eliteRatio / ELITE_NORM, 1.0) * eGrade; var solidScore = Math.min(solidRatio / SOLID_NORM, 1.0) * sGrade; var fringeScore = Math.min(fringeRatio / FRINGE_NORM, 1.0) * fGrade;
// Depth Score: proportion of total class covered by any tier (0–100) var depthScore = Math.min(totalTiered / N, 1.0) * 100;
// --- Raw Weighted Score (0–100) --- var rawScore = (W_ELITE * eliteScore) + (W_SOLID * solidScore) + (W_FRINGE * fringeScore) + (W_DEPTH * depthScore);
// --- Positional Scarcity Bonus: up to +5 points --- var posAdjust = (posBonus / 10) * 5;
// --- Injury Penalty: up to -10 points --- var injAdjust = (injPenalty / 10) * 10;
// --- Final Rating (clamped 0–100) --- var finalRating = Math.min(100, Math.max(0, rawScore + posAdjust - injAdjust));
// --- Letter Grade --- var grade, label; if (finalRating >= 90) { grade = "A+"; label = "Generational Class"; } else if (finalRating >= 80) { grade = "A"; label = "Elite Class"; } else if (finalRating >= 70) { grade = "B+"; label = "Very Strong Class"; } else if (finalRating >= 60) { grade = "B"; label = "Above-Average Class"; } else if (finalRating >= 50) { grade = "C+"; label = "Average Class"; } else if (finalRating >= 40) { grade = "C"; label = "Below-Average Class"; } else if (finalRating >= 30) { grade = "D"; label = "Weak Class"; } else { grade = "F"; label = "Very Weak Class"; }
// --- Output --- resultDiv.innerHTML = "### Draft Class Strength Rating " + "" + "Elite Tier Score" + eliteScore.toFixed(2) + " / 100" + "Solid Tier Score" + solidScore.toFixed(2) + " / 100" + "Fringe Tier Score" + fringeScore.toFixed(2) + " / 100" + "Depth Score" + depthScore.toFixed(2) + " / 100" + "Raw Weighted Score" + rawScore.toFixed(2) + " / 100" + "Positional Scarcity Bonus+" + posAdjust.toFixed(2) + "" + "Injury / Risk Penalty-" + injAdjust.toFixed(2) + "" + "" + "Final Rating" + "" + finalRating.toFixed(1) + " / 100 " + grade + " — " + label + "" + "" + ""; }
#### Formula
Tier Score (each tier) TierScore = min(TierCount / (TierNorm × N), 1) × AvgGrade where TierNorm = 10% (Elite), 30% (Solid), 40% (Fringe)
Depth Score DepthScore = min((EliteCount + SolidCount + FringeCount) / N, 1) × 100
Raw Weighted Score RawScore = 0.50 × EliteScore + 0.30 × SolidScore + 0.10 × FringeScore + 0.10 × DepthScore
Adjustments PosBonus = (PosScarcity / 10) × 5 InjPenalty = (InjuryRisk / 10) × 10
Final Rating FinalRating = clamp(RawScore + PosBonus − InjPenalty, 0, 100)
#### Assumptions & References
More Calculators
- Absenteeism Rate Calculator
- Home Repair vs Replace Decision Calculator
- Homework Time Per Subject Planner
- Study Session Productivity Estimator
- HVAC System Sizing and Efficiency Calculator
- Time-to-Fill Calculator
- Employee Engagement Score Calculator
- NH Contractor Insurance Cost Estimator
- New Jersey Home Improvement Contract Value Threshold Checker
- NH Contractor Bond Amount Calculator
- New Jersey Contractor License Fee Calculator
- New Hampshire Sales Tax Calculator for Construction Materials
Read Next
Homework Time Per Subject Planner ANA › Life Services Authority › National Calculator Authority › Homework Time Per Subject Planner .calc-container { max-width:...
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...