CITRFiling Change Signal

CitroTech Inc.

Year-over-year narrative change on CITR 10-K and 10-Q filings

Get API Access

Ticker

CITR

Forms

10-K + 10-Q

Refresh

Weekly

Sections

3

What the CITR Filing Change Signal measures

Each time CitroTech Inc. files a 10-K or 10-Q, VectorFin compares it to the same issuer's prior-year filing (a 10-K to last year's 10-K; a 10-Q to the same quarter a year earlier) and measures how far the language moved. We report a lexical change (TF cosine and token-set jaccard) and a semantic change (cosine over 768-dim Gemini embeddings), then publish the divergence between them. A high lexical change with low semantic change is a format reshuffle; a high change on both is a genuine disclosure shift. This operationalizes the Lazy Prices anomaly. Every row is bitemporal, carrying effective_ts (the period reported) and knowledge_ts (EDGAR acceptance), so percentiles are ranked point-in-time with no look-ahead.

Sections scored for CITR

Each filing is compared at three grains, requested via the section param.

risk_factors

Risk Factors (Item 1A)

The enumerated risks. Quiet additions here, like Zillow's Offers language, are the classic Lazy Prices tell.

mda

MD&A (Item 7)

Management's Discussion & Analysis. Tone and emphasis on results, liquidity, and outlook shift here before the numbers do.

document

Whole document

The full filing, for a single top-line read on how much the issuer's disclosure moved year over year.

Access via API

bash
# Latest 10-K change metrics for CITR (risk factors section)
curl https://api.vectorfinancials.com/v1/filings/CITR/changes \
  -H "X-API-Key: vf_sk_your_key_here" \
  -G \
  -d "form_type=10-K" \
  -d "section=risk_factors" \
  -d "limit=5"

Example response (one FilingChangeRecord):

2026-06-142025-12-31
json
[{
  "ticker": "CITR",
  "cik": "0000000000",
  "accession": "0000000000-25-000079",
  "prior_accession": "0000000000-24-000123",
  "filing_type": "10-K",
  "comparison": "yoy_same_type",
  "effective_ts": "2025-12-31T00:00:00Z",
  "knowledge_ts": "2026-02-12T21:14:00Z",
  "sections": [
    {
      "section_id": "risk_factors", "parse_status": "ok",
      "cosine": 0.90, "jaccard": 0.86,
      "change_pctile_universe": 0.71,
      "cosine_embedding": 0.96,
      "lex_sem_divergence": 0.06,
      "format_switch_suspected": false,
      "word_count": 12940, "prior_word_count": 12110,
      "null_reason": null
    },
    {
      "section_id": "mda", "parse_status": "empty",
      "cosine": null, "jaccard": null,
      "change_pctile_universe": null,
      "cosine_embedding": null,
      "lex_sem_divergence": null,
      "format_switch_suspected": null,
      "word_count": null, "prior_word_count": null,
      "null_reason": "empty_section"
    }
  ]
}]

Illustrative shape. change = 1 − cosine; here lexical and semantic both move only modestly and the format-switch flag is clear, so the risk-factor edit reads as real but minor. The empty mda section shows an honest null: the issuer declared no material change, so we report no metric rather than a fabricated zero. Read every field in the docs.

Track CITR disclosure changes in your pipeline

Free tier covers the top 100 tickers and 250 calls a month. Pro delivers the full universe via Snowflake or BigQuery Iceberg.