Analytics Strategy

How to Use AI Powered Sports Predictions?

How to Use AI Powered Sports Predictions?

I analyze games for a living and build AI models that turn messy sports data into clear probabilities. This article shows how I structure data, craft features, and test models so predictions stay honest and useful. We’ll keep it practical—tools, examples, and repeatable steps—so you can apply the same approach with confidence.

 

Key Takeaways

  • Clean data plus real context wins: track injuries, rest and travel, weather, and matchup fit; communicate probabilities, not “locks”
  • Validate on time (season-by-season), use Brier score, log loss, and reliability curves for calibration… then adjust
  • Turn edges into action by comparing model odds to market implied odds; keep unit size small (0.5–1%), track CLV and results
  • Monitor drift and leakage, retrain on rolling windows, document assumptions; avoid overfitting & keep your pipeline reproducible
  • Our team’s expertise: ATSwins.ai is an AI-powered sports prediction platform offering data-driven picks, player props, betting splits, and profit tracking across NFL, NBA, MLB, NHL, and NCAA. Free and paid plans give bettors insights and guides to make smarter, more informed decisions.

Building Trustworthy AI for Sports Predictions That Bettors Can Use

Scope and context

What “AI-powered sports prediction” means

AI-powered sports prediction uses structured and semi-structured data to estimate probabilities for future outcomes—final scores, moneyline, spreads, totals, player props, and live in-game states. Models learn patterns from historical games and player behavior, then produce calibrated probabilities, not certainties.

At ATSwins.ai, the practical angle is simple: bettors want clear probabilities for NFL, NBA, MLB, NHL, and NCAA outcomes, plus actionable player props and betting splits; then simple tools for tracking profitability. AI can help with that; if we anchor it to disciplined data pipelines and transparent evaluation.

What it can do today

  • Produce consistent pregame win probabilities and spread/total probabilities for standard markets.
  • Rank matchup edges like shooting efficiency vs defense, travel fatigue, rest days, and home-court or home-ice advantage.
  • Identify mispriced props by comparing player usage trends and matchup pace to market lines.
  • Offer live recalibration (if you have low-latency feeds) for second-half or in-game markets.
  • Track and explain what’s driving predictions with feature importance, partial dependence, or SHAP-style attributions (when supported).

What it can’t reliably do (yet)

  • Perfectly forecast injuries, late scratches, load management or minutes volatility. We can only model risk bands and scenario trees.
  • Resolve data latency in all leagues equally—some feeds lag. Earlier search returned no direct findings, so we lean on established practices and public datasets, noting gaps in real-time coverage.
  • Predict rare, chaotic events: fluke weather shifts, ejections, sudden role changes, or unforeseen tactical experiments. We can only quantify uncertainty.
  • Guarantee profit on every bet; the edge is probabilistic, and markets update fast.

Constraints you must design around

  • Data latency: Some injury reports or starting lineups arrive late. Build data freshness checks and fallback logic.
  • Lineup volatility: Especially in NBA and college sports. Handle “if-then” scenarios and limit stakes when uncertainty spikes.
  • Small samples: For rookies, backups, and prospects, use shrinkage and priors; avoid overreacting.
  • Data leakage: Don’t let future info slip into training examples (e.g., using full-season ratings to predict early-season games).
  • Regulatory and ethical limits: Respect data terms of use and privacy rules. No scraping behind paywalls without permission.
  • Computational budgets: Deep models are tempting; simpler, well-calibrated models often perform just as well and are easier to ship.

Data pipeline and features

Step 1: define your prediction targets

  • Moneyline win probability
  • Against-the-spread cover probability
  • Over/under probability for totals
  • Player prop outcome probabilities (e.g., points over 22.5)
  • Secondary markets like first quarter, first five innings, or team totals

Decide which targets matter most to your users. For ATSwins, we prioritize picks, props, and trackable profitability metrics—but the same backbone supports all.

