PSY Statistical Program

PSY: A program for contrast analysis - Kevin Bird, Dusan Hadzi-Pavlovic, and Andrew Isaac © School of Psychology, University of New South Wales

Some background - Why PSY was developed:

The APA Task Force on Statistical Inference has recommended that interval estimates of effect sizes should always be presented for primary outcomes (Wilkinson and the Task Force on Statistical Inference, 1999). When fixed-effects analysis of variance is used to analyse data, effect sizes are usually expressed as raw or standardized values of contrasts on means. It is often difficult or impossible to obtain appropriate confidence intervals on contrast values from statistical packages, particularly the simultaneous confidence intervals required for unrestricted or post hoc analyses. The PSY program provides confidence intervals on contrasts for a number of designs and analysis strategies.

PSY is very easy to use for planned or post hoc analyses of single-factor designs (with or without repeated measures) and for two-factor designs with one between-subjects and one within-subjects factor. It can be used for the analysis of more complex factorial designs, but it is a little less user-friendly when simultaneous confidence intervals are required from complex designs. PSY can accept user-supplied critical constants for the purpose of confidence interval construction, so advanced users can control familywise error rates for non-standard analyses. PSY can also supply standard or Bonferroni-adjusted critical values from t, F, GCR (greatest characteristic root) and SMR (studentized maximum root) distributions. Examples of PSY analyses of data from various designs may be found in Bird (2004).

Those who wish to use PSY to carry out tests or construct confidence intervals based on the SMR approach to the analysis of product interaction contrasts (Boik, 1993) may be interested in downloading an SPSS macro that calculates SMR statistics in analyses including more general product contrasts. You can download the macro as a text file or an SPSS syntax file.

To run PSY, you need Windows 95 (or later). Click here to download PSY.

Before running PSY, consult the ReadMe document. Please send feedback to Kevin Bird.


  • Bird, K.D. (2004). Analysis of variance via confidence intervals. London: Sage Publications.
  • Boik, R.J. (1993). The analysis of two-factor interactions in fixed effects linear models. Journal of Educational Statistics, 18, 1- 40.
  • Wilkinson, L., & the Task Force on Statistical Inference, APA Board of Scientific Affairs (1999). Statistical methods in psychology journals: guidelines and explanations. American Psychologist, 54, 594-604.

In Profile

Ethics and Sona Resources

Please follow the links below for more information and resources on the Research Participation program for staff and graduate students. You should save each document to your network drive (z: drive) and edit it from there to avoid losing changes.

Error | UNSW Psychology


Error message

  • Warning: PDOStatement::execute(): MySQL server has gone away in DatabaseStatementBase->execute() (line 2227 of /data/
  • Warning: PDOStatement::execute(): Error reading result set's header in DatabaseStatementBase->execute() (line 2227 of /data/
  • Warning: Cannot modify header information - headers already sent by (output started at /data/ in drupal_send_headers() (line 1471 of /data/
  • PDOException: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away: SELECT r.filename AS filename FROM {registry} r WHERE ( LIKE :db_condition_placeholder_0 ESCAPE '\\') AND (r.type = :db_condition_placeholder_1) ; Array ( [:db_condition_placeholder_0] => DrupalQueue [:db_condition_placeholder_1] => trait ) in _registry_check_code() (line 3468 of /data/
The website encountered an unexpected error. Please try again later.

Uncaught exception thrown in shutdown function.

PDOException: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away: DELETE FROM {semaphore} WHERE (value = :db_condition_placeholder_0) ; Array ( [:db_condition_placeholder_0] => 490900182584b395cc89ff9.88770541 ) in lock_release_all() (line 269 of /data/