Een Vector Error Correction Model (VECM) kan worden gezien als een uitbreiding van een VAR-model. Waar een VAR-model vereist dat alle opgenomen variabelen stationair zijn, doet een VECM dat niet. In plaats daarvan moeten de variabelen onderling worden geïntegreerd, wat betekent dat er een lineaire combinatie bestaat die stationair is. Deze lineaire combinaties kunnen voor k tijdreeks y1,... , iky1, ... ,ykworden geschreven als

waarbij de β-termen coëfficiënten zijn en yi, tzijn de waarnemingen van een variabele ik op het moment t.
De eerste stap om een VECM-model aan te passen is om te bepalen of er sprake is van co-integratie in de gegevens. Dit wordt gewoonlijk gedaan met behulp van de Johansen-test, die het aantal stationaire lineaire combinaties bepaalt. Deze worden aangeduid als co-integratievectoren en het aantal, zoals bepaald door de Johansen-test, wordt meestal aangegeven met de letter r.
Uit het artikel over VAR-modellen hebben we de vergelijkingen waarin elke variabele wordt beschreven als een functie van zijn eigen vertragingen en de vertragingen van de andere variabelen als

waar de fouttermen μtis het onderdeel van ytytwat niet door het model wordt verklaard. In het model zijn er k vergelijkingen, één voor elke variabele. De voorwaarden eenlzijn matrices die de coëfficiënten bij lag l in alle vergelijkingen bevatten en ytis een vector van de waarnemingen van alle variabelen op tijdstip tt.
In een VECM-model is het VAR-proces gemodelleerd op de eerste verschiltransformatie van de variabelen, aangeduid met Δtb1top het moment tt. Het volledige VECM-model kan nu worden geschreven als

waar β is een matrix die de coëfficiënten bevat van de co-integratievectoren en αα is een matrix die de aanpassing vectoren voor de co-integratievectoren.
Als we de vergelijking bestuderen, kunnen we zien dat het eerste verschil van de tijdreeks wordt gemodelleerd als een functie van de co-integratievectoren en de vertragingen van elke tijdreeks.
Om in een VECM-model te passen, is de eerste taak het selecteren van de volgorde (d.w.z. het aantal vertragingen) ervan. In Indicio wordt dit gedaan door VAR-modellen van order 1 te monteren,... , pmax 1, ... ,pmax waarbij pmaxpmax is het maximale aantal vertragingen dat door de gebruiker is geselecteerd. Het model dat het beste bij de gegevens past volgens het informatiecriterium (AIC) van Akaike is geselecteerd. Dit geeft de voorkeur aan een eenvoudig model boven een ingewikkelder model, maar zorgt nog steeds voor een goede pasvorm van het model.
Nadat de lag-volgorde is geselecteerd, wordt de Johansen-test toegepast om de co-integratierang te bepalen r. Als deze parameters zijn geselecteerd, wordt het model aangepast aan de gegevens.