Step 2: source structured and semi-structured data

  • Core box scores and play-by-play: Basketball-Reference (NBA), Pro-Football-Reference (NFL), Baseball-Reference (MLB), Hockey-Reference (NHL). College equivalents for NCAA when available.
  • Tracking and event data: Public soccer example is  (great for methods), but most US leagues have restricted tracking data. When unavailable, build proxies from play-by-play.
  • Schedules and travel: Team schedules, distances between venues, rest days, back-to-back counts, time-zone changes.
  • Weather: Stadium weather for MLB and NFL outdoor games (temperature, wind, precipitation). For domes, weather is usually irrelevant; mark indoor/outdoor.
  • Betting markets: Closing lines, opening lines, consensus lines, and line movement (only where terms allow). For ATSwins, we align with public market snapshots and betting splits when available.
  • Injury, lineup, and rotations: Official team reports, beat writer updates, and depth charts. Treat as semi-structured text and codify rules for “questionable” vs “probable.”

Keep a schema registry for each league; record fields, data types, and update cadence.

Step 3: build extract, load, and transform (ELT) flows

  • Landing zone: Store raw files with timestamped directories.
  • Validation: Schema checks, null checks, and deduplication. Save pass/fail logs.
  • Normalization: Convert data into tidy tables—games, teams, players, events, odds, injuries, weather.
  • Versioning: Keep snapshots for daily or weekly states to reproduce past predictions later.

A simple daily batch can run on Cron or a managed scheduler. When you move to streaming or near-real-time, insert a message queue and small consumer workers.

Step 4: feature engineering that travels across sports

  • Team form

- Rolling offensive and defensive ratings (pace-adjusted where relevant). - Last N games splits (3, 5, 10) with exponential decay. - Opponent-adjusted efficiency—who you played matters.

  • Rest and travel

- Back-to-backs, third game in four nights, days since last game. - Distance traveled and time-zone shift.

  • Matchup edges

- NBA: Rim vs perimeter prevention, turnover pressure, defensive rebounding. - NFL: Run block vs run defense grades proxies, pressure rate vs O-line pass-block stability, pace and neutral pass rate. - MLB: Batter handedness vs pitcher handedness splits, pitch mix vs batter whiff zones, bullpen freshness. - NHL: 5v5 expected goals proxy, special teams strength, goaltender form. - NCAA: Variance of outcomes is higher; dampen weights and include coach/tempo effects.

  • Situational features

- Home/away with travel distance, rest, altitude, indoor/outdoor, weather. - Line movement deltas versus opener, morning-of, and close. - Injury factors: star absence, minutes redistribution proxies.

  • Prop-centric features

- Usage rate, shot profile, route participation (NFL), expected ice time, batting order position, expected minutes with/without key teammates. - Opponent scheme: pick-and-roll frequency allowed, zone vs man (when available), shift tendencies in MLB.

Log each feature’s definition and update windows so later you can audit and fix drifts.

Step 5: ethical collection, reproducible notebooks, and references

  • Collect data per the data source’s terms. Where scraping is prohibited, don’t.
  • Keep reproducible notebooks that explain each step (ingest, clean, feature engineering) with the exact dataset versions used.
  • Example datasets

- Kaggle sports datasets: great for prototyping methods offline. - Public soccer event data:  for exploring event models and feature crafting ideas.

  • Maintain a changelog: When you alter features or add new sources, record the change and trigger revalidation.

Step 6: lightweight templates you can reuse

  • A daily data pull template with schema checks and automated email on failure.
  • A feature store script that materializes rolling features for each league by 6am local.
  • A backtest template per season/year with consistent metrics output.
  • A prediction export format with probabilities, confidence intervals, and human notes.

Modeling and evaluation

Start with transparent baselines

  • Elo-style ratings

- Update team strength after each game based on margin and opponent. - Simple, robust, and interpretable. Works across sports if tuned per league.

  • Logistic regression on engineered features

- Add core features like home field, rest, injuries, travel, recent form. - Great for sanity checks and directionality: you’ll see if your features make sense.

Implement early baselines in  and retain them forever as “control” models to guard against fancy models drifting.

Move to tree ensembles and calibrated neural nets

  • Gradient-boosted trees (e.g., XGBoost or LightGBM equivalents)

- Handle nonlinearities and interactions out of the box. - Usually excellent for tabular sports data.

  • Random forests

- Strong baseline for variance reduction.

  • Neural nets (when justified)

- Feed-forward nets with careful regularization for tabular data. - Sequence models for play-by-play or possession streams, where available. - Calibrate outputs post hoc.

Key: Favor models that are stable under backtesting and update quickly for daily deployment. Complex models that drift or require constant babysitting are costly.

