Skip to content
Kelly

Coming from Bet Labs

Kelly reads Bet Labs systems from pasted text or screenshots. Of the 121 Bet Labs terms, 42 map exactly, 70 map closely, 9 can't map yet, each with the reason. Import is free: you confirm every line, then Kelly tests the rule on its own data from June 2020.

Updated · the importer’s own table

Get it out of Bet Labs. In Bet Labs, open the system and take a screenshot of its filters (scroll and take more if it's long), or select the filters and copy them.

or drop them anywhere on the pageScreenshots, PDF, CSV, Excel, text or a zip · up to 20 files, 32 MB each
Kelly reads only what you add here and sends nothing to Bet Labs.

Example · paste your own system to replace it

(5) of (6) conditions carry over

1 can't map yet: keep it for new games or leave it out.

  1. ExactFavorite/Dog: Dog=spread_close > 0
  2. ExactHome/Visitor: Visitor=AND(NOT(home), NOT(neutral))
  3. ExactSpread Range: +3 to +10=AND(spread_close >= 3, spread_close <= 10)
  4. ExactDays Between Games: 10 or more=rest_days >= 10
  5. ExactPrevious Game Margin: -1 or less=LAG(margin) <= -1
  6. Can't mapBets %: under 35%No history yet. Bets %: Kelly holds betting splits only from Nov 2026 (S8).
=AND(spread_close > 0, AND(NOT(home), NOT(neutral)), AND(spread_close >= 3, spread_close <= 10), rest_days >= 10, LAG(margin) <= -1)

Free to import, and nothing is saved until you confirm. You’ll sign in on the next step if you aren’t already, and your system comes with you.

Many systems? Add them all at once: exports, screenshots, workbooks, zips, or the reply to your data request. Kelly reads every file, maps each system it finds and lists them on one screen for you to confirm.

Bet Labs saves a system as point-and-click filters on one sport and bet type, in groups: team info, line info, time period, matchup, streaks and betting splits.

Filter names verbatim from Bet Labs' help centre article "What filters are available in Bet Labs?", read Nov 7, 2026. Statuses against the rule tester; the same table the importer reads.

What does a Bet Labs system look like in Kelly?

In Bet Labs
NFL · Spread
Favorite/Dog: Dog
Home/Visitor: Visitor
Spread Range: +3 to +10
Days Between Games: 10 or more
Bets %: under 35%
In Kelly
=AND(spread_close > 0, NOT(home), NOT(neutral), spread_close >= 3, spread_close <= 10, rest_days >= 10)

Five filters exact. Bets % can't map before Nov 2026 (Kelly's splits start then): you choose to leave it out or keep it as a live-only condition that applies to new games.

Which Bet Labs terms carry over? (121)

Filters with a range (Spread Range +3 to +10), a choice (Home/Visitor: Visitor) or a list (Spread List: 3, 7).

Showing (121) of (121) · Terms

