Skip to content

Argan Inc: common-stock repurchase payments

Argan common-stock repurchase payments: $9.88 million for the year ending 2026-01-31, up 548.1% on the year. 5 values since 2022, each linked to its SEC filing.

All Argan Inc financial histories

At a glance

Argan reported common-stock repurchase payments of $9.88 million for the year ending 2026-01-31, up 548.1% from $1.52 million a year earlier. From 2022 to 2026 it fell at a compound 16.6% a year, from $20.4 million to $9.88 million. Across the last five reported years it ranged from $1.52 million (2025-01-31) to $68.2 million (2023-01-31). That was 1.0% of revenue ($944.6 million) for the same year.

Computed from the values in the table below, in USD; each links to the filing it came from.

What this measure means

Cash paid to reacquire common stock during the period. This is not an authorization limit or a direct measure of the net change in share count.

Exact concept: us-gaap:PaymentsForRepurchaseOfCommonStock. Each value covers an annual-duration reporting interval, shown with both start and end dates. Different units remain separate; no currency conversion or interpolation is applied.

Coverage of this history

Selected reporting periods run from 2021-02-01 to 2026-01-31. The SEC response was captured on 2026-09-19.

Selected filing history

Common-stock repurchase payments in original reported units, latest-filed observation per period
Period startPeriod endValueUnitFiledSource filing
2025-02-012026-01-319,877,000USD2026-03-2610-K · 0001104659-26-035216 SEC
2024-02-012025-01-311,524,000USD2026-03-2610-K · 0001104659-26-035216 SEC
2023-02-012024-01-3112,464,000USD2026-03-2610-K · 0001104659-26-035216 SEC
2022-02-012023-01-3168,236,000USD2025-03-2710-K · 0001558370-25-003819 SEC
2021-02-012022-01-3120,372,000USD2024-04-1110-K · 0001558370-24-004979 SEC

Related ARGAN INC histories

All 55 Argan histories

Inspect the source

Entity
ARGAN INC / CIK 0000100591
Captured
SEC response SHA-256
ae837c47792a2cd0db770e3abc8bd739d0f79e137042f660c8fe230f54d68935

Current SEC company facts · Download the original response snapshot (gzip) · Download the selected JSON

Latest-filed annual-report facts per unit and reporting period at capture time. Duration facts cover 300 to 400 days. This selection can include restatements and is not a point-in-time backtest dataset. Missing concepts are omitted, never zero-filled. Values retain original units and are not currency converted. Extended concepts require compatible unit shapes and at least three reporting ends with changing values within one unit. Constant or incompatible added histories are omitted.

Public company accounting reference, not market prices, returns, an investment recommendation, or ALPHAC performance. Validate a separately constructed return series with the validation API; accounting values are not returns.

Use this in research

A financial period ends before its results become public. Use the filing date as a minimum availability boundary, inspect amendments, and retain the original filing vintage when testing historical signals. This latest-filed selection can contain information unavailable at the time.

These pages do not supply prices, total-return histories, corporate-action adjustments or a tradable universe. Build those inputs separately before evaluating a strategy. A profitable backtest can still reflect selection bias or costs that were left out.

Research methodology · Execution and cost assumptions · Check backtest overfitting

Build with the open-source tools

Use these accounting records as inspectable inputs. When you have constructed a return series, the validation tools can help test its statistical evidence and preserve the result with its limitations.

The MCP server is free and MIT-licensed: npx -y canli-mcp. If these records help your research, a star on GitHub helps other researchers find them.

Read the published dataset with Python
import json
from urllib.request import urlopen

with urlopen("https://canlicapital.com/company-data/0000100591.json") as response:
    record = json.load(response)
print(record["fetched_at"])
print(record["policy"])
for concept in record["concepts"]:
    print(concept["tag"], next(iter(concept["observations"])))