Probability calibration matters

  • Apply Platt scaling or isotonic regression to calibrate predicted probabilities.
  • Check calibration curves by decile—are 60% predictions winning ~60% of the time across seasons?
  • Monitor calibration separately for favorites and underdogs, home and away, and by league.

Time-aware validation and backtesting

  • Time-series cross-validation

- Rolling windows that never train on the future. Example: train through Week 8, test Week 9; then train through Week 9, test Week 10.

  • Backtest by season

- Evaluate 3–5 years out-of-sample. Track stability across rule changes or COVID-era distortions.

  • Metrics you’ll actually use

- Brier score for probability quality. - Log loss for sharpness and penalizing overconfidence. - AUC and accuracy are secondary; they ignore price and calibration. - For betting contexts: expected value under market prices, ROI by edge deciles; record vigorish-adjusted returns.

Uncertainty bands and scenario planning

  • Build prediction intervals using:

- Quantile regression or gradient-boosted quantile models. - Bootstrapped ensembles (bagging seeds). - Distributional outputs (e.g., predicting total points as a distribution, not just mean).

  • Scenario trees for lineup uncertainty

- NBA example: If Player A sits, minutes + usage shift to B and C; recompute prop distributions. - Limit stake size when uncertainty intervals widen past thresholds.

A simple model selection workflow

  • Step 1: Baseline logistic regression with 5–15 features; compute Brier and log loss by season.
  • Step 2: Gradient-boosted trees with the same features; compare.
  • Step 3: Add interaction features; compare again.
  • Step 4: Apply calibration; verify lift in Brier and calibration curves.
  • Step 5: Lock the champion model, and keep baselines as a canary.

A quick look at model tradeoffs

| Model type | Pros | Cons | Good for | |----------------------|----------------------------------------|-----------------------------------------|----------------------------------| | Elo-style | Simple, fast, interpretable | Limited feature expressiveness | Team-level win probs | | Logistic regression | Transparent, easy to calibrate | Struggles with complex interactions | Baselines, sanity checks | | Random forest | Robust, handles nonlinearity | Less compact, slower to update | General tabular, quick improvements | | Gradient boosting | Often best for tabular data | Sensitive to tuning; risk of overfit | Production-grade league models | | Neural nets | Flexible, can model sequences | Needs more data, harder to explain | Play-by-play, micro-states, props |

Deployment and monitoring

Batch vs streaming scoring

  • Batch (most common)

- Nightly run computes probabilities for tomorrow’s games and props. - Pros: simpler ops, fewer moving parts, easier to reproduce. - Cons: less reactive to last-minute injuries or line moves.

  • Streaming or near-real-time

- Event-driven updates when injuries, lineups, or odds change. - Pros: timely, better for live props and late line value. - Cons: more complex infrastructure, strict latency budgets.

A balanced approach: batch for most predictions, with a small streaming path for injury or lineup shocks within a set window.

Feature stores and model registries

  • Feature store

- Centralize rolling features (team form, rest, travel, matchup) so batch and streaming jobs use the same logic. - Version features; add feature importance summaries to metadata.

  • Model registry

- Keep model versions with training data ranges, parameters, and calibration artifacts. - Record performance by league and season; retain canary baselines.

Drift detection and data leakage checks

  • Drift

- Monitor input distributions (e.g., pace, scoring rates), output distributions (prediction means), and calibration slopes. - Season transitions: reset or re-weight; check for off-season rule changes.

  • Leakage

- Validate that features are available at prediction time. No end-of-season stats in Week 2 predictions. - Unit tests for feature creation timestamps and joins.

Retraining cadence

  • Weekly by default for major leagues; faster during playoffs when rotations change.
  • Sliding window retraining (e.g., last 2–3 seasons) for leagues that evolve quickly.
  • Recalibrate probabilities after major injuries or roster shifts.

Alerting and dashboards

  • Set alerts when:

- Calibration error exceeds threshold for favorites or underdogs. - Drift exceeds tolerance in key features. - Data pipelines fail or schema mismatch happens.

  • Dashboards

- League-level Brier and log loss over time. - Profit tracking by market (moneyline, spread, total, props) and by edge decile. - Prediction explanation snippets for top plays.

