# Self-Hosted Odoo AI Assistant Sizing and Value Calculator

> Source: https://netray.co/tools/odoo-self-hosted-ai-assistant-sizing-and-value-calculator
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

Estimate GPU count, token volume, index size, hours saved and payback for a private on-prem AI assistant on Self-Hosted Odoo.

## Category

on-prem-ai

## Erp

Odoo

## Audience

- CIO
- IT manager
- Finance controller
- ERP consultant

## Tool

**Kind:** calculator

**Currency:** $

**Inputs:**

#### Named users

**Key:** users

**Type:** number

**Default:** 80

**Min:** 1

**Step:** 5

**Unit:** users

**Help:** Licensed or named Self-Hosted Odoo users who could use the assistant.

#### Share active on a typical day

**Key:** active

**Type:** slider

**Default:** 45

**Min:** 5

**Max:** 100

**Step:** 5

**Unit:** %

**Help:** Percent of named users who ask at least one question per day.

#### Questions per active user per day

**Key:** q

**Type:** number

**Default:** 8

**Min:** 1

**Step:** 1

**Unit:** questions

#### Average prompt plus answer size

**Key:** tokens

**Type:** number

**Default:** 1800

**Min:** 200

**Step:** 100

**Unit:** tokens

**Help:** Include retrieved context. Typical range 1000 to 3000.

#### Documents to index

**Key:** docs

**Type:** number

**Default:** 30000

**Min:** 0

**Step:** 1000

**Unit:** documents

#### Average pages per document

**Key:** pages

**Type:** number

**Default:** 4

**Min:** 1

**Step:** 1

**Unit:** pages

#### Minutes saved per question

**Key:** mins

**Type:** number

**Default:** 3

**Min:** 0

**Step:** 0.5

**Unit:** minutes

**Help:** Measure in a pilot; this is the most uncertain input.

#### Loaded hourly cost

**Key:** rate

**Type:** number

**Default:** 35

**Min:** 0

**Step:** 1

**Unit:** per hour

#### GPU monthly cost

**Key:** gpucost

**Type:** number

**Default:** 1800

**Min:** 0

**Step:** 100

**Unit:** per GPU per month

**Help:** Amortised purchase plus power, space and support, or a private cloud rate.

#### Aggregate tokens per second per GPU

**Key:** tps

**Type:** number

**Default:** 1500

**Min:** 100

**Step:** 100

**Unit:** tokens/s

**Help:** Assumption: depends on model, quantisation and batching. Measure on your hardware.

#### GPUs needed to hold the model

**Key:** modelgpus

**Type:** select

**Default:** 1

**Options:**

##### 1 GPU

**Value:** 1

##### 2 GPUs

**Value:** 2

##### 4 GPUs

**Value:** 4

#### One-time setup cost

**Key:** setup

**Type:** number

**Default:** 35000

**Min:** 0

**Step:** 1000

**Unit:** once

**Help:** Integration, indexing, testing and rollout effort.

**Outputs:**

#### Active users per day

**Key:** active_users

**Expr:** users * active / 100

**Format:** integer

#### Questions per day

**Key:** q_day

**Expr:** active_users * q

**Format:** integer

#### Tokens per day

**Key:** tok_day

**Expr:** q_day * tokens

**Format:** integer

**Description:** Questions per day times average tokens per question.

#### Peak concurrent requests

**Key:** peak_conc

**Expr:** max(1, ceil(q_day * 0.25 / 3600 * 20))

**Format:** integer

**Description:** Assumes 25% of daily questions in the busiest hour and 20 seconds per answer.

#### Peak load

**Key:** load_tps

**Expr:** max(peak_conc * 40, tok_day * 0.25 / 3600)

**Format:** integer

**Description:** Tokens per second: the larger of 40 tokens/s per concurrent stream and busy-hour token volume.

#### GPUs needed

**Key:** gpus

**Expr:** max(modelgpus, ceil(load_tps / tps))

**Format:** integer

