Today we're sharing details on Nico 2.5 — Macrodeep's first frontier model, purpose-built for go-to-market work. It's a 120B-parameter mixture-of-experts model, post-trained on 800M+ real B2B records and paired with live retrieval over our knowledge graph at inference time. It is the model that powers Salestools GTM and the agent fleet inside Grain.

Why a specialist, not a generalist

General-purpose chat models are impressive at breadth. But go-to-market work has a different character from open-ended conversation. It demands precision over creativity, citation over confidence, and the ability to reason across a living database of accounts, contacts, signals, and deals rather than a single document.

The best revenue models, we believe, will be trained almost exclusively on go-to-market artifacts — real company filings, prospect graphs, outbound sequences, reply histories, CRM writes, and the industry taxonomies that glue the rest of the stack together. That is what Nico 2.5 is trained on.

The architecture

Nico 2.5 is a 120B-parameter mixture-of-experts model. We chose MoE over a dense architecture because the efficiency wins are too large to ignore — we serve inference on a single high-end GPU while retaining the representational depth of a 100B-class dense model. Every constraint we applied to the training data flows from that design goal: produce a model sharp enough to be useful and cheap enough to be autonomous.

Three-stage post-training: CPT → SFT → DPO

Nico 2.5 is trained in three stages, each fixing a different failure mode of the base model.

  1. Continued pre-training (CPT). We expose the model to the structured universe of B2B — serialized company blocks, SEC filings, and industry taxonomies — so it learns the vocabulary of revenue before it ever tries to speak it.
  2. Supervised fine-tuning (SFT). We teach the model what good GTM output looks like: first-touch emails that get replies, reply classifications that match human reps, account briefs that cite their sources.
  3. Direct preference optimization (DPO). We sharpen judgment on pairs where one response led to a reply or meeting and the other didn't. The model learns which micro-choices in tone, proof-point, and call-to-action actually convert.

What Nico 2.5 trained on

A language model is what it eats. Nico's diet is GTM: structured B2B records, real outbound, public filings, and the taxonomies that glue revenue together.

Corpus
Source
Purpose
Scale
Company graph
Macrodeep B2B knowledge graph
CPT — structured firmographic context
Hundreds of thousands of companies
Prospect graph
Macrodeep contact knowledge graph
CPT — people, roles, headcount context
Hundreds of millions of records
Outbound emails
Salestools outbound corpus · reply-labeled
SFT + DPO — outbound writing
80M+ emails · ~10M DPO pairs
Public filings
SEC EDGAR (10-K, 10-Q, 8-K)
CPT — enterprise context grounding
~15 GB raw
Industry taxonomies
NACE 2.1 · SIC · NAICS 2022 · CAEN + crosswalks
Cross-system industry alignment
~800K codes unified
Tech-stack signals
Techtracker by Salestools (in-house)
Capability / ICP signal context
~4M domains
Compliance & registries
Public registries + disclosure feeds
Regulatory reasoning
~1M entity records

Structured ingestion

Our load-bearing CPT primitive is a structured company block — a flat rendering of each record in our knowledge graph into identity, location, size, description, and classification sections. To prevent the model from memorizing a template, section order is randomized per document. The result: Nico 2.5 can ingest a CRM record in any natural order, not a fixed form.

The schema is versioned alongside our live data layer, so the training corpus stays aligned with the corpus the model retrieves from at inference time. Add a field to your CRM tomorrow, and Nico can read it without a retraining cycle.

Retrieval-native inference

Nico 2.5 is not a closed-book model. At inference time it is paired with the same retrieval layer it was trained on — the company graph, the prospect graph, and the live signal index that surfaces filings and hiring activity. The model is taught how to query, when to query, and how to cite. Every account brief and outreach draft ships with a citation trail back to the underlying source.

This is the piece that separates Nico 2.5 from prompt-engineered generalist models. A chat model stuffed with a retrieval prompt guesses. Nico 2.5 has been post-trained against the retrieval schema and reasons about its own source material.

Engineering principles

  • Determinism over cleverness. Long-running ingestion jobs are reproducible end-to-end. Same input, same shards, same training mix — every run.
  • Schema-as-source-of-truth. Training and serving share one schema. When the data layer evolves, the model evolves with it; we never let the serving corpus drift away from the training corpus.
  • Compressed columnar shards. Every corpus lands in compressed, streamable shards — cheap to store, fast to feed a training run, and traceable per record so we can attribute any model behavior back to a single input.
  • Continuous regression testing. Golden-file tests on synthetic records gate every serialization change. A regression to a field mapping fails CI before it touches the production corpus.

Efficiency as a design goal

Nico 2.5 should be competitive with models many times its size. Inference on a single H100 — not a server farm. That forced discipline everywhere: what we kept in the training corpus, how we compressed the retrieval prompt, how we budgeted tokens for thinking traces. The next wave of capable AI won't be the largest models — it will be the sharpest ones, post-trained on the exact distribution they're asked to serve.

What ships next

Nico 2.5 powers Salestools GTM and the agent fleet inside Grain today. In the coming weeks we'll publish benchmarks, open API access, and share the research posts that go deeper on each stage — the DPO preference-pair generation pipeline, the multi-turn agentic trajectories, and the scaffolding that lets Nico run multi-step revenue workflows end-to-end.

Built by the lab

Request Nico 2.5 API access.

Private deployments available for enterprise customers — Nico 2.5 runs inside your VPC so prospect data never leaves your network.

Request access Model page
← Back to research