Welcome to ATS STATS β the Wall Street of sports betting. Our NBA hub tracks all 30 franchises like publicly traded stocks, giving bettors the same data-driven edge that institutional investors use in financial markets. Every team gets a daily Market Grade (A, B or C), a DMVI (Daily Market Value Index), and a Confidence Index so you know exactly where smart money is moving before tip-off.
Against-the-spread (ATS) records show how often a team covers the point spread. A team can win outright but lose ATS β and vice versa. Smart bettors focus on ATS records, situational trends, and market sentiment rather than simple win-loss totals.
The Daily Market Value Index (DMVI) measures whether the betting market is under- or over-valuing a team. A positive DMVI means the market undervalues the team β a potential buy signal. Think of it like a stockβs Price-to-Earnings ratio applied to NBA spreads.
All 30 team grades, records and market sentiment are free on this page. Premium Dashboard members get real-time line movement alerts, the full PVI-SOS database, AI-powered daily picks, and access to the AI Pick League.
// ββ READ DATA from PHP snippet (window.ATS_NBA_DATA) ββ // Falls back to today's hardcoded data if PHP snippet not yet active var live = window.ATS_NBA_DATA || { "19":{"grade":"A","record":"53-15","win":0.78,"streak":"8W","streakDir":"W","last7":"7-0","confidence":100,"sentiment":"BULLISH","mktValue":"-270"}, "8": {"grade":"A","record":"48-19","win":0.72,"streak":"1L","streakDir":"L","last7":"3-4","confidence":42,"sentiment":"NEUTRAL","mktValue":"-250"}, "30":{"grade":"A","record":"49-19","win":0.72,"streak":"1W","streakDir":"W","last7":"6-1","confidence":85,"sentiment":"BULLISH","mktValue":"-250"}, "1": {"grade":"A","record":"44-23","win":0.66,"streak":"1W","streakDir":"W","last7":"4-3","confidence":57,"sentiment":"NEUTRAL","mktValue":"-240"}, "3": {"grade":"A","record":"45-25","win":0.64,"streak":"3W","streakDir":"W","last7":"4-3","confidence":57,"sentiment":"NEUTRAL","mktValue":"-230"}, "23":{"grade":"A","record":"42-25","win":0.63,"streak":"5W","streakDir":"W","last7":"6-1","confidence":85,"sentiment":"BULLISH","mktValue":"-220"}, "27":{"grade":"A","record":"41-25","win":0.62,"streak":"1W","streakDir":"W","last7":"4-3","confidence":57,"sentiment":"NEUTRAL","mktValue":"-210"}, "16":{"grade":"A","record":"41-27","win":0.60,"streak":"1L","streakDir":"L","last7":"4-3","confidence":57,"sentiment":"NEUTRAL","mktValue":"-180"}, "17":{"grade":"A","record":"41-27","win":0.60,"streak":"1L","streakDir":"L","last7":"3-4","confidence":42,"sentiment":"NEUTRAL","mktValue":"-180"}, "7": {"grade":"A","record":"41-27","win":0.60,"streak":"1L","streakDir":"L","last7":"4-3","confidence":57,"sentiment":"NEUTRAL","mktValue":"-180"}, "24":{"grade":"B","record":"39-28","win":0.58,"streak":"1L","streakDir":"L","last7":"5-2","confidence":71,"sentiment":"BULLISH","mktValue":"-160"}, "14":{"grade":"B","record":"38-28","win":0.58,"streak":"7W","streakDir":"W","last7":"7-0","confidence":100,"sentiment":"BULLISH","mktValue":"-160"}, "5": {"grade":"B","record":"38-29","win":0.57,"streak":"2W","streakDir":"W","last7":"3-4","confidence":42,"sentiment":"NEUTRAL","mktValue":"-150"}, "13":{"grade":"B","record":"38-30","win":0.56,"streak":"1L","streakDir":"L","last7":"6-1","confidence":85,"sentiment":"BULLISH","mktValue":"-140"}, "11":{"grade":"B","record":"36-31","win":0.54,"streak":"9W","streakDir":"W","last7":"7-0","confidence":100,"sentiment":"BULLISH","mktValue":"-120"}, "4": {"grade":"B","record":"37-31","win":0.54,"streak":"2W","streakDir":"W","last7":"4-3","confidence":57,"sentiment":"NEUTRAL","mktValue":"-120"}, "22":{"grade":"B","record":"34-33","win":0.51,"streak":"1L","streakDir":"L","last7":"5-2","confidence":71,"sentiment":"BULLISH","mktValue":"-110"}, "12":{"grade":"B","record":"34-34","win":0.50,"streak":"1L","streakDir":"L","last7":"4-3","confidence":57,"sentiment":"NEUTRAL","mktValue":"100"}, "21":{"grade":"C","record":"32-35","win":0.48,"streak":"5L","streakDir":"L","last7":"1-6","confidence":14,"sentiment":"BEARISH","mktValue":"110"}, "18":{"grade":"C","record":"32-36","win":0.47,"streak":"1L","streakDir":"L","last7":"3-4","confidence":42,"sentiment":"NEUTRAL","mktValue":"120"}, "10":{"grade":"C","record":"28-39","win":0.42,"streak":"1W","streakDir":"W","last7":"2-5","confidence":28,"sentiment":"BEARISH","mktValue":"130"}, "6": {"grade":"C","record":"27-40","win":0.40,"streak":"2L","streakDir":"L","last7":"3-4","confidence":42,"sentiment":"NEUTRAL","mktValue":"140"}, "28":{"grade":"C","record":"23-43","win":0.35,"streak":"7L","streakDir":"L","last7":"0-7","confidence":0,"sentiment":"BEARISH","mktValue":"150"}, "26":{"grade":"C","record":"23-45","win":0.34,"streak":"1W","streakDir":"W","last7":"2-5","confidence":28,"sentiment":"BEARISH","mktValue":"160"}, "29":{"grade":"C","record":"22-46","win":0.32,"streak":"1L","streakDir":"L","last7":"3-4","confidence":42,"sentiment":"NEUTRAL","mktValue":"170"}, "20":{"grade":"C","record":"20-48","win":0.29,"streak":"3L","streakDir":"L","last7":"2-5","confidence":28,"sentiment":"BEARISH","mktValue":"180"}, "25":{"grade":"C","record":"18-51","win":0.26,"streak":"2W","streakDir":"W","last7":"4-3","confidence":57,"sentiment":"NEUTRAL","mktValue":"190"}, "2": {"grade":"C","record":"17-50","win":0.25,"streak":"3L","streakDir":"L","last7":"2-5","confidence":28,"sentiment":"BEARISH","mktValue":"200"}, "15":{"grade":"C","record":"16-50","win":0.24,"streak":"11L","streakDir":"L","last7":"0-7","confidence":0,"sentiment":"BEARISH","mktValue":"210"}, "9": {"grade":"C","record":"15-53","win":0.22,"streak":"13L","streakDir":"L","last7":"0-7","confidence":0,"sentiment":"BEARISH","mktValue":"220"} };
var curFilter='all', curSort='grade'; var GO={A:0,B:1,C:2};
function gc(g){return g==='A'?'#22c55e':g==='B'?'#c9a84c':'#ef4444';} function sc(s){return s==='BULLISH'?'#22c55e':s==='BEARISH'?'#ef4444':'#f59e0b';} function sbg(s){return s==='BULLISH'?'rgba(34,197,94,.1)':s==='BEARISH'?'rgba(239,68,68,.1)':'rgba(245,158,11,.1)';} function sbd(s){return s==='BULLISH'?'rgba(34,197,94,.25)':s==='BEARISH'?'rgba(239,68,68,.25)':'rgba(245,158,11,.25)';} function cc(c){return c>=71?'#22c55e':c>=43?'#f59e0b':'#ef4444';}
function card(t,d){ var g=d.grade||'C',conf=d.confidence||0,sent=d.sentiment||'NEUTRAL'; var stCol=d.streakDir==='W'?'#22c55e':'#ef4444'; var num=parseInt(d.streak)||0; var hot=(num>=5&&d.streakDir==='W')?'HOT':''; var cold=(num>=5&&d.streakDir==='L')?'COLD':''; var win=d.win?Math.round(d.win*100)+'%':'β'; return ''+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ ''+sent+''+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ ''; }
function render(){ var grid=document.getElementById('ats-grid'); if(!grid)return; var s=(document.getElementById('ats-search')||{}).value||''; s=s.toLowerCase(); var f=TEAMS.filter(function(t){ var d=live[String(t.id)]||{}; if(!t.short.toLowerCase().includes(s)&&!t.abbr.toLowerCase().includes(s))return false; if(curFilter==='all')return true; if(['a','b','c'].includes(curFilter))return(d.grade||'C').toLowerCase()===curFilter; return(d.sentiment||'NEUTRAL').toLowerCase()===curFilter; }); f.sort(function(a,b){ var da=live[String(a.id)]||{},db=live[String(b.id)]||{}; if(curSort==='grade')return(GO[da.grade]??2)-(GO[db.grade]??2)||((db.win||0)-(da.win||0)); if(curSort==='win')return(db.win||0)-(da.win||0); if(curSort==='confidence')return(db.confidence||0)-(da.confidence||0); if(curSort==='streak'){var av=parseInt(da.streak)||0,bv=parseInt(db.streak)||0,am=da.streakDir==='W'?1:-1,bm=db.streakDir==='W'?1:-1;return bv*bm-av*am;} return 0; }); var cnt=document.getElementById('ats-count'); if(cnt)cnt.textContent=f.length+' team'+(f.length!==1?'s':''); grid.innerHTML=f.length===0 ?'
' :f.map(function(t){return card(t,live[String(t.id)]||{});}).join(''); }
function setBtn(active){ var map={all:'all',a:'a',b:'b',c:'c',bullish:'bull',bearish:'bear'}; var key=map[active]||active; ['all','a','b','c','bull','bear'].forEach(function(k){ var b=document.getElementById('ats-btn-'+k); if(!b)return; if(k===key){b.style.background='#c9a84c';b.style.color='#000';b.style.borderColor='#c9a84c';} else{b.style.background='transparent';b.style.color='#7a7870';b.style.borderColor='#2a2d35';} }); } window.atsFilter=function(val){curFilter=val;setBtn(val);render();}; window.atsSortBy=function(val){curSort=val;render();}; window.atsRender=render;
function buildTicker(){ var el=document.getElementById('ats-ticker'); if(!el)return; var items=TEAMS.map(function(t){ var d=live[String(t.id)]||{}; var col=d.sentiment==='BULLISH'?'#22c55e':d.sentiment==='BEARISH'?'#ef4444':'#f59e0b'; var arr=d.sentiment==='BULLISH'?'β²':d.sentiment==='BEARISH'?'βΌ':'β'; return ''+ t.ticker+' '+arr+' '+(d.grade||'?')+' '+(d.record||'β')+''; }).join(''); el.innerHTML=items+items; }
function init(){ var vals=Object.values(live); var bull=document.getElementById('ats-bull');if(bull)bull.textContent=vals.filter(function(d){return d.sentiment==='BULLISH';}).length||'β'; var bear=document.getElementById('ats-bear');if(bear)bear.textContent=vals.filter(function(d){return d.sentiment==='BEARISH';}).length||'β'; var ga=document.getElementById('ats-ga');if(ga)ga.textContent=vals.filter(function(d){return d.grade==='A';}).length||'β'; buildTicker(); render(); var lt=document.getElementById('ats-live-time'); if(lt){ var updated=window.ATS_NBA_UPDATED||'Today'; lt.textContent='Data updated: '+updated; } }
init(); })();