Evaluate

A log template for evaluating AI clips

A spreadsheet or CSV template for logging your own AI clip evaluations: field definitions, allowed values, validation rules and how to correct entries.

To compare AI clippers fairly on your own streams, log every run and every clip in a spreadsheet with fixed columns and fixed allowed values. This page gives a two-table template you can copy into a spreadsheet or save as CSV, with field definitions, validation rules and a way to correct entries without losing the old value.

Sections on this page (8)

Why use fixed columns

A free-form note such as “pretty good, needed a trim” cannot be counted, and a score entered after you know which tool made the clip drifts. Fixed columns and a short list of allowed values force you to decide the definitions before you look at clips. They also let you compute the measures in the acceptance rate, processing time, facecam layout and killfeed and caption guides from one place.

The two tables

Use one sheet per table, linked by run_id.

Table One row per Key
runs Submission of one VOD to one tool run_id
clips Suggested clip you reviewed run_id and clip_rank

A run is one submission, not one tool on one VOD, because timing guides ask you to repeat the same VOD at different times of day.

Saving it as CSV

If you export to CSV, the RFC 4180 conventions are the common baseline. It describes an optional header row naming the fields, the same number of fields on every line, and double quotes around any field that contains a comma, a double quote or a line break, with a literal double quote written as two in a row. On top of that, a few choices keep a log consistent:

  • lower-case snake_case column names
  • times in UTC in ISO 8601, such as 2026-01-31T18:05:00Z
  • decimals with a point, and rates stored as fractions (0.08, not 8%)
  • an empty cell means the field does not apply, and unknown means it applies but could not be read, such as a queue time the tool does not show

If you want a machine-readable description of the columns, the Table Schema standard declares field types, required, unique and enum constraints, missing values, primary keys and foreign keys. That is optional for a personal log.

Field definitions: runs

Field Type Allowed values Rule
run_id string R plus three digits Unique
vod_label string Your own label Same label for the same source VOD
genre enum fps, battle_royale, moba, sandbox, horror, just_chatting, other Required
vod_minutes integer 1 or more Full source length
attempt_no integer 1 or more Increases per repeat of the same VOD, tool and settings
tool, plan string Name as billed on the run date Required
tool_version_or_date string Version if shown, otherwise YYYY-MM-DD Required
settings_note string Free text defaults if nothing was changed. List every changed setting
input_route enum link, upload Required
submitted_minutes integer 1 to vod_minutes Length actually processed
credits_charged decimal 0 or more Empty if the tool does not bill in credits
started_at_utc datetime ISO 8601 UTC When the submission was confirmed
upload_minutes decimal 0 or more Empty for link
queue_minutes decimal 0 or more, or unknown Included in processing_minutes
first_clip_minutes decimal 0 or more, or unknown No greater than processing_minutes
processing_minutes decimal 0 or more From confirmation to all clips viewable
run_status enum complete, partial, failed, length_not_supported Keep failed runs in the sheet

Field definitions: clips

Field Type Allowed values Rule
run_id string Existing run_id Must match a runs row
clip_rank integer 1 to 10 The tool’s own order. Unique within a run
start_seconds, end_seconds decimal 0 or more End is after start and within the submitted length
accepted enum as_is, light_edit, rejected Required
edit_minutes decimal 0 to 2 0 for as_is, up to 2 for light_edit, empty for rejected
reject_reason enum wrong_moment, bad_start, bad_end, framing, captions, duplicate, policy_risk Only on rejected rows
layout_scene enum usual_cam, other_cam, full_game, full_cam, mid_clip_change Empty if not checked
layout_result enum pass, missed_cam, wrong_region, face_cut_off, unstable_framing, gameplay_crop_error One primary result per clip
hud_frames_sampled integer 1 or more Empty if not checked
hud_frames_covered integer 0 to hud_frames_sampled Frames with a critical HUD region under a caption
hud_frames_cropped integer 0 to hud_frames_sampled A frame counts in only one of covered or cropped
notes string Free text Anything the codes cannot say

The accepted values, the two-minute edit line and the reject reasons are the ones defined in the acceptance rate guide, and the layout and HUD columns follow the other two guides. Drop any column you do not use.

Derived values

Compute these in formula cells and do not type them in:

  • strict rate = count of as_is / clips in the run
  • total rate = count of as_is plus light_edit / clips in the run
  • processing minutes per source hour = processing_minutes / (submitted_minutes / 60)
  • HUD covered share = hud_frames_covered / hud_frames_sampled

Validation rules

Before you read anything off the sheet, check that:

  1. every run_id is unique, and every clips row has a matching runs row
  2. every enum cell holds one of the allowed values, which a spreadsheet’s data validation list can enforce
  3. end_seconds is greater than start_seconds and within the submitted length
  4. a run has no more than 10 clip rows, with ranks running from 1 without gaps
  5. failed and unsupported runs have no clip rows but stay in runs
  6. accepted, edit_minutes and reject_reason agree with each other
  7. first_clip_minutes is no greater than processing_minutes
  8. covered and cropped frame counts do not exceed frames sampled

How to correct an entry

Fix mistakes without erasing your reasoning. Add a third sheet, corrections, with one row per change: corrected_at_utc, sheet, row_key, field, old_value, new_value, reason and note. A short list of reasons keeps it countable: typing_error, settings_log_error, rescored and formula_error.

  1. Check the raw tool output for that run against the row.
  2. If the value is wrong, change it in the sheet and add a corrections row giving both values in full.
  3. Recompute anything that depends on it, such as a rate or a share.
  4. If the correction changes which tool looks better, note that in the note column.

Disagreeing with your earlier judgement is not a typing error. Rescore a clip only if you applied an anchor wrongly, and log it as rescored. If you blind-score, do not look at the tool column until all clips are scored.

More guidance on each measure is on the guides hub.

Sources

  1. RFC 4180: Common Format and MIME Type for CSV FilesPrimary source, read Nov 8, 2026
  2. Data Package standard: Table SchemaPrimary source, read Nov 8, 2026

Up and down to move. Enter to open.