OCA (Overload Compensation App) is a Shiny web application designed to calculate fair instructor pay for overload teaching assignments in higher education. It applies institutional policy while offering strategic flexibility — allowing administrators to favor cost-saving, faculty retention, or a balanced approach.
✨ Upload Your Teaching Schedule
-
Provide a .csv file with scheduled courses, instructor names, credit hours, and enrollments.
-
The file may come from:
- Local data folder
- URL pointing to such file
🔍 Required columns (exact names):
INSTRUCTOR— Instructor nameSUBJ— Course identifier (e.g., MATH 1111 or ENGL 2111-02)HRS— Credit hoursENRLD— Enrollment
🔍 Filter Courses by (Optional)
SUBJ— Subject (required column)INSTRUCTOR— Instructor (required column)COLLEGE— College (optional column, if available)DEPARTMENT— Department (optional column, if available)PROGRAM— Program (optional column, if available)
⚙️ Set Institutional Policy Parameters
-
Pay rate per qualified credit hour
-
Regular teaching load (in credit hours)
-
Minimum and maximum enrollment thresholds for proration
👉 For institutions without a proration policy (full pay even for low-enrolled courses), set both L and U to
0.
🎚 Select a Compensation Strategy per institutional policy
- Favor Institution → prioritizes cost savings
- Favor Faculty → prioritizes fairness
- Blend → weighted average between the two extremes
📊 Review Compensation Results
- Instructor- and institution-level pay by strategy — with a slider to favor institution, faculty, or blended strategies in the output
- Comparison tables and summaries for clear side-by-side evaluation
- Customizable output — select only the columns you want to
visualize or download, with results displayed in the desired order,
e.g., :
INSTRUCTOR, SUBJ, HRS, ENRLD, QHRS, PAY, TYPE, SUMMARY - SUMMARY block — appended after instructor rows, providing payroll-ready totals with overload rate, qualified hours, and notes
- Visual charts to highlight compensation differences (includes institution-wide totals when charting is enabled)
OCA Dashboard
OCA Output Chart
-
Strategy-Based Comparison Tables — detailed breakdowns of compensation with totals and summaries
- QHRS — qualified credit hours used for compensation
- PAY — compensation amount corresponding to
QHRS - TYPE — indicates whether the pay is prorated (
PRO) or full - SUMMARY — appended block with payroll-ready totals, overload rate, qualified hours, and notes
- Column order — users may reorder or select only the columns they
want to display or download. A typical sequence is:
INSTRUCTOR, SUBJ, HRS, ENRLD, QHRS, PAY, TYPE, SUMMARY.
-
Strategy Comparison — instructor- and institution-level pay under all favored strategies (Institution, Faculty, Blend) displayed side by side
-
Charts — visualize compensation differences across strategies, including institution-wide totals when charting is enabled
The OCA App is now live hosted at shinyapps.io:
Try the app using these example schedules:
catool– R package for calculating overload pay based on institutional policyshiny– R package for building interactive web applications
-
“catool: An R Package for Automating Fair Compensation in Higher Education”
(Submitted to The R Journal) -
“OCA: A Shiny Web Application for Transparent Overload Compensation in Higher Education”
(In preparation for submission to SoftwareX)
OCA assumes a basic familiarity with faculty overload policies. For new users, future versions may include tooltips and in-app help. In the meantime, this guide provides clarifications on how proration, pay rates, and thresholds are applied within the app.
’
# Install required packages
install.packages(c("shiny", "catool", "dplyr", "readr", "ggplot2", "DT", "shinyWidgets"))
# Run the app
library(shiny)
runApp("path/to/OCA_shinyApp")
---
