Preparing CSV Files

Answer Key CSV

Your answer key file must include the following columns:

  • item_index - Item number (1, 2, 3, ...)
  • correct_option - Correct answer (A, B, C, D, E, etc.)
  • max_points (optional) - Maximum points for the item (default: 1)

Example:

item_index,correct_option,max_points
1,A,1
2,C,1
3,B,1
4,D,1
5,A,1

Student Responses CSV

Your responses file must include:

  • student_id - Unique student identifier
  • item_1, item_2, item_3, ... - Student responses for each item
  • group (optional) - Student group for cohort analysis

Example:

student_id,item_1,item_2,item_3,item_4,item_5
student_001,A,C,B,D,A
student_002,B,C,B,D,A
student_003,A,A,B,D,B
student_004,A,C,C,D,A
Tips:
  • Use uppercase letters for options (A-Z)
  • Blank responses or "NA" will be treated as no response
  • Maximum file size: 5 MB per CSV
  • Recommended limits: 500 items, 5,000 students

Statistical Formulas & Methods

Item Difficulty (p)

The proportion of students who answered the item correctly:

p = (Number of correct responses) / (Total number of responses)
  • p > 0.9: Too easy
  • 0.3 ≤ p ≤ 0.9: Acceptable
  • p < 0.2: Too hard

Point-Biserial Correlation (rpb)

Measures how well an item discriminates between high and low performers:

r_pb = ((M1 - M0) / SD_total) × √(p × q)

Where:

  • M1 = Mean total score of students who got the item correct
  • M0 = Mean total score of students who got the item incorrect
  • SD_total = Standard deviation of total scores
  • p = Proportion correct, q = 1 - p
  • r_pb ≥ 0.3: Good discrimination
  • 0.2 ≤ r_pb < 0.3: Acceptable
  • r_pb < 0.2: Poor discrimination (flagged)

KR-20 Reliability

Internal consistency reliability for dichotomously scored items:

KR-20 = (k / (k - 1)) × (1 - (Σ(p × q) / Var_total))

Where:

  • k = Number of items
  • p = Proportion correct for each item
  • q = 1 - p
  • Var_total = Variance of total scores
  • KR-20 ≥ 0.8: Excellent
  • 0.7 ≤ KR-20 < 0.8: Good
  • 0.6 ≤ KR-20 < 0.7: Acceptable
  • KR-20 < 0.6: Poor (needs improvement)

Standard Error of Measurement (SEM)

SEM = SD_total × √(1 - reliability)

Estimates the standard deviation of measurement errors.

Frequently Asked Questions

What browsers are supported?

Modern browsers including Chrome, Firefox, Edge, and Safari (last 2 versions). JavaScript must be enabled.

Is my data stored on the server?

No. All data processing happens in your browser. Nothing is uploaded to external servers unless you explicitly choose the PHP compute engine for validation.

What's the maximum dataset size?

Recommended limits: 500 items, 5,000 students, 5 MB per CSV file. Larger datasets may work but could impact performance.

Can I use this for polytomously scored items?

Currently, only dichotomous (correct/incorrect) scoring is supported. Each item has one correct answer worth 1 point (or max_points if specified).

How do I save my work?

Your work is automatically saved to browser localStorage. You can also export to JSON for backup or sharing. Use Ctrl/Cmd+S to export quickly.

What does "flagged" mean for an item?

Items are flagged when they show potential issues:

  • Low discrimination: r_pb < 0.2
  • Too easy: p > 0.9
  • Too hard: p < 0.2
  • Non-functioning distractor: An incorrect option chosen by < 5% of students

Can I export my results?

Yes! You can:

  • Print or save as PDF using your browser's print function
  • Export complete project state as JSON
  • Export item analysis table as CSV
  • Export standalone HTML report