Shadow tests and A/B style rollouts

  • Shadow deploy new models alongside current production.
  • Compare calibration, ROI, and stability on the same days and markets.
  • Only promote when new models outperform for a statistically meaningful window.
  • Keep a rollback switch; never deprecate your baselines fully.

Document assumptions

  • For each league, write down:

- How rest and travel are computed. - Which injury signals you trust; which are too noisy. - Calibration method and thresholds for acceptable error. - Any manual overrides permitted (e.g., breaking news with no structured data yet).

Turning predictions into picks, props, and betting splits

Converting probabilities into edges

  • For each event, match your probability to market implied probability after vigorish.
  • Edge = your probability − implied probability.
  • Size confidence by edge, but cap stakes on high-uncertainty games (big injuries, volatile teams).
  • For props, derive distributions (not just means) to determine over/under probabilities.

Player prop workflow that scales

  • Precompute player baselines (usage, minutes/participation, rates).
  • Adjust for matchup and pace.
  • Apply scenario factors for injuries and rotations.
  • Generate distribution (e.g., points, rebounds, shots on goal) and output over/under probabilities for posted lines.
  • Monitor props by hit rate and calibration, not just ROI, so you catch variance early.

Betting splits and market signals

  • Use betting splits to gauge where public vs sharp money may be. Treat as signal, not truth.
  • When your model disagrees with heavy consensus, downgrade or at least flag for review.
  • Track line movement relative to your probabilities; late steam can be a warning.

Profit tracking that stays honest

  • Auto-record every pick with timestamp, line, and book (or consensus line).
  • Use closing line value as a long-term sanity check; are you beating the close on average?
  • Segment performance by sport, market, edge decile, and time. Post archives to maintain trust.

Practical templates for analysts

Daily routine checklist

  • Pull new data; validate schemas.
  • Recompute features for today’s slate; run models.
  • Calibrate probabilities; export predictions.
  • Compare to market lines, compute edges, and flag top candidates.
  • Publish picks and props with notes on uncertainty.
  • Update dashboards and logs.

Feature template for rest and travel

  • Rest days: dayssincelast_game capped at 7; create buckets: 0, 1, 2–3, 4+.
  • Back-to-back: binary plus a “thirdinfour” flag.
  • Travel distance: great-circle miles between venues; bucket into short/medium/long.
  • Time-zone shift: difference in hours; adjust for home/away.
  • League-specific effect sizes differ; estimate weights via regression.

Injury and lineup ingestion template

  • Parse official reports at set times (morning, afternoon, pregame).
  • Map statuses: out, doubtful, questionable, probable.
  • For NBA and NHL, link to rotation projections; for NFL, adjust route and snap share expectations.
  • Set uncertainty flags; widen intervals when uncertain starters exist.

Probability calibration template

  • Fit isotonic regression on out-of-sample predictions from last X weeks.
  • Re-score today’s predictions with the calibration function.
  • Store calibration curves by league and by favorite/underdog group; alert if slope drifts.

Responsible use and communication

Speak in probabilities, not locks

  • Present moneyline, spread, and total probabilities with clear intervals.
  • Avoid 100% language—even heavy favorites lose. If you say “80%,” your long-run hit rate should look like 80%.
  • For props, show expected distribution percentiles when possible.

Avoid overfitting

  • Don’t cram hundreds of correlated features just to chase backtest gains.
  • Keep a clean separation between training and testing seasons.
  • Rotate in new features slowly and monitor live performance before scaling.

Reproducibility as a first-class feature

  • Version all data, features, code, and model artifacts.
  • Keep an archive of daily predictions; you should be able to re-run any day.
  • Document the model lineage so analysts and bettors can trust the process.

Ethics and data use

  • Use public data responsibly and credit sources.
  • Respect content owners’ policies; if a dataset forbids commercial reuse, don’t ship it.
  • Be cautious with player privacy; stick to professional, on-field data.

Education and ongoing learning

  • Explore applied talks and papers from the  to broaden methods and domain context.
  • Study open resources for model calibration and backtesting best practices.
  • Use example code and documentation from  for pipelines, calibration, and metrics.

Example: end-to-end flow for an NBA slate

Step-by-step

  • Morning (T-12h)

- Ingest schedules, betting lines snapshot, overnight injury reports. - Feature build: team form, rest, travel distance, altitude if relevant, pace, opponent profile, and expected rotations using prior games. - Baseline predictions via logistic regression and Elo-like team ratings.

  • Late morning (T-8h)

