CDF Chart Format

Home » CDF Chart Format

Comma-Delimited Chart File Format #1.10

Dated: Feb 1, 2022 Version: 1.10

The Post Time Daily Comma Delimited Chart consists of three different
record types (race, horse, and exotic) which together comprise a chart
of racing information. These record types are provided in ONE file.
The first field of each line provides a record_type indicator which
indicates which record type the particular line corresponds to.

All Char fields, whether 1 char or more will be quoted fields. Embedded
quotes will be converted to % symbols in the exported field. The size
of char fields does NOT include the quotation marks.

The size of number fields represents the maximum size in characters we
expect to use for a particular field. Payoff fields, fractional times,
and beaten lengths will always contain two decimal digPost Time Daily
after the decimal point.

The cards will consist of the live thoroughbred races run at a given
track on a particular day. If a race is canceled, there will be no
horse or exotic records. The canceled_flag will be set to 1.

The horse records (for a given race) are currently in official_position
order and are followed by all the horses who were scratched. No
particular order, however, should be assumed. This order could change
at some point in the future.

The file naming conventions for each card are as follows:

YYYYMMDD_CHT_DAY_TTT.TXT

YYYYMMDD is the year month and day concatenated together.

DAY will be either DAY or EVE depending on whether the card is a day or
evening card. An evening card only occurs if a track runs two different
cards of racing on the SAME day. If a track runs only one card of
racing, and the racing happens to be in the evening, it will still have
a DAY designation.

TTT represents the track three letter track code. If the track code is
only two letters, the remaining position will contain an underscore.

As an example, June 21, 2001 at MTH will have a file name of

20010621_CHT_DAY_MTH.TXT

*** Preliminary Definitions ***

#1 – Race Type
Race_type contains one of the following general categories:

“MCLM”: Includes maiden claiming and optional maiden claiming.
“MSW”: Includes maiden special weights.
“CLM”: Includes claiming, optional claiming.
“ALW”: Includes allowance, starter allowance, and allowance optional claiming.
“HDCP”: Includes handicap, starter handicap, claiming handicap and optional claming handicap.
“STK”: Includes stakes, claiming stakes, and optional claiming stakes.
“MATCH”: Includes match races.
“TRAINING”: Includes training races.
#2 – Age
Age fields contain a single digit if they are for a specific age only. Such as 3 for 3-year-olds only.
If the race age restriction is an up restriction like 3 year olds and UP and UP will be appended. An example encoding is 3UP for 3 year old and up.
If the age restriction is for horses of specific years then those years will each be represent by one character. So if race is for 3, 4 and 5 year olds this field will contain 345.
#3 – Track Condition

Value Description
—– ———–
fst Fast
fr Frozen
gd Good
hy Heavy
my Muddy
sl Slow
std Standard
sly Sloppy
wf Wet Fast
wet Wet
dd Dead
esy Easy
fm Firm
gdtofm Good to Firm
gdtosf Good to Soft
hd Hard
sf Soft
yl Yielding
?? Unknown
#4 – Wager Type

The following contains a partial list of known wager types. New wager types are constantly being added by the tracks.

Code Description
—- ———–
0 Match Rival
1 Roulette
2 Two in the Money
3 Pick 3
4 Pick 4
5 Pick 5
6 Pick 6
7 Pick 7
8 Countdown
9 Pick 9
A Triactor
B Super Tri
C Classix
D Daily Double
E Exacta
F Perfecta
G Perfector
H Bingo Bet
I Instant Daily Double
J Exactor
K Win Four
L Place Pick All
M Consolation Pick 3
N Future Wager
O Omni
P Jockey Challenge
Q Quinella
R Triple
S Superfecta
T Trifecta
U Tri Super
V Odd or Even
W Twin Trifecta
X Place Pick 9
Y Super Bet
Z Consolation Double
*** Comma-Delimited Chart — Race Record ***

