Skip to main content
01

FinSight

Financial Analytics & Evidence-Grounded AI

FinSight explores how finance teams can interact with financial information using natural language without relying on language models for authoritative calculations. Every number is computed deterministically; the AI layer interprets the question and explains validated evidence. It never calculates.

Phynapse research & engineering project · Synthetic data

01

The business problem

Finance teams want to ask plain-language questions of their numbers: why did operating expenses rise, how did margin move, where is budget being exceeded.

Language models are fluent but unreliable with arithmetic. A model that produces or modifies financial values creates answers that cannot be audited, which is unacceptable for financial reporting.

02

What we engineered

FinSight separates interpretation from calculation. A question is turned into a validated analysis plan drawn from a closed catalogue, executed by a deterministic Python/Pandas analytics engine, and packaged as evidence in which every fact carries its source dataset and formula. Explanations are generated only from that evidence package.

03

What the system does

Natural-language questions

Business questions answered against a controlled financial dataset, returning an answer, interpretation, evidence and caveats.

Deterministic analytics

Eight catalogued analysis types, including revenue performance, profitability, expense variance, budget variance, vendor spend and trends.

Evidence with provenance

Each fact records its source dataset, source fields and calculation, so every statement can be traced.

Grounded explanations

Each explanatory sentence references an evidence item; the explanation layer never receives raw data.

Abstention by design

Questions outside the catalogue return "unsupported" rather than a speculative answer.

Data integrity checks

Cross-dataset integrity checks and ledger-to-income-statement tie-outs run at startup.

04

Design decisions

  1. 01

    Deterministic analytics first, language model second. Financial arithmetic is reproducible, testable and auditable.

  2. 02

    The analysis plan is a closed vocabulary: arbitrary operations are impossible by construction.

  3. 03

    LLM output is validated against typed schemas before use; a parse failure returns a structured error, not an invented answer.

  4. 04

    When no model is configured, rule-based interpretation and templated explanations keep the system fully functional.

05

How information moves through the system

  1. 1

    Question interpreter

    Maps the question to a metric, analysis type and period.

  2. 2

    Analysis planner

    Accepts only catalogued analysis types and metrics.

  3. 3

    Deterministic engine

    Python / Pandas computes all metrics, breakdowns and series.

  4. 4

    Evidence package

    Every fact carries source dataset and formula.

  5. 5

    Explanation generator

    Grounds each sentence in an evidence item ID.

  6. 6

    Structured answer

    Answer, interpretation, evidence and caveats.

06

Built with

  • Python
  • Pandas
  • FastAPI
  • Pydantic
  • React + Vite
  • pytest
  • OpenAI / Anthropic / Ollama (optional)

As documented in the project repository.

07

What this project is, and is not

  • Engineered portfolio system using synthetic data only. Not financial advice and not an accounting system.
  • Current interpretation is rule-based; questions outside the alias catalogue return "unsupported".
  • The transaction ledger covers one fiscal year; some comparisons lack actual-spend data.
  • In-memory storage: analysis results do not persist across restarts.

Review the engineering in the open.

The full source, documentation and tests for FinSight are available on GitHub.