**Primary:** true

**Description:** Larger of the GPUs needed to hold the model and load divided by throughput per GPU.

#### GPUs with a standby replica

**Key:** gpus_ha

**Expr:** gpus + modelgpus

**Format:** integer

**Description:** Adds one more model replica for resilience.

#### Vector index size

**Key:** index_gb

**Expr:** docs * pages * 2 * 6 / 1000000

**Format:** decimal

**Description:** GB, assuming 2 chunks per page and about 6 KB per chunk including vectors and metadata.

#### Hours saved per month

**Key:** hours

**Expr:** q_day * 21 * mins / 60

**Format:** hours

**Description:** 21 working days per month.

#### Monthly value

**Key:** value

**Expr:** hours * rate

**Format:** currency

#### Monthly GPU cost (with standby)

**Key:** cost

**Expr:** gpus_ha * gpucost

**Format:** currency

#### Net monthly value

**Key:** net

**Expr:** value - cost

**Format:** currency

**Primary:** true

#### Simple payback

**Key:** payback

**Expr:** if(gt(net, 0), setup / net, 0)

**Format:** months

**Description:** Setup cost divided by net monthly value. Zero means value does not cover running cost.

**Chart:**

#### Monthly value vs GPU cost by named users

**Type:** line

**X:** users

**From:** 10

**To:** 1000

**Steps:** 25

**Series:**

- value
- cost

**Disclaimer:** Planning estimate. Throughput, minutes saved and token counts vary widely; measure them in a pilot before committing budget.

## Content

**Intro:** This free calculator estimates GPU count, token load, attachment index size, hours saved and payback for a private AI assistant on self-hosted Odoo. Use the chart to see how cost and value change with user count.

**Sections:**

#### How to use the calculator

**Body:** Enter Odoo named users and the share that use the assistant each day, plus questions per active user and tokens per question and answer. Add the attachments you plan to index and their average pages, then minutes saved, loaded hourly cost, the monthly GPU cost and a one-time setup cost. Outputs show peak concurrency, GPUs with a standby, index size, hours saved and payback.

#### Formulas and assumptions

**Body:** Active users are named users times the active share. Daily questions multiply by questions per user. The busiest hour is assumed to carry 25 percent of daily questions at 20 seconds per answer. Load is the larger of concurrency times 40 tokens per second and busy-hour tokens per second. GPUs are the larger of the model requirement and load over throughput per GPU, and the standby adds one model replica. Index size is 2 chunks per page at about 6 KB. A month is 21 working days. API call load on Odoo is not included.

#### Reading the result

**Body:** Odoo sites are often small enough that one GPU covers load, so cost is dominated by setup and attachment indexing. The value depends on minutes saved per answer, which you should measure on real tasks. If payback is zero, value is below running cost for these inputs. Try fewer GPUs, a smaller model or a narrower scope.

**Cta:** If you want these estimates checked against your Odoo usage, Netray can help scope a pilot. The calculator is free and needs no contact.

**Faq:**

#### Does the Odoo server need extra capacity?

**Answer:** Assistant calls become extra API requests. For modest use this is small, but heavy search_read calls on large tables can matter, so limit fields and rows and consider a replica for aggregates.

#### How many attachments should I index?

**Answer:** Start with documents users actually search, such as vendor quotes, certificates and work instructions. Index size is small compared with model memory, but ingestion time grows with volume.

#### What throughput per GPU is realistic?

**Answer:** Aggregate throughput depends on model size, quantisation and batching. A range of 800 to 2500 tokens per second is common for mid-size models; measure on your hardware.

#### Can I compare scenarios?

**Answer:** Yes. Change users, questions per day or minutes saved and watch the outputs and chart update. Export the result to share with finance.

## Search terms

Self-Hosted Odoo AI cost, Self-Hosted Odoo AI ROI calculator, on-prem LLM GPU sizing calculator, private AI assistant payback, ERP AI sizing tool, GPU count for LLM users, vector index size estimate

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
