CSV Export Docs
BowlSheet® exports your bowling data as comma-separated values (CSV) files that open in Excel, Google Sheets, Numbers, or any standard spreadsheet application. This page explains what you can export, what the stats file contains, and how to work with it.
The BowlSheet CSV format is the canonical format. BowlSheet Community will import these exports, so the history you build today comes forward.
What You Can Export
- Stats — a game-by-game export of a bowler’s or team’s games, with aggregate statistics. This is the file documented on the rest of this page. It requires the Analytics Export subscription — see below.
- Oil patterns — share stored patterns and their markups by email.
- Drilling specs — send a ball’s drilling and pin layout details as a CSV attachment by email.
Exports are generated in the app and attached to an email, so you can send them to yourself, a coach, or a teammate. The files open directly in any spreadsheet — no special software required.
The Analytics Export Subscription
Exporting stats to CSV requires the Analytics Export subscription: $29.99/year, auto-renewing, billed through Apple. It unlocks CSV export of your analytics data; everything else in BowlSheet is included in the one-time purchase. See Pricing for details.
What the Stats CSV Contains
Each row in the CSV represents one game. The file also includes a summary row labeled All Events (row 1, after the header) that aggregates statistics across every game in the export. Game-specific columns in that row are blank; only the statistics columns are filled.
The CSV has 130+ columns organized into groups:
1. Event Metadata
Basic context for each game: event name, event type (individual or team), game type (standard or Baker), date, location, oil pattern, and team name.
2. Bowler Assignments
Each frame (1–10) records which bowler threw each ball. Frame 10 can have up to three bowlers for the bonus balls — which is how Baker games record their rotation. Individual games record a single bowler throughout.
3. Frame Scores
Cumulative score at the end of each frame (frames 1–10). These are running totals, not individual frame pins. For example, if frames 1 and 2 score 8 and 9 respectively, the frame 2 value is 17.
4. Split Flags
A 1/0 indicator per ball per frame marking whether a split was recorded on that delivery.
5. Pins Down
The number of pins knocked down on each ball thrown in each frame (numeric).
6. Pin Leaves
A text description of the pins still standing after a ball, expressed as a dash-separated list of pin numbers (e.g., 1-3-5-7-10). Blank when a strike was thrown.
7. Opponent Score and Statistics
The opponent’s score for match-play games, followed by aggregate columns covering: frame averages, score averages, strike and spare rates, high game, game average, series totals, match play record (wins/losses/ties), game distribution counts (100–110, 110–120, etc.), and lane information.
Sample Row (Simplified)
The following illustrates a small subset of columns for a single Baker game, shown one field per row:
| Column | Example value |
|---|---|
| Event | State Qualifier |
| GameType | Baker |
| Date | 2025-10-14 |
| Frame1Bowler | Johnson |
| Frame1Score | 9 |
| Frame1Ball1Pins | 9 |
| … | … |
| Average | 189.4 |
Compatibility Notes
Excel and Google Sheets
Open the file directly — no import wizard needed. If columns appear merged, check that your application is not treating the file as tab-delimited. The format uses standard commas as delimiters.
RFC 4180 Escaping
Fields that contain a comma, double-quote, carriage return, or line feed are wrapped in double quotes. Embedded double quotes are doubled (""). This is the standard CSV escaping format and is handled automatically by Excel and Sheets.
The “All Events” Aggregate Row
Row 1 (immediately after the header) is a summary row labeled All Events. It contains blank values for game-specific columns and aggregate statistics for all games in the export. Filtering or sorting in a spreadsheet may move this row — keep that in mind if you’re building formulas that reference row positions.
Long-Standing Column Names
Several column names have been stable since the earliest versions of the export, including a few known typos and duplicates:
HightPocketRatio(typo for “High”)Frame6AvgScore(duplicate column)- Three
600Seriescolumns
These are intentional and will not change. Formulas and scripts that reference these column names keep working — and BowlSheet Community will read them exactly as they are.
Full Schema Reference
Need the complete column list or help interpreting a specific field? Contact support and we’ll send the full export reference.