- Tree ensemble run with calibrated probabilities. - Generate ATS, moneyline, and total probabilities. Compute edges vs current lines. - Output candidates; tag ones that are edge > threshold and uncertainty < cap.

  • Afternoon (T-4h)

- Injuries and starting lineup rumors heat up. Rerun with scenario branches: - If Star A out: re-allocate minutes to B and C; adjust pace and usage; recompute team rating. - Produce variant picks with slightly wider intervals.

  • Pre-game (T-1h)

- Confirm lineups. Final re-score with updated features. - Publish final picks and props with a concise note on drivers (e.g., “rebounding edge, pace up, opponent gives up high rim volume”).

  • Post-game

- Record outcomes and closing lines. - Update logs: per-market ROI, calibration curves, CLV. Flag anomalies. - Add a quick analyst note if a unique event drove the variance (e.g., foul trouble or injury not reported).

Player props example (NFL)

  • Build player baselines for routes per dropback, targets per route, and yards after catch.
  • Adjust for opponent pressure rate, coverage tendencies, and game script probabilities.
  • Simulate distribution of team pass attempts (based on spread and total).
  • Derive yards and receptions distributions for the player.
  • Price over/under vs posted prop. Show 55–60% bands with caution if variance is high.

Handling sport-specific quirks

NFL

  • Weekly cadence simplifies rest, but injuries are huge. Use Friday practice statuses and inactives.
  • Weather matters more: wind and precipitation, especially for totals and kicking props.
  • Game scripts drive volume; build neutral-script rates and then simulate script branches.

NBA

  • Lineup volatility is the main risk: late scratches, minute caps, back-to-back management.
  • Pace and shot profile mismatches create edges for totals and player scoring props.
  • Keep fresh rotation priors; anchor new roles with shrinkage.

MLB

  • Pitcher quality and pitch mix are critical; bullpen freshness for later innings.
  • Weather and park factors shape totals (wind at Wrigley is the classic case).
  • Platoon splits and batting order position are central to player props.

NHL

  • Goaltender confirmation swings win probabilities and totals.
  • Special teams (PP/PK) and 5v5 expected goals proxies help.
  • Back-to-backs with travel affect goalie starts and team legs.

NCAA

  • Data quality and roster turnover vary. Use heavy shrinkage and coach-tempo priors.
  • Blowouts and rotational randomness increase variance; reflect in wider intervals.

Simple checks that save you from headaches

  • Sanity checks on features

- Home advantage positive on average? Rest helps? If not, something’s off.

  • League transitions

- Reset or re-tune models at season boundaries. Preseason and early season should not dominate weights.

  • Market compares

- If your model systematically fights the close and loses CLV, recalibrate or rethink features.

  • Balance transparency with IP

- Show drivers (e.g., “travel fatigue and defensive glass edge”), not proprietary weights.

How ATSwins fits into this approach

  • Data-driven picks

- We translate probabilities into clear picks with edges quantified against market lines. Users see confidence tiers and short context notes.

  • Player props

- Props derive from player usage and matchup distributions, not just averages; users can filter by sport, date, or edge band.

  • Betting splits

- We display market splits as an additional signal; analysts weigh splits with model disagreement indicators.

  • Profit tracking

- Automated logs and dashboards show ROI by sport and market, edge deciles, and CLV—so users can measure performance over time.

  • Plans for different users

- Free users get a view of core picks and insights; paid plans unlock more props, advanced filters, and historical tracking to make smarter, more informed decisions.

Putting it all together: a brief implementation sketch

Minimum viable system (MVS)

  • Nightly batch: ingest schedules, box scores, injuries, and market lines.
  • Feature set: team form, rest, travel, basic matchup metrics, and line movement deltas.
  • Models: Elo + logistic regression; then a gradient-boosted tree with isotonic calibration.
  • Outputs: moneyline, spread, total probabilities; top props by edge.
  • Evaluation: Brier, log loss, and ROI by edge deciles over last two seasons.

Production-ready upgrades

  • Feature store for shared batch/stream features.
  • Streaming updates for injury confirmations and late line moves.
  • Shadow deploy new models with weekly promotion checks.
  • Alerting on calibration drift and pipeline failures.
  • Clear documentation and model cards per league.