Their termKelly formulaStatusNote
Every tool
Sport, LeagueThe rule's competition: mlb, nba, ncaab, ncaaf, nfl, nhl, wnbaExactAnother sport is listed as can't map.
Bet type, Market, O/UThe rule's market: spread, moneyline, over or underExactA player-prop market is listed as can't map (not a team-game condition).
Subject (Home, Away, Favorite, Underdog)Home: =AND(home, NOT(neutral)) · Away: =AND(NOT(home), NOT(neutral)) · Favorite: =spread_close < 0 · Underdog: =spread_close > 0Exact
Home Team's, Away Team's, Opponent's (before a stat)The team's own stat, or opponent.<stat>Exact
Team info
Favorite/DogFavorite: =spread_close < 0 · Dog: =spread_close > 0Exact
Home/VisitorHome: =AND(home, NOT(neutral)) · Visitor: =AND(NOT(home), NOT(neutral)) · Neutral: =neutralExact
Team=team_idExact
Opposing Team=opponent_idExact
Team Win %=100 * SEASON_AVG(IF(result = "W", 1, 0))CloseRead over the team's games before this one this season; Bet Labs' window isn't published.
Opponent Win %=OPPONENT(100 * SEASON_AVG(IF(result = "W", 1, 0)))CloseRead over the team's games before this one this season; Bet Labs' window isn't published.
Team ATS %=100 * SEASON_SUM(IF(ats_result = "cover", 1, 0)) / SEASON_SUM(IF(OR(ats_result = "cover", ats_result = "loss"), 1, 0))CloseRead over the team's games before this one this season; Bet Labs' window isn't published.
Opponent ATS %=OPPONENT(100 * SEASON_SUM(IF(ats_result = "cover", 1, 0)) / SEASON_SUM(IF(OR(ats_result = "cover", ats_result = "loss"), 1, 0)))CloseRead over the team's games before this one this season; Bet Labs' window isn't published.
Pythagorean Win %=100 * PYTHAG_WINS(SEASON_SUM(points_for), SEASON_SUM(points_against), 1)CloseBet Labs doesn't publish its Pythagorean exponent; Kelly uses the sport's (NFL 2.37, NBA 13.91, MLB 1.83, NHL 2.0). Set your own as PYTHAG_WINS's fourth number.
Team ATS at Home=100 * SEASON_SUM(IF(AND(AND(home, NOT(neutral)), ats_result = "cover"), 1, 0)) / SEASON_SUM(IF(AND(AND(home, NOT(neutral)), OR(ats_result = "cover", ats_result = "loss")), 1, 0))CloseRead over the team's games before this one this season; Bet Labs' window isn't published.
Team ATS as Visitor=100 * SEASON_SUM(IF(AND(AND(NOT(home), NOT(neutral)), ats_result = "cover"), 1, 0)) / SEASON_SUM(IF(AND(AND(NOT(home), NOT(neutral)), OR(ats_result = "cover", ats_result = "loss")), 1, 0))CloseRead over the team's games before this one this season; Bet Labs' window isn't published.
Opponent ATS at Home=OPPONENT(100 * SEASON_SUM(IF(AND(AND(home, NOT(neutral)), ats_result = "cover"), 1, 0)) / SEASON_SUM(IF(AND(AND(home, NOT(neutral)), OR(ats_result = "cover", ats_result = "loss")), 1, 0)))CloseRead over the team's games before this one this season; Bet Labs' window isn't published.
Opponent ATS as Visitor=OPPONENT(100 * SEASON_SUM(IF(AND(AND(NOT(home), NOT(neutral)), ats_result = "cover"), 1, 0)) / SEASON_SUM(IF(AND(AND(NOT(home), NOT(neutral)), OR(ats_result = "cover", ats_result = "loss")), 1, 0)))CloseRead over the team's games before this one this season; Bet Labs' window isn't published.
Pythagorean +/-=SEASON_SUM(IF(result = "W", 1, 0)) - PYTHAG_WINS(SEASON_SUM(points_for), SEASON_SUM(points_against), SEASON_SUM(1))CloseBet Labs doesn't publish its Pythagorean exponent; Kelly uses the sport's (NFL 2.37, NBA 13.91, MLB 1.83, NHL 2.0). Set your own as PYTHAG_WINS's fourth number.
Over Win %=100 * SEASON_SUM(IF(ou_result = "over", 1, 0)) / SEASON_SUM(IF(OR(ou_result = "over", ou_result = "under"), 1, 0))CloseRead over the team's games before this one this season; Bet Labs' window isn't published.
Previous Season Made Postseason=prev_season_postseasonExact
Opponent Previous Season Made Postseason=opponent.prev_season_postseasonExact
Previous Season ATS %=prev_season_ats_pctExact
Previous Season Wins=prev_season_winsExactRegular-season wins in the team's previous season in Kelly's data.
Line info
Spread Range=spread_closeExact
Moneyline Range=moneyline_closeExact
Closing Total Range=total_closeExact
Open Spread Range=AT(spread_close, "edition")CloseKelly reads the line at its Monday sheet, not the opening line.
Open Moneyline Range=AT(moneyline_close, "edition")CloseKelly reads the line at its Monday sheet, not the opening line.
Open Total Range=AT(total_close, "edition")CloseKelly reads the line at its Monday sheet, not the opening line.
Spread List=spread_closeExact
Moneyline List=moneyline_closeExact
Closing Total List=total_closeExact
Opening Spread List=AT(spread_close, "edition")CloseKelly reads the line at its Monday sheet, not the opening line.
Opening Moneyline List=AT(moneyline_close, "edition")CloseKelly reads the line at its Monday sheet, not the opening line.
Opening Total List=AT(total_close, "edition")CloseKelly reads the line at its Monday sheet, not the opening line.
O/U Change Open to Close=total_close - AT(total_close, "edition")CloseKelly reads the line at its Monday sheet, not the opening line.
Spread Juice Range=spread_price_closeExact
Spread Juice List=spread_price_closeExact
Spread Change Open to Close=spread_close - AT(spread_close, "edition")CloseKelly reads the line at its Monday sheet, not the opening line.
Moneyline Change Open to Close=LET(c, VALUE(moneyline_close), o, VALUE(AT(moneyline_close, "edition")), IF(c >= 2, (c - 1) * 100, -100 / (c - 1)) - IF(o >= 2, (o - 1) * 100, -100 / (o - 1)))CloseKelly reads the line at its Monday sheet, not the opening line. The change is in American odds (cents).
Spread/Total Open Difference=AT(total_close, "edition") - ABS(AT(spread_close, "edition"))CloseBet Labs doesn't define it; Kelly reads the opening total minus the size of the opening spread. Kelly reads the line at its Monday sheet, not the opening line.
Prev Game Spread=LAG(spread_close)Exact
Time period
Season=VALUE(season)Exact
Exclude Seasons=VALUE(season)Exact
Season TypeRegular Season: =season_type = "regular" · Postseason: =season_type = "postseason"Exact
Time of DayDay: =kickoff_hour_et < 17 · Afternoon: =AND(kickoff_hour_et >= 12, kickoff_hour_et < 17) · Early: =kickoff_hour_et < 16 · Late: =AND(kickoff_hour_et >= 16, kickoff_hour_et < 19) · Night: =kickoff_hour_et >= 17 · Primetime: =kickoff_hour_et >= 19CloseKelly splits by the kickoff hour in US Eastern time: day before 5 PM, night from 5 PM, early before 4 PM, late 4 to 7 PM, prime time from 7 PM; Bet Labs doesn't publish its cut-offs.
Day of WeekMonday: =day_of_week = "Monday" · Tuesday: =day_of_week = "Tuesday" · Wednesday: =day_of_week = "Wednesday" · Thursday: =day_of_week = "Thursday" · Friday: =day_of_week = "Friday" · Saturday: =day_of_week = "Saturday" · Sunday: =day_of_week = "Sunday"Can't mapWeek names a whole week's record; the rule tester reads the game's week as week_number.
Game MonthJanuary: =month = 1 · February: =month = 2 · March: =month = 3 · April: =month = 4 · May: =month = 5 · June: =month = 6 · July: =month = 7 · August: =month = 8 · September: =month = 9 · October: =month = 10 · November: =month = 11 · December: =month = 12Exact
Game Number=SEASON_SUM(1) + 1CloseCounted from the games in Kelly's data this season.
Opponent Game Number=OPPONENT(SEASON_SUM(1) + 1)CloseCounted from the games in Kelly's data this season.
Week Number/Round/Bowl Game=week_numberCan't mapWeek names a whole week's record; the rule tester reads the game's week as week_number.
Days Between Games=rest_daysExact
Opp Days Between Games=opponent.rest_daysExact
Home Time ZoneEastern: =IF(home, team_timezone, opponent.team_timezone) = "Eastern" · Central: =IF(home, team_timezone, opponent.team_timezone) = "Central" · Mountain: =IF(home, team_timezone, opponent.team_timezone) = "Mountain" · Pacific: =IF(home, team_timezone, opponent.team_timezone) = "Pacific"CloseThe zone of the team's home ground (or the venue) in Kelly's venue table.
Visitor Time ZoneEastern: =IF(home, opponent.team_timezone, team_timezone) = "Eastern" · Central: =IF(home, opponent.team_timezone, team_timezone) = "Central" · Mountain: =IF(home, opponent.team_timezone, team_timezone) = "Mountain" · Pacific: =IF(home, opponent.team_timezone, team_timezone) = "Pacific"CloseThe zone of the team's home ground (or the venue) in Kelly's venue table.
Games in Last # of Days=games_last_7_daysCloseKelly counts games in the 7 days up to and including this one.
Opponent Time Zone of Prev GameEastern: =OPPONENT(LAG(game_timezone)) = "Eastern" · Central: =OPPONENT(LAG(game_timezone)) = "Central" · Mountain: =OPPONENT(LAG(game_timezone)) = "Mountain" · Pacific: =OPPONENT(LAG(game_timezone)) = "Pacific"CloseThe zone of the team's home ground (or the venue) in Kelly's venue table.
Time Zone of Prev GameEastern: =LAG(game_timezone) = "Eastern" · Central: =LAG(game_timezone) = "Central" · Mountain: =LAG(game_timezone) = "Mountain" · Pacific: =LAG(game_timezone) = "Pacific"CloseThe zone of the team's home ground (or the venue) in Kelly's venue table.
Custom Date Range=game_dateExact
Matchup
Conference=conferenceClosePro leagues from Kelly's alignment table; college as CFBD (football) and CBBD (basketball) name the conference on each game, which may be spelled differently from Bet Labs.
Opponent Conference=opponent.conferenceClosePro leagues from Kelly's alignment table; college as CFBD (football) and CBBD (basketball) name the conference on each game, which may be spelled differently from Bet Labs.
Conference/Non-Conference GameConference: =conference_game · Non-Conference: =NOT(conference_game)ClosePro leagues from Kelly's alignment table; college as CFBD (football) and CBBD (basketball) name the conference on each game, which may be spelled differently from Bet Labs.
Division=divisionCloseNFL, NBA, NHL and MLB; college divisions aren't in the feeds' game rows.
Opponent Division=opponent.divisionCloseNFL, NBA, NHL and MLB; college divisions aren't in the feeds' game rows.
Division/Non-Division GameDivision: =divisional · Non-Division: =NOT(divisional)CloseNFL, NBA, NHL and MLB; college divisions aren't in the feeds' game rows.
Previous Game Division/Non-DivisionDivision: =LAG(divisional) · Non-Division: =NOT(LAG(divisional))CloseNFL, NBA, NHL and MLB; college divisions aren't in the feeds' game rows.
Stadium=stadiumCloseMatched on the venue's name in Kelly's data (the game's venue, else the home team's ground).
Prev Game Favorite/DogFavorite: =LAG(spread_close < 0) · Dog: =LAG(spread_close > 0)Exact
Opp Prev Game Favorite/DogFavorite: =OPPONENT(LAG(spread_close < 0)) · Dog: =OPPONENT(LAG(spread_close > 0))Exact
Previous Head-Head ATSWin: =PREV_MEETING(ats_result) = "cover" · Loss: =PREV_MEETING(ats_result) = "loss" · Push: =PREV_MEETING(ats_result) = "push"CloseKelly reads the last meeting within the season tested.
Previous Head-Head Margin=PREV_MEETING(margin)CloseKelly reads the last meeting within the season tested.
Opp Prev Game Division/Non-DivisionDivision: =OPPONENT(LAG(divisional)) · Non-Division: =NOT(OPPONENT(LAG(divisional)))CloseNFL, NBA, NHL and MLB; college divisions aren't in the feeds' game rows.
Previous Opponent Win %=LAG(OPPONENT(100 * SEASON_AVG(IF(result = "W", 1, 0))))CloseThe team's previous opponent's win rate before that game, over its games that season.
Previous Opponent=LAG(opponent_id)Exact
Win % Difference=100 * SEASON_AVG(IF(result = "W", 1, 0)) - OPPONENT(100 * SEASON_AVG(IF(result = "W", 1, 0)))CloseRead over the team's games before this one this season; Bet Labs' window isn't published.
ATS % Difference=100 * SEASON_SUM(IF(ats_result = "cover", 1, 0)) / SEASON_SUM(IF(OR(ats_result = "cover", ats_result = "loss"), 1, 0)) - OPPONENT(100 * SEASON_SUM(IF(ats_result = "cover", 1, 0)) / SEASON_SUM(IF(OR(ats_result = "cover", ats_result = "loss"), 1, 0)))CloseRead over the team's games before this one this season; Bet Labs' window isn't published.
Streaks
Win/Loss Streak=STREAK(result = "W") or STREAK(result = "L")Exact
Opponent Win/Loss Streak=OPPONENT(__streak__)Exact
ATS Streak=STREAK(ats_result = "cover") or STREAK(ats_result = "loss")Exact
Opponent ATS Streak=OPPONENT(__ats_streak__)Exact
Home/Away Streak=LET(h, home, STREAK(home = h) + 1)CloseKelly counts the games in a row at home (or away), this one included; Bet Labs doesn't publish its count.
Opponent Home/Away Streak=OPPONENT(LET(h, home, STREAK(home = h) + 1))CloseKelly counts the games in a row at home (or away), this one included; Bet Labs doesn't publish its count.
Previous Home/Away Streak=LAG(LET(h, home, STREAK(home = h) + 1))CloseKelly counts the games in a row at home (or away), this one included; Bet Labs doesn't publish its count. Read at the team's previous game.
Opponent Previous Home/Away Streak=OPPONENT(LAG(LET(h, home, STREAK(home = h) + 1)))CloseKelly counts the games in a row at home (or away), this one included; Bet Labs doesn't publish its count. Read at the opponent's previous game.
Previous Game Margin=LAG(margin)Exact
Opponent Previous Game Margin=OPPONENT(LAG(margin))Exact
Previous Game ATS Margin=LAG(margin + spread_close)Exact
Opponent Previous Game ATS Margin=OPPONENT(LAG(margin + spread_close))Exact
Recent Win %=100 * ROLLING_AVG(IF(result = "W", 1, 0), 5)CloseBet Labs doesn't publish its recent window; Kelly reads the last 5 games. Change the 5 to set yours.
Opponent Recent Win %=OPPONENT(100 * ROLLING_AVG(IF(result = "W", 1, 0), 5))CloseBet Labs doesn't publish its recent window; Kelly reads the last 5 games. Change the 5 to set yours.
ATS Recent Win %=100 * ROLLING_SUM(IF(ats_result = "cover", 1, 0), 5) / ROLLING_SUM(IF(OR(ats_result = "cover", ats_result = "loss"), 1, 0), 5)CloseBet Labs doesn't publish its recent window; Kelly reads the last 5 games. Change the 5 to set yours.
Opponent Recent ATS Win %=OPPONENT(100 * ROLLING_SUM(IF(ats_result = "cover", 1, 0), 5) / ROLLING_SUM(IF(OR(ats_result = "cover", ats_result = "loss"), 1, 0), 5))CloseBet Labs doesn't publish its recent window; Kelly reads the last 5 games. Change the 5 to set yours.
Recent Score Margin Average=ROLLING_AVG(margin, 5)CloseBet Labs doesn't publish its recent window; Kelly reads the last 5 games. Change the 5 to set yours.
Opponent Recent Score Margin Average=OPPONENT(ROLLING_AVG(margin, 5))CloseBet Labs doesn't publish its recent window; Kelly reads the last 5 games. Change the 5 to set yours.
ATS Streak Average=SEASON_AVG(margin + spread_close)CloseBet Labs doesn't define ATS Streak Average; Kelly reads the team's average cover margin (margin plus spread) over its games before this one this season.
Opponent ATS Streak Average=OPPONENT(SEASON_AVG(margin + spread_close))CloseBet Labs doesn't define ATS Streak Average; Kelly reads the team's average cover margin (margin plus spread) over its games before this one this season.
Previous Game Home/VisitorHome: =LAG(AND(home, NOT(neutral))) · Visitor: =LAG(AND(NOT(home), NOT(neutral))) · Neutral: =LAG(neutral)Exact
Opponent Previous Game Home/VisitorHome: =OPPONENT(LAG(AND(home, NOT(neutral)))) · Visitor: =OPPONENT(LAG(AND(NOT(home), NOT(neutral)))) · Neutral: =OPPONENT(LAG(neutral))Exact
Previous GameWin: =LAG(result) = "W" · Loss: =LAG(result) = "L" · Cover: =LAG(ats_result) = "cover" · Ats Loss: =LAG(ats_result) = "loss" · Over: =LAG(ou_result) = "over" · Under: =LAG(ou_result) = "under"Exact
Players and coaches
QB/Opponent QB (NFL)=starter_nameCloseMatched on the starter's name in Kelly's data (the player who started at QB, P or G); a name spelled differently doesn't match.
Pitcher/Opponent Pitcher (MLB)=starter_nameCloseMatched on the starter's name in Kelly's data (the player who started at QB, P or G); a name spelled differently doesn't match.
Goalie/Opponent Goalie (NHL)=starter_nameCloseMatched on the starter's name in Kelly's data (the player who started at QB, P or G); a name spelled differently doesn't match.
CoachCan't mapCoaches aren't in Kelly's rules yet.
Opponent CoachCan't mapCoaches aren't in Kelly's rules yet.
Weather and venue
Average Temperature=temperature_fCloseKelly reads the weather at kickoff (nflverse's for NFL games, else a weather source whose rights are clear); Bet Labs averages its own readings, and a forecast at your bet time may differ.
Average Humidity=humidityCloseKelly reads humidity at kickoff from a weather source whose rights are clear; until one is loaded the rows are blank (Visual Crossing's readings stay internal).
Average Wind Speed=wind_mphCloseKelly reads the weather at kickoff (nflverse's for NFL games, else a weather source whose rights are clear); Bet Labs averages its own readings, and a forecast at your bet time may differ.
Average Wind Direction (MLB)Can't mapBet Labs' in and out to the field need each ballpark's orientation, which Kelly doesn't hold; wind_direction_deg is the compass bearing.
Dome Open/ClosedDome: =roof = "fixed" · Open: =roof = "open" · Retractable: =roof = "retractable"CloseKelly knows the venue's roof (open, retractable or fixed), not whether a retractable roof was shut that day.
Tournaments
Tournament=tournamentCloseCollege basketball's seeded tournaments (conference and NCAA), as CBBD gives them; pro playoff seeds aren't in Kelly's data yet.
Seed=seedCloseCollege basketball's seeded tournaments (conference and NCAA), as CBBD gives them; pro playoff seeds aren't in Kelly's data yet.
Opponent Seed=opponent.seedCloseCollege basketball's seeded tournaments (conference and NCAA), as CBBD gives them; pro playoff seeds aren't in Kelly's data yet.
Seed Difference=seed - opponent.seedCloseCollege basketball's seeded tournaments (conference and NCAA), as CBBD gives them; pro playoff seeds aren't in Kelly's data yet.
Statistics
Statistics=__stat__CloseKelly reads the team's average of that box-score stat over its games before this one this season; Bet Labs doesn't publish its window.
Opponent Statistics=OPPONENT(__stat__)CloseKelly reads the team's average of that box-score stat over its games before this one this season; Bet Labs doesn't publish its window.
Stat Streaks=__stat_streak__CloseKelly counts the team's games in a row, up to the last one, where the stat met the condition; Bet Labs doesn't publish its rule.
Opponent Stat Streaks=OPPONENT(__stat_streak__)CloseKelly counts the team's games in a row, up to the last one, where the stat met the condition; Bet Labs doesn't publish its rule.
Betting splits
Bets %Can't mapKelly holds betting splits only from Nov 2026 (S8).
Money %Can't mapKelly holds betting splits only from Nov 2026 (S8).
Sharp ActionCan't mapKelly holds betting splits only from Nov 2026 (S8).
Reverse Line MovementCan't mapKelly holds betting splits only from Nov 2026 (S8).

Source: Filter names verbatim from Bet Labs' help centre article "What filters are available in Bet Labs?", read Nov 7, 2026. Statuses are the importer’s own, against the rule tester.

How do you move your Bet Labs systems to Kelly? (3)

  1. In Bet Labs, open the system and take a screenshot of its filters (scroll and take more if it's long), or select the filters and copy them.
  2. Paste or drop it in the box above, on Import in the rule tester, or in chat: "import this Bet Labs system". Kelly lists every condition with its status.
  3. Answer any question, choose keep or leave out for each line that can't map, and confirm. Kelly saves the rule labelled "tuned elsewhere" and tests it on its own data from June 2020; the record Bet Labs showed you is kept as reported beside it.

What other ways can you bring systems in? (6)

ScreenshotsDrop one or several. Kelly reads the labels and values, then shows the same checklist.
Paste textPaste the filters as text. A link is kept as where the system came from; Kelly never opens it.
Describe it in chatSay the system in words. Kelly drafts the formula from its attributes and asks about anything vague.
The games it pickedCopy the list of games a Bet Labs system picked into the bet import (CSV). Kelly grades each at its own lines, which proves the record but doesn't make a rule for new games.
For developersimport_rule (MCP) or POST /v1/rules:import with tool "bet_labs". The same draft, statuses and confirm step.
Ask for your dataBet Labs has no export button. Kelly drafts a data access request (GDPR, UK GDPR or CCPA) that you send from your own email; when the file comes back, drop it in the box.

What do people ask about moving from Bet Labs? (6)

Can I import my Bet Labs systems into Kelly?

Yes. Of the 121 Bet Labs terms in Kelly's table, 42 map exactly, 70 map closely, 9 can't map yet, each listed with the reason.

Can I bring every system at once?

Yes. Drop every export, screenshot, workbook or zip in the box at once, or send the reply to your data request. Kelly reads every file when you import, maps each system it finds and lists them on one screen for you to confirm.

Will Kelly show the same record as Bet Labs?

Not always. Kelly grades on its own consensus closing lines, which start in June 2020, so a record covers the seasons Kelly holds. The record Bet Labs showed you is kept as reported beside Kelly's.

Does Kelly log in to Bet Labs or open my links?

No. Kelly reads only what you paste or upload. A link is kept as where the system came from and is never opened.

What happens to the conditions Kelly can't map?

They stay on the list with the reason. For each one you choose: keep it for new games once Kelly holds the data, or leave it out. The saved rule says which.

Bet Labs has no export. How do I get my systems out?

Screenshots work for one system at a time. For all of them, ask Bet Labs for your data: Kelly drafts the request under the GDPR, UK GDPR or CCPA, you send it from your own email, and the reply is due within 30 or 45 days. Then drop the file in the box.

Coming from another tool? (8)

Information is the edge.

Odds are information, not advice · 21+ · Get help

Privacy