Stanは次のような仕組みを持つソフトウェアである。
Stanモデリング言語を用いて事前分布とモデルの設定を与えると、ハミルトニアンモンテカルロ法に基づいて事後分布に従う乱数を発生させるC++コードを生成する。
生成したコードをコンパイルすると、予め用意されていたライブラリを用いて実行できるバイナリができあがる。
これにデータを与えて実行すると、事後分布に従う疑似乱数列を出力する。
出力されるのは疑似乱数列のデータである。たとえば平均やメディアンを計算したり、ヒストグラムを描くなど、データの扱いにまた別のソフトウェアを必要とするため、通常はRやPythonなどの環境を通して用いられる。
ここでは、Rを通じてStanを利用することにする。