Established: June 1, 2013

Tabular is a Excel add-in that brings the power of model based machine learning to data enthusiasts.
It allows the user to write a simple model that explains their data and perform Bayesian inference. Tabular is built on top of Infer.NET.

Tabular is a probabilistic programming language that brings the power of machine learning to data enthusiasts — the large class of spreadsheet users who wish to model and learn from their data, who have some knowledge of probability distributions and data schemas, but who are not necessarily professional developers. Tabular helps the data enthusiast model and visualize their data. Tabular automatically suggests a model from the data schema, allows the enthusiast to edit and refine the model, infers model parameters from data and predicts missing values, and visualizes the results using Excel’s standard features. The ability to query for missing values provides a uniform interface to a wide variety of tasks, including classification, clustering, recommendation, and ranking. Tabular is based on probabilistic programming technology, which enables a wide range of machine learning algorithms to be constructed based on a probabilistic model. A unique feature is that Tabular models are simply succinct annotations on the relational schema of the Excel data model. Tabular provides a fast and fluid visual interface to the underlying Infer.NET inference engine.

Tabular is available in two forms: as an add-in for Excel (see the screenshot) or a simple command-line tool tc.exe consuming and producing data as csv files.

The Excel Add-in available in binary form under the MSR-EULA.

The command line tool is available in source form from GitHub and released under a liberal MIT License.


The Excel Add-in is available as an MSR download.

GitHub repository:

Microsoft internal users may wish to join the Tabular Distribution Group (tabular-discussions) to provide feedback including bug reports.

External users please contact us directly at tabular-discussions or communicate via the GitHub project site.


This is joint work with Johannes Borgstroem (Uppsala University) and Marcin Szymczak (University of Edinburgh).


The core language is now available here.