Additional resources worth reading

  • Methods and curated examples in  for modeling, calibration, and pipelines.
  • Event data and modeling examples via  for soccer; helpful for thinking about event features.
  • Talks and proceedings at the  for both technical methods and practical team-side insights.

A closing checklist for responsible AI predictions

  • Communicate probabilities and uncertainty; avoid overconfidence.
  • Respect data sources and terms; keep your work reproducible.
  • Use backtesting that mirrors real usage: seasonal splits, time-aware folds.
  • Monitor calibration all season; recalibrate often.
  • Show users what drives a pick—concise, honest context is more valuable than a black box.
  • Keep baseline models alive as canaries; never stop measuring against them.
  • Track profit and CLV transparently; that’s how trust is earned over time.

Conclusion

AI sports predictions pay off when you blend clean data, context & calibrated odds—not hot takes. Key takeaways: engineer features that mirror tactics, validate on time, and monitor drift, then communicate probabilities, not locks. Ready to act? Explore ATSwins, an AI-powered sports prediction platform offering data-driven picks, player props, betting splits, and profit tracking across NFL, NBA, MLB, NHL, and NCAA; free and paid plans give bettors insights and guides to make smarter, informed decisions.

Frequently Asked Questions (FAQs)

What is AI-powered sports prediction, and how does it actually help me make smarter picks?

AI-powered sports prediction uses historical data, current context, and machine learning to estimate win probabilities—not locks. It looks at things like team form, player matchups, travel, injuries, even pace and weather for some sports. You turn those probabilities into smarter picks by:

  • Comparing model odds vs the sportsbook line
  • Betting only when there’s a clear edge
  • Sticking to a bankroll plan so variance doesn’t wreck you

 

It’s not magic—just a disciplined way to find value and avoid gut-driven mistakes.

Which data matters most for AI-powered sports prediction when I’m trying to make smarter picks?

Start with what moves the needle most:

  • Team strength over time (ratings, schedule-adjusted)
  • Player availability & impact (injuries, minutes restrictions)
  • Matchup fit (styles, pace, home/away splits)
  • Rest days, travel, back-to-backs
  • Market signals (closing line movement, but don’t chase)
  • Context: weather for MLB/NFL, rink effects for NHL, altitude for NBA/NCAA

 

If you’re short on time, prioritize player news and rest/travel. Those swing numbers fast, and they’re often mispriced for a bit…

How should I use probabilities from AI-powered sports prediction to manage risk and make smarter picks?

Treat probabilities like prices. Practical steps:

  • Only wager when your AI-powered sports prediction shows a meaningful edge (for example, your model says 58% when the implied odds say 52%)
  • Bet small, consistent units (0.5%–1% per play). Scale slightly with edge, but avoid big leaps
  • Track results by closing line value (CLV) and profit. If CLV’s positive, your picks are generally sound—even through rough patches
  • Diversify across leagues & bet types you understand. Avoid correlated exposure unless intentional
  • Recalibrate if your probabilities are overconfident; Brier score and simple reliability plots help

 

How does ATSwins.ai use AI-powered sports prediction to help me make smarter picks across leagues?

ATSwins.ai is an AI-powered sports prediction platform offering data-driven picks, player props, betting splits, and profit tracking across NFL, NBA, MLB, NHL, and NCAA. Free and paid plans give bettors insights and guides to make smarter, more informed decisions. In practice, that means:

  • You see transparent odds and rationale so you can judge value quickly
  • Player props are surfaced when the model’s projection meaningfully differs from posted lines
  • Betting splits offer extra context (where money vs tickets are), which can flag mispriced markets
  • Built-in profit tracking shows what’s working—per league, bet type, and timeframe—so you iterate, not guess

 

It’s a clean workflow: scan edges, validate with context, place the pick, then monitor performance.

How do I avoid common mistakes with AI-powered sports prediction while trying to make smarter picks?

A few traps to watch:

  • Overfitting to last week’s results; use rolling windows and keep features simple
  • Ignoring injuries/lineup changes—late scratches can crush edges
  • Confusing confidence with certainty; even 60% picks lose 2 out of 5
  • Chasing losses or doubling unit size; variance happens
  • Not documenting assumptions. Write down why you made a pick, then compare to results. That feedback loop is your edge

 

Bottom line: keep it probabilistic, keep it humble, and keep it tracked.