Field# Field name Data Type Max Size Explanation
——- ———- ——— ——– ———–
1 Record_type char 1 will be “R” to indicate a Race record
2 Version_string char 3 currently “1.10”
3 Track char 3 Standard track identifier
4 Race_date char 10 MM/DD/YYYY
5 Race_number number 3
6 Day_evening char 1 “D” or “E”
7 Country char 3 “USA” or “CAN” (currently)
8 Breed_of_race char 2 currently “TB” only
9 Conditions_of_race char 150 Standard Post Time Daily class string follows Past Performances conventions.  Most of the time this field will be fairly short.  But stakes names will occasionally be very long.  Thus the 150 char designation.
10 Official_flag number 1 1 = Yes, 0 = No
11 Canceled_flag number 1 1 = Yes, 0 = No (if race was canceled there will be NO horse or exotic records)
12 Race_type char 5 See Definitions (1)
13 Optional_claming_race number 1 1 = Optional, 0 = Not optional
14 Starter_conditions number 1 1 = Starter (alw or Hdcp), 0 = Not Starter
15 Restrictions char 1 “S” = Statebred, “R” = other Restriction, otherwise blank
16 Age char 3 See Definitions (2)
17 Sex char 6 “Male”, “Female”, or “Mixed”
18 Grade number 3 1, 2, 3, or 0 (if a non-graded race)
19 Distance_amount number 5 Thoroughbred racing will generally be expressed in feet
20 Distance_units char 8 Thoroughbred racing will always be expressed in “Feet”
21 Inner number 1 0 = No, 1 = Yes
22 Turf number 1 0 = No, 1 = Yes
23 About number 1 0 = No, 1 = Yes
24 Steeplechase number 1 0 = No, 1 = Yes
25 Hurdle number 1 0 = No, 1 = Yes
26 Hunt number 1 0 = No, 1 = Yes
27 Chute_start number 1 0 = No, 1 = Yes
28 Purse_local_dollars number 12 Available Money – Reverted Money (like purse amounts on past performance lines) in local dollars
29 Full_purse number 12 As appearing in track program in local dollars
30 Minimum_claiming_price number 12
31 Maximum_claiming_price number 12
32 Track_condition char 10 Standard past performance designations.  See Definitions (3)
33 Exotic_wager_types char 20 Currently not  used.
34 Fraction1 number 8 All times are seconds and hundreths of seconds.  e.g., 1:10 and 2/5th will appear as 70.40
35 Fraction2 number 8
36 Fraction3 number 8
37 Fraction4 number 8
38 Fraction5 number 8
39 Final_time number 8
40 Reserved_string_1 char TBD To Be Determined
41 Reserved_string_2 char TBD To Be Determined
42 Reserved_string_3 char TBD To Be Determined
43 Reserved_string_4 char TBD To Be Determined
44 Reserved_string_5 char TBD To Be Determined
45 Reserved_string_6 char TBD To Be Determined
46 Course_Type number 0=Dirt, 1=Turf, 2=Inner Dirt, 3=Inner Turf,
5=Outer Turf, 7=Downhill Turf, 8=All Weather,
33=Hurdle, 65=Steeplechase, 97=Jumps (other)
47 Reserved_number_2 number TBD To Be Determined
48 Reserved_number_3 number TBD To Be Determined
49 Reserved_number_4 number TBD To Be Determined
50 Reserved_number_5 number TBD To Be Determined
51 Reserved_number_6 number TBD To Be Determined
*** Comma-Delimited Chart — Horse Record ***

Field# Field name Data Type Max Size Explanation
——- ———- ——— ——– ———–
1 Record_type char 1 will be “H” to indicate Horse record
2 Track char 3 Standard track identifier
3 Race_date char 10 MM/DD/YYYY
4 Race_number number 3
5 Day_evening char 1 “D” or “E”
6 Country char 3 “USA” or “CAN” (currently)
7 Breed_of_race char 2 currently “TB” only
8 Horse_name char 40 Will include foreign codes in parenthesis for foreign born horses following the horse name.  Just like past performances.
9 Program_number char 4 Blank if scratched
10 Scratch_flag number 1 0 = No, 1 = Yes
11 Post_position number 3 Not valid if scratched (zero)
12 Non_betting_flag number 1 0 = No, 1 = Yes
13 Coupled_type char 1 Coupling character when applicable (A, B, C) etc;  Note: This has nothing to do with the saddle cloth character that coupled horses use.  This is simply a common letter assigned to all horses which are coupled together.
14 Position_at_start number 3 All positions that are not used or not recorded for a particular distance will be 0
15 Position_at_call_1 number 3
16 Position_at_call_2 number 3
17 Position_at_call_3 number 3
18 Position_at_call_4 number 3
19 Position_at_call_5 number 3
20 Position_at_finish number 3
21 Official_position number 3
22 Dead_heat_flag number 1 0 = No, 1 = Yes
23 Disqualification_flag number 1 0 = No, 1 = Yes
24 Lengths_at_call_1 number 7 For horse on lead this will be leading margin.  For trailing horses this will be the total lengths behind leader.
25 Lengths_at_call_2 number 7
26 Lengths_at_call_3 number 7
27 Lengths_at_call_4 number 7
28 Lengths_at_call_5 number 7
29 Lengths_at_finish number 7
30 Off_odds number 7
31 Morning_line_string char 8 Morning line when available
32 Morning_line_odds number 7 Morning line converted to decimal
33 Favorite_indicator number 1 0 = No, 1 = Yes
34 Win_payoff number 8 Coupled horses will both have the appropriate win payoff.
35 Place_payoff number 8 Coupled horses will both have the appropriate place payoff.
36 Show_payoff number 8 Coupled horses will both have the appropriate show payoff.
37 Reserved_string_1 char TBD To Be Determined
38 Reserved_string_2 char TBD To Be Determined
39 Reserved_string_3 char TBD To Be Determined
40 Reserved_string_4 char TBD To Be Determined
41 Reserved_string_5 char TBD To Be Determined
42 Reserved_string_6 char TBD To Be Determined
43 Reserved_string_7 char TBD To Be Determined
44 Reserved_string_8 char TBD To Be Determined
45 Reserved_string_9 char TBD To Be Determined
46 Reserved_string_10 char TBD To Be Determined
47 Reserved_number_1 number TBD To Be Determined
48 Reserved_number_2 number TBD To Be Determined
49 Reserved_number_3 number TBD To Be Determined
50 Reserved_number_4 number TBD To Be Determined
51 Reserved_number_5 number TBD To Be Determined
52 Reserved_number_6 number TBD To Be Determined
53 Reserved_number_7 number TBD To Be Determined
54 Reserved_number_8 number TBD To Be Determined
55 Reserved_number_9 number TBD To Be Determined
56 Reserved_number_10 number TBD To Be Determined
*** Comma-Delimited Chart — Exotic Record ***

Field# Field name Data Type Max Size Explanation
——- ———- ——— ——– ———–
1 Record_type char 1 will be “X” to indicate Exotic record
2 Track             char 3 Standard track identifier
3 Race_date char 10 MM/DD/YYYY
4 Race_number number 3
5 Day_evening char 1 D or E
6 Country char 3 “USA” or “CAN” (currently)
7 Wager_type char 2 See Definitions (4)
8 Winning_numbers char 30 Official betting numbers that were paid.  Correspond to program number (saddle_cloth).  These are NOT post position numbers.  Can also contain the word ALL as part of the wager numbers as in 1-3-ALL if all positions were paid in the third leg of a pick 3 or the show position for a triple.  Can also contain / characters when position are shared by more than one horse.  For example in a pick 3 where the middle races pays to two different numbers you might see 3-5/7-4
9 Number_correct_tickets number 4 For wagers like the Pick-6, this will indicate how many correct this record is for.  So for Pick-6, as an example, you will often find two records: one with a number correct of 5 and another with the number correct of 6.
10 Payoff_amount number 10
11 Carryover_amount number 10
12 Base_amount number 10 Wager amount on which the payoff amount is based. e.g., a base amount of 1.00 and a payoff amount of 50.00 would indicate that a $1.00 wager yielded a $50.00 payoff.