Statistical software is any collection of software routines and associated information that share a common interface and whose purpose is to directly contribute to the production of some type of statistical analysis, including the performance of other ancillary tasks, such as data management. Statistical software is often referred to as a statistical package, since the program is typically composed of a series of individual data processing procedures packaged into a common application accessed through a single user interface.

Today, it is very rare to see someone begin statistical data analysis using a calculator. Although statistics deals with numbers, few people actually do the math. With the right software, computers relieve the user of the tedious computations and shift the focus of the user to understanding and interpreting the data, though this increases the risk of misapplying methods if the user lacks a foundational understanding of the underlying assumptions.

The vast majority of statistical procedures are automated through the numerous statistical packages available on the market. Statistical software varies in its comprehensiveness, complexity, capabilities, price, and other features. Each package has its advantages and disadvantages, and the evaluation of statistical software should be made in relation to the explicit goals and market segment for which it is intended.

For example, a program that is rich enough in statistical methods and options to meet the needs of classical statistics will hardly be able to offer the directness, speed, and integration required by data exploration. Likewise, a program that offers numerous options for customizing statistical procedures from the command line will probably be too complicated for the occasional user who wants to perform simple analysis and obtain results in a format that is standard for their respective field of expertise. While traditional monolithic software struggled to please all audiences, modern open-source ecosystems (such as R or Python) overcome this by offering modular environments tailored to both beginners and advanced users.

It is generally believed that it takes 10 person-years to develop a single package, but over 100 person-years have been invested in the most famous programs.

If we view statistics as a science through the division into mathematical statistics (confirmatory data analysis, CDA) and scientific statistics (exploratory data analysis, EDA), then we can define different models of how these two types of statistics function. Depending on the applied model, the requirements that the statistical software should meet will also differ.

Schematically, software written for mathematical statistics should support the following cycle:

Data processing cycle diagram in mathematical statistics

For scientific statistics, this diagram looks like this:

Data processing cycle diagram in scientific statistics

Mathematical and scientific statistics are two extremes, which differ, among other things, in the purpose of analysis and the way in which they view data. Mathematical science views data as raw material that serves as input to a precisely defined processing process. This process is linear and is based on some kind of mathematical modeling with the aim of checking initial assumptions, using the collected data. Scientific statistics, on the other hand, involves an iterative process of exploring data with the aim of finding and understanding patterns that exist in the data. Statistical programs usually fall somewhere between these two extreme concepts.

In general, statistical software is used today for:

  • data input,
  • data organization,
  • data comparison,
  • data management,
  • data summarization, i.e. transformation of raw data into information,
  • generation of tables and graphs,
  • support for the presentation of information and the preparation of analytical reports, etc.

Statistical software can be used to understand existing concepts and to find new statistical properties. The growth of computing power has led to the implementation of very complex and demanding data processing algorithms that were not practically feasible until recently. In this way, the development of computers directly affects the development of statistics as a science. On the other hand, new developments in decision-making processes under uncertainty usually motivate the development of new approaches and revisions of existing software. Statistical software relies on the cooperation of statisticians and computer scientists, and it is important to always keep in mind that the statistical package is only a means to an end.