Feature Article

jMetrik: Open-source software for psychometric analysis

jMetrik is a free application with integrated workflow and an intuitive user interface.

By J. Patrick Meyer

jMetrik is a free, open-source software application that provides a variety of tools for statistical and psychometric analysis (Meyer, 2014). It runs on any Windows, Mac or Linux operating system that has a current installation of the Java Runtime Environment. There are a number of benefits to using jMetrik, and the open-source nature of the program invites transparency and welcomes community development.

The current release of jMetrik (version 3.1) provides basic statistical and graphical procedures such as frequencies, correlations, bar charts, histograms and kernel densities. Traditional psychometric methods in jMetrik include classical item analysis, reliability estimation and differential item functioning, while modern measurement methods include nonparametric item response theory and the Rasch family of item response models. Parameters for the Rasch, partial credit and rating scale models are estimated via joint maximum likelihood estimation and a proportional curve fitting algorithm (Meyer & Hailey, 2011). Estimated parameters for these item response models are comparable (or even identical with a very small converge criterion) to those produced by Winsteps (Linacre, 2010). IRT scale linking is possible using fixed common item calibration, concurrent calibration, or separate calibration with the Stocking-Lord or Haebara method. Finally, the current version also includes maximum likelihood, maximum a posteriori and expected a posteriori methods for estimating person scores.

The upcoming version 4 of jMetrik provides new features for item response theory and factor analysis. Newly implemented marginal maximum likelihood estimation makes available a wide array of item response models such as the 4PL, 3PL, 2PL, and Rasch models for binary items and the generalized partial credit and partial credit models for polytomous items. These new features are also tightly integrated with the existing scale-linking and person-scoring procedures currently found in the software. Exploratory factor analysis - using minres, maximum likelihood and principal components - expands the measurement capabilities of jMetrik into multiple dimensions. These methods are accompanied by a variety of rotation methods and the ability to compute polychoric and polyserial correlations. An early release of version 4 is available for download, but it will be in development for another month or two before its official release.

A key benefit of jMetrik is that it uses a single framework to combine psychometric methods that have traditionally required multiple programs. This feature allows a researcher to quickly transition from one method of analysis to another (e.g., in jMetrik the output from parameter estimation is the input for scale linking). This tight integration contrasts with other software. For instance, a researcher not using jMetrik might need up to three programs to estimate item parameters and conduct scale linking. There would be one program for estimation, one for linking and another for reshaping and managing data. Even with a program like R, it can take considerable work to make functions from one package work efficiently with functions from another package. jMetrik was designed to avoid this frustration by integrating the workflow for a variety of psychometric procedures.

jMetrik has a user-friendly interface that is easy to learn. An analysis can be executed through point-and-click menus and dialog boxes. This feature allows new users to quickly learn the software, and it also makes it much easier to teach measurement to students. From my own experience with teaching a course in item response theory, I know it can quickly digress into a course on using software. Class time that should be dedicated to instruction gets consumed by the time needed to debug archaic syntax and Fortran format statements. jMetrik's point-and-click interface avoids these struggles and allows professors to reclaim class time for teaching psychometric theory.

Although the point-and-click interface is the most obvious way to execute an analysis in jMetrik, it is not the only way. Every method of analysis can also be executed and fully automated through command scripts. In fact, the dialogs simply build scripts in the background; it is the scripts that drive the program. All of the scripts executed by the program are saved in the log. A user can view the log and save and edit scripts for later use. Given that this feature is less well-known among users, version 4 will make it easier for users to access and write command scripts. In particular, in version 4 the command log has been separated from the error log. The command log keeps a running record of all of the methods executed by a user. It can be saved and used later to rerun the analysis, with only a few modifications (e.g., changing the names of data tables).

A primary motivation for creating jMetrik was the need for more transparency in psychometric computing. Closed, proprietary software has been the norm in the development of high-stakes tests, but this limitation makes it difficult for stakeholders to check and verify the integrity of the program. jMetrik is divided into two publically available Java libraries. The jMetrik library contains all of the interface and database code, and the psychometrics library contains all of the measurement and psychometric methods. All of the code is available online at GitHub. Anyone can browse the source code and download it. Programmers familiar with the Java programming language can also modify the code and contribute patches or new features. (Note that code modifications do not affect the library until reviewed and approved.) Licensing for the psychometrics library permits royalty-free use in proprietary software without any further stipulations. In this way, companies can use the psychometrics library to build enterprise-grade proprietary systems using tools that are available to the public.

New features and capabilities will continue to be added to jMetrik. If you are interested in contributing to its development, please contact me. People of all skill levels can contribute to the project. There is need for people who can write documentation and create tutorials and a need for people who can write Java code to implement new psychometric procedures. Perhaps the best way to contribute is to download and try the software. You will find it to be a powerful yet user-friendly software application for psychometrics.

Editor's Note: Patrick Meyer is an associate professor in the Curry School of Education at the University of Virginia. I invited Patrick to write an overview article about jMetrik because I have used it extensively in my own work and can attest to the features and benefits he describes. I would emphasize the software's accessibility: it is a free application; its integrated workflow and intuitive user interface make it relatively easy to master for students and others lacking experience with statistical computing; and Patrick listens to his community of users and incorporates their feedback and suggestions in successive iterations of jMetrik.


Meyer, J. P. (2014). Applied measurement with jMetrik. New York: Routledge.

Meyer, J. P., & Hailey, E. (2012). A study or Rasch, partial credit, and rating scale model parameter recovery in WINSTEPS and jMetrik. Journal of Applied Measurement, 13(3), 248-258.

Linacre, J. M. (2010). A user's guide to WINSTEPS/ MINISTEPS Rasch-model computer programs: Program manual 3.71.0. Chicago: Winsteps.com.