Committed
AJ Hairston committed to Merrimack for the 2026 season
January 15, 2026
Bio
Fair Market Value
Stats
2025
- Passer Rating
-
89.2
334th of 404 QBs
- Passing Yards
-
957
147th of 407 QBs
- Passing Touchdowns
-
4
159th of 407 QBs
- Interceptions
-
4
133rd of 407 QBs
- Completion%
-
50%
331st of 404 QBs
- Yards per Attempt
-
4.4
331st of 404 QBs
- Completions
-
107
130th of 407 QBs
- Passing Attempts
-
216
113th of 407 QBs
- Rushing Yards
-
3
314th of 406 QBs
- Rushing Touchdowns
-
0
228th of 406 QBs
Career Stats
| SEASON | SCHOOL |
{
const tt = $el.querySelector('[data-tooltip-box]');
if (tt) {
const tr = tt.getBoundingClientRect();
const pad = 8;
if (tr.right > window.innerWidth - pad) nudge.x = window.innerWidth - pad - tr.right;
if (tr.left < pad) nudge.x = pad - tr.left;
}
});
"
@mouseleave="open = false">
G
Games Played
|
{
const tt = $el.querySelector('[data-tooltip-box]');
if (tt) {
const tr = tt.getBoundingClientRect();
const pad = 8;
if (tr.right > window.innerWidth - pad) nudge.x = window.innerWidth - pad - tr.right;
if (tr.left < pad) nudge.x = pad - tr.left;
}
});
"
@mouseleave="open = false">
COMP%
Completion Percentage
|
{
const tt = $el.querySelector('[data-tooltip-box]');
if (tt) {
const tr = tt.getBoundingClientRect();
const pad = 8;
if (tr.right > window.innerWidth - pad) nudge.x = window.innerWidth - pad - tr.right;
if (tr.left < pad) nudge.x = pad - tr.left;
}
});
"
@mouseleave="open = false">
YDS
Passing Yards
|
{
const tt = $el.querySelector('[data-tooltip-box]');
if (tt) {
const tr = tt.getBoundingClientRect();
const pad = 8;
if (tr.right > window.innerWidth - pad) nudge.x = window.innerWidth - pad - tr.right;
if (tr.left < pad) nudge.x = pad - tr.left;
}
});
"
@mouseleave="open = false">
TD
Passing Touchdowns
|
{
const tt = $el.querySelector('[data-tooltip-box]');
if (tt) {
const tr = tt.getBoundingClientRect();
const pad = 8;
if (tr.right > window.innerWidth - pad) nudge.x = window.innerWidth - pad - tr.right;
if (tr.left < pad) nudge.x = pad - tr.left;
}
});
"
@mouseleave="open = false">
INT
Interceptions Thrown
|
{
const tt = $el.querySelector('[data-tooltip-box]');
if (tt) {
const tr = tt.getBoundingClientRect();
const pad = 8;
if (tr.right > window.innerWidth - pad) nudge.x = window.innerWidth - pad - tr.right;
if (tr.left < pad) nudge.x = pad - tr.left;
}
});
"
@mouseleave="open = false">
RTG
Passer Rating
|
|---|---|---|---|---|---|---|---|
| 2024 |
{
const tt = $el.querySelector('[data-tooltip-box]');
if (tt) {
const tr = tt.getBoundingClientRect();
const pad = 8;
if (tr.right > window.innerWidth - pad) nudge.x = window.innerWidth - pad - tr.right;
if (tr.left < pad) nudge.x = pad - tr.left;
}
});
"
@mouseleave="open = false">
Massachusetts Minutemen
|
4 | 55% | 480 | 5 | 0 | 132.6 |
| 2025 |
{
const tt = $el.querySelector('[data-tooltip-box]');
if (tt) {
const tr = tt.getBoundingClientRect();
const pad = 8;
if (tr.right > window.innerWidth - pad) nudge.x = window.innerWidth - pad - tr.right;
if (tr.left < pad) nudge.x = pad - tr.left;
}
});
"
@mouseleave="open = false">
Massachusetts Minutemen
|
10 | 50% | 957 | 4 | 4 | 89.2 |
| CAREER | 14 | 51% | 1437 | 9 | 4 | 100.1 |