{
  "publisher": {
    "name": "FeedMatch Group",
    "id": "https://feedmatchgroup.com/#organization",
    "website": "https://feedmatchgroup.com/#website",
    "service": "https://feedmatchgroup.com/#procurement-service"
  },
  "methodologyUrl": "https://feedmatchgroup.com/calculator-methodology",
  "generatedFrom": "src/lib/calculator-registry.ts",
  "notice": "Planning and procurement estimate only. Final formulations, ingredient inclusion, nutrient targets, feed safety, additive use and regulatory compliance must be approved by appropriately qualified professionals and the responsible manufacturer.",
  "noGuarantee": [
    "nutritional adequacy",
    "feed conversion ratio",
    "growth",
    "mortality",
    "milk or egg production",
    "animal health",
    "product quality",
    "ingredient consistency",
    "market price",
    "profitability"
  ],
  "resultPrivacy": "Calculations run client-side. User formulas, quotations, prices, supplier identities, volumes and financing data are private, noindex and excluded from sitemaps.",
  "models": [
    {
      "calculatorId": "least-cost-formulation",
      "calculatorName": "Least-cost feed formulation (linear programming)",
      "calculationVersion": "3.0.0",
      "category": "formulation",
      "purpose": "Find the lowest-cost mathematical blend of the ingredients you list that satisfies the nutrient minimums and maximums you enter, so you can price a procurement basket before a nutritionist finalises the diet.",
      "url": "https://feedmatchgroup.com/feed-formulation-calculator",
      "embeddedAt": [
        "/custom-feed-formulation",
        "/feed-ration-formulas",
        "/feed-optimization/calculators"
      ],
      "applicableSpecies": [
        "Broiler",
        "Layer",
        "Swine",
        "Dairy cattle",
        "Beef cattle",
        "Fish",
        "Shrimp"
      ],
      "applicableLifeStages": [
        "Starter",
        "Grower",
        "Finisher",
        "Layer phase",
        "Lactation",
        "Fry/juvenile"
      ],
      "applicableFeedTypes": [
        "Mash",
        "Pellet",
        "Crumble",
        "Extruded"
      ],
      "applicableJurisdictions": [
        "Global (user must confirm local feed law)"
      ],
      "inputDefinitions": [
        {
          "name": "Species and life stage",
          "unit": "selection",
          "provenance": "buyer-input"
        },
        {
          "name": "Nutrient minimums and maximums",
          "unit": "% / kcal/kg / g/kg",
          "provenance": "professional-nutrient-target"
        },
        {
          "name": "Ingredient nutrient matrix",
          "unit": "% as-fed",
          "provenance": "generic-reference"
        },
        {
          "name": "Ingredient delivered price",
          "unit": "currency/tonne",
          "provenance": "market-price-input"
        },
        {
          "name": "Minimum and maximum inclusion per ingredient",
          "unit": "% of batch",
          "provenance": "buyer-input"
        },
        {
          "name": "Batch size",
          "unit": "kg or tonnes",
          "provenance": "buyer-input"
        }
      ],
      "outputDefinitions": [
        {
          "name": "Ingredient inclusion",
          "unit": "% and kg per tonne"
        },
        {
          "name": "Calculated nutrient profile",
          "unit": "% / kcal/kg"
        },
        {
          "name": "Blend cost",
          "unit": "currency/tonne"
        },
        {
          "name": "Binding constraints",
          "unit": "list"
        },
        {
          "name": "Infeasibility explanation",
          "unit": "text"
        }
      ],
      "formulaOrOptimizationMethod": "Minimise Σ(priceᵢ × xᵢ) subject to Σxᵢ = 100 %, nutrient rows Σ(nutrientᵢⱼ × xᵢ) ≥ minⱼ and ≤ maxⱼ, and per-ingredient bounds minᵢ ≤ xᵢ ≤ maxᵢ. Solved with a two-phase primal simplex (Big-M free, artificial-variable phase 1) in the browser. If phase 1 cannot drive the artificial variables to zero the model is reported as infeasible — constraints are never relaxed silently.",
      "nutritionalAssumptions": [
        "Nutrient targets are supplied by the user; FeedMatch does not set requirements.",
        "Ingredient values are generic reference composition on an as-fed basis unless the user replaces them with supplier or laboratory data.",
        "Amino acids are treated as total unless the user enters digestible values; the basis must not be mixed."
      ],
      "commercialAssumptions": [
        "Prices are delivered-to-mill prices entered by the user in one currency.",
        "No processing, shrink or mixing loss is added unless the user includes it in price."
      ],
      "regulatoryAssumptions": [
        "Additive and inclusion limits must be entered by the user from the authorised label or applicable regulation; the solver enforces the bounds it is given and knows no feed law."
      ],
      "defaultValues": "Reference ingredient composition and starting nutrient targets are pre-filled per species so the tool is usable, and are labelled as generic reference values to be replaced.",
      "defaultSources": [
        "Feedipedia (INRAE/CIRAD/AFZ/FAO)",
        "FAO feed resources documentation",
        "Published ingredient composition tables"
      ],
      "limitations": [
        "A mathematically feasible blend is not automatically nutritionally complete, biologically appropriate, safe, legal, manufacturable or commercially suitable.",
        "No palatability, anti-nutritional factor, mycotoxin, particle-size, pellet-quality or mixing-uniformity modelling.",
        "No vitamin/trace-mineral stability or premix carry-over modelling."
      ],
      "validationRules": [
        "Inclusions must total 100 %.",
        "Negative prices, negative inclusions and max < min are rejected.",
        "Fewer than three ingredients is reported as infeasible rather than solved.",
        "Conflicting constraints are named instead of being relaxed."
      ],
      "reviewedDate": "2026-08-21",
      "reviewedBy": "FeedMatch Group procurement editorial team (commercial and logistics review only — no nutrition, veterinary or engineering sign-off)",
      "confidenceLevel": "moderate",
      "reviewFlags": [
        "nutrition",
        "regulatory-laboratory"
      ],
      "rfqFields": [
        "Ingredient list",
        "Quantity per ingredient",
        "Species and stage",
        "Target specification",
        "Delivery destination"
      ],
      "resultPrivacy": "client-side-only",
      "indexable": true,
      "languages": [
        "en",
        "de",
        "fr",
        "es",
        "pt",
        "ar"
      ],
      "methodologyUrl": "https://feedmatchgroup.com/calculator-methodology#least-cost-formulation"
    },
    {
      "calculatorId": "ration-formula-library",
      "calculatorName": "Ready-made ration formulas (100 kg and 1 tonne)",
      "calculationVersion": "1.2.0",
      "category": "formulation",
      "purpose": "Show a worked, solver-generated example ration per species and phase with mixing quantities, nutrient summary and cost per tonne, as a starting point for a nutritionist review and an ingredient RFQ.",
      "url": "https://feedmatchgroup.com/feed-ration-formulas",
      "applicableSpecies": [
        "Broiler",
        "Layer",
        "Dairy cattle"
      ],
      "applicableLifeStages": [
        "Starter",
        "Layer phase",
        "Lactation"
      ],
      "applicableFeedTypes": [
        "Mash",
        "Pellet",
        "Concentrate"
      ],
      "applicableJurisdictions": [
        "Global (user must confirm local feed law)"
      ],
      "inputDefinitions": [
        {
          "name": "Species and phase",
          "unit": "selection",
          "provenance": "buyer-input"
        },
        {
          "name": "Ingredient prices",
          "unit": "USD/tonne",
          "provenance": "market-price-input"
        }
      ],
      "outputDefinitions": [
        {
          "name": "Mixing table",
          "unit": "kg per 100 kg and kg per tonne"
        },
        {
          "name": "Nutrient summary",
          "unit": "% / kcal/kg"
        },
        {
          "name": "Indicative cost",
          "unit": "USD/tonne"
        }
      ],
      "formulaOrOptimizationMethod": "Same simplex engine as the least-cost formulation tool, run against a fixed illustrative ingredient basket and published-style nutrient targets, then rendered as a mixing table.",
      "nutritionalAssumptions": [
        "Illustrative targets only — they are not a requirement standard and must be replaced with the targets your nutritionist approves."
      ],
      "commercialAssumptions": [
        "Indicative prices; landed cost in your market will differ."
      ],
      "regulatoryAssumptions": [
        "No additive, medication or regional restriction is applied."
      ],
      "defaultValues": "Fixed illustrative basket per species/phase.",
      "defaultSources": [
        "Feedipedia (INRAE/CIRAD/AFZ/FAO)"
      ],
      "limitations": [
        "These are worked examples for procurement planning, not diets to feed.",
        "No premix, medication or additive programme is included."
      ],
      "validationRules": [
        "Mixing tables must sum to the stated batch size within rounding tolerance."
      ],
      "reviewedDate": "2026-08-21",
      "reviewedBy": "FeedMatch Group procurement editorial team (commercial and logistics review only — no nutrition, veterinary or engineering sign-off)",
      "confidenceLevel": "indicative",
      "reviewFlags": [
        "nutrition"
      ],
      "rfqFields": [
        "Ingredient list",
        "Quantities at 100 kg and 1 tonne scale",
        "Species and phase",
        "Cost-per-tonne reference"
      ],
      "resultPrivacy": "client-side-only",
      "indexable": true,
      "languages": [
        "en"
      ],
      "methodologyUrl": "https://feedmatchgroup.com/calculator-methodology#ration-formula-library"
    },
    {
      "calculatorId": "feed-demand-fcr",
      "calculatorName": "Feed demand and FCR calculator",
      "calculationVersion": "2.1.0",
      "category": "demand",
      "purpose": "Convert an animal population and a production plan into feed tonnage per cycle, per year and per month so you can size a procurement contract and storage.",
      "url": "https://feedmatchgroup.com/feed-consumption-calculator",
      "embeddedAt": [
        "/feed-conversion-ratio-calculator",
        "/broiler-feed-calculator",
        "/poultry-feed-calculator",
        "/knowledge/tools/feed-consumption-calculator"
      ],
      "applicableSpecies": [
        "Broiler",
        "Layer",
        "Swine",
        "Cattle",
        "Fish",
        "Shrimp"
      ],
      "applicableLifeStages": [
        "Full cycle"
      ],
      "applicableFeedTypes": [
        "Complete feed"
      ],
      "applicableJurisdictions": [
        "Global (user must confirm local feed law)"
      ],
      "inputDefinitions": [
        {
          "name": "Animal count",
          "unit": "head",
          "provenance": "buyer-input"
        },
        {
          "name": "Target weight or output",
          "unit": "kg or eggs",
          "provenance": "buyer-input"
        },
        {
          "name": "FCR assumption",
          "unit": "kg feed / kg gain",
          "provenance": "buyer-input"
        },
        {
          "name": "Mortality",
          "unit": "%",
          "provenance": "buyer-input"
        },
        {
          "name": "Cycles per year",
          "unit": "count",
          "provenance": "buyer-input"
        }
      ],
      "outputDefinitions": [
        {
          "name": "Feed per cycle",
          "unit": "tonnes"
        },
        {
          "name": "Annual feed requirement",
          "unit": "tonnes"
        },
        {
          "name": "Per-animal feed",
          "unit": "kg"
        },
        {
          "name": "FCR / mortality sensitivity",
          "unit": "scenario range"
        }
      ],
      "formulaOrOptimizationMethod": "Feed = surviving animals × target live-weight (or output) × FCR, plus a partial allowance for feed consumed by animals lost before the end of the cycle. Scenario bands apply an FCR delta (conservative +0.10, optimistic −0.05). The correct intake model depends on the species and production system; this is a biomass × FCR approximation, not an intake-curve model.",
      "nutritionalAssumptions": [
        "FCR is the user's assumption. FeedMatch does not guarantee it and makes no performance claim."
      ],
      "commercialAssumptions": [
        "Wastage and safety stock are only included if the user enters them."
      ],
      "regulatoryAssumptions": [
        "None."
      ],
      "defaultValues": "Neutral placeholder values so the tool runs; replace with your own flock/herd figures.",
      "defaultSources": [
        "User-entered production data"
      ],
      "limitations": [
        "No temperature, strain, health-status, phase-feeding or intake-curve modelling.",
        "Layer and aqua systems need feed-per-output rather than weight-gain logic."
      ],
      "validationRules": [
        "Zero or negative animal counts, negative FCR and mortality above 100 % are rejected.",
        "Division by zero on per-animal outputs is guarded."
      ],
      "reviewedDate": "2026-08-21",
      "reviewedBy": "FeedMatch Group procurement editorial team (commercial and logistics review only — no nutrition, veterinary or engineering sign-off)",
      "confidenceLevel": "moderate",
      "reviewFlags": [
        "nutrition"
      ],
      "rfqFields": [
        "Annual tonnage",
        "Monthly delivery profile",
        "Species and stage",
        "Destination"
      ],
      "resultPrivacy": "client-side-only",
      "indexable": true,
      "languages": [
        "en",
        "de",
        "fr",
        "es",
        "pt"
      ],
      "methodologyUrl": "https://feedmatchgroup.com/calculator-methodology#feed-demand-fcr"
    },
    {
      "calculatorId": "premix-additive-quantity",
      "calculatorName": "Premix and additive quantity planner",
      "calculationVersion": "1.1.0",
      "category": "procurement",
      "purpose": "Turn an inclusion rate that you have already been given into per-batch and annual quantities, bag counts and a procurement schedule.",
      "url": "https://feedmatchgroup.com/feed-optimization/calculators",
      "applicableSpecies": [
        "Species-independent"
      ],
      "applicableLifeStages": [
        "Not stage-specific"
      ],
      "applicableFeedTypes": [
        "Premix",
        "Additive",
        "Concentrate"
      ],
      "applicableJurisdictions": [
        "Global (user must confirm local feed law)"
      ],
      "inputDefinitions": [
        {
          "name": "Approved inclusion rate",
          "unit": "kg/t, g/t, mg/kg or %",
          "provenance": "regulatory-limit"
        },
        {
          "name": "Annual feed production",
          "unit": "tonnes",
          "provenance": "buyer-input"
        },
        {
          "name": "Product concentration",
          "unit": "%",
          "provenance": "supplier-declared"
        },
        {
          "name": "Packaging size",
          "unit": "kg/bag",
          "provenance": "supplier-declared"
        }
      ],
      "outputDefinitions": [
        {
          "name": "Quantity per batch",
          "unit": "kg"
        },
        {
          "name": "Annual quantity",
          "unit": "tonnes"
        },
        {
          "name": "Bag count",
          "unit": "bags"
        },
        {
          "name": "Safety stock scenario",
          "unit": "tonnes"
        }
      ],
      "formulaOrOptimizationMethod": "Quantity = production tonnes × inclusion rate, after normalising the rate to kg/tonne (1 % = 10 kg/t; 1 g/t = 0.001 kg/t; 1 mg/kg = 1 ppm = 0.001 kg/t). Product-strength correction divides by declared concentration. Bag count rounds up.",
      "nutritionalAssumptions": [
        "FeedMatch does not recommend an inclusion rate. Obtain it from the manufacturer, a qualified nutritionist, the authorised label or the applicable regulation."
      ],
      "commercialAssumptions": [
        "Manufacturing loss is only applied if entered."
      ],
      "regulatoryAssumptions": [
        "Maximum permitted levels differ by jurisdiction, species and additive; the tool applies no limit of its own."
      ],
      "defaultValues": "None pre-set for inclusion rate — deliberately left empty so no rate is implied.",
      "defaultSources": [
        "Authorised product label",
        "Applicable feed-additive regulation"
      ],
      "limitations": [
        "No medication dosing, no withdrawal periods, no veterinary interpretation.",
        "Does not detect premix double counting across separate premix and straight-additive lines unless both are entered."
      ],
      "validationRules": [
        "Unit of the inclusion rate must be selected explicitly.",
        "Concentration must be > 0 and ≤ 100 %."
      ],
      "reviewedDate": "2026-08-21",
      "reviewedBy": "FeedMatch Group procurement editorial team (commercial and logistics review only — no nutrition, veterinary or engineering sign-off)",
      "confidenceLevel": "high",
      "reviewFlags": [
        "nutrition",
        "regulatory-laboratory"
      ],
      "rfqFields": [
        "Additive/premix identity",
        "Annual quantity",
        "Packaging",
        "Certification required",
        "Delivery schedule"
      ],
      "resultPrivacy": "client-side-only",
      "indexable": true,
      "languages": [
        "en",
        "de",
        "fr",
        "es",
        "pt"
      ],
      "methodologyUrl": "https://feedmatchgroup.com/calculator-methodology#premix-additive-quantity"
    },
    {
      "calculatorId": "landed-cost",
      "calculatorName": "Landed-cost (CIF/DDP) calculator",
      "calculationVersion": "2.0.0",
      "category": "logistics-landed-cost",
      "purpose": "Build a total landed cost per tonne from a supplier quotation plus freight, port, duty, tax, finance and loss lines that you enter, so quotations on different Incoterms become comparable.",
      "url": "https://feedmatchgroup.com/calculators",
      "applicableSpecies": [
        "Species-independent"
      ],
      "applicableLifeStages": [
        "Not stage-specific"
      ],
      "applicableFeedTypes": [
        "Raw materials",
        "Additives",
        "Complete feed"
      ],
      "applicableJurisdictions": [
        "Global (user must confirm local feed law)"
      ],
      "inputDefinitions": [
        {
          "name": "Unit price and currency",
          "unit": "currency/tonne",
          "provenance": "supplier-declared"
        },
        {
          "name": "Incoterm, origin, destination",
          "unit": "selection",
          "provenance": "buyer-input"
        },
        {
          "name": "Freight, insurance, port and inspection charges",
          "unit": "currency",
          "provenance": "buyer-input"
        },
        {
          "name": "Customs duty and taxes",
          "unit": "%",
          "provenance": "buyer-input"
        },
        {
          "name": "Finance cost and expected loss/shrinkage",
          "unit": "% ",
          "provenance": "buyer-input"
        },
        {
          "name": "Exchange rate and rate date",
          "unit": "rate",
          "provenance": "buyer-input"
        }
      ],
      "outputDefinitions": [
        {
          "name": "Supplier price subtotal",
          "unit": "currency"
        },
        {
          "name": "Freight and logistics subtotal",
          "unit": "currency"
        },
        {
          "name": "Border, duty and tax subtotal",
          "unit": "currency"
        },
        {
          "name": "Total landed cost",
          "unit": "currency"
        },
        {
          "name": "Landed cost per tonne",
          "unit": "currency/tonne"
        },
        {
          "name": "Sensitivity to FX, freight and loss",
          "unit": "range"
        }
      ],
      "formulaOrOptimizationMethod": "Landed = (unit price × quantity) + freight + insurance + port/inspection/testing + (dutiable base × duty %) + taxes + demurrage + inland + finance cost, divided by delivered tonnes net of the loss/shrinkage % you enter. Where a nutrient basis matters, cost per usable dry-matter tonne = landed per tonne ÷ dry-matter fraction.",
      "nutritionalAssumptions": [
        "Dry-matter correction only applies where you enter a moisture figure; do not compare an as-fed price with a dry-matter price."
      ],
      "commercialAssumptions": [
        "Every cost line is user-entered. No freight rate, duty rate, tax rate or exchange rate is fabricated or auto-filled from a market feed."
      ],
      "regulatoryAssumptions": [
        "Tariff classification and duty rates must be confirmed against your own customs tariff and HS classification."
      ],
      "defaultValues": "Zero for every cost line; illustrative figures are labelled as illustrative wherever shown in guides.",
      "defaultSources": [
        "Your freight forwarder",
        "Your customs broker",
        "Your bank's dated FX rate"
      ],
      "limitations": [
        "Excluded by default: demurrage beyond what you enter, storage after delivery, quality-claim outcomes, currency hedging cost."
      ],
      "validationRules": [
        "Quantity > 0.",
        "Loss % must be < 100.",
        "Exchange-rate date must be recorded with the rate."
      ],
      "reviewedDate": "2026-08-21",
      "reviewedBy": "FeedMatch Group procurement editorial team (commercial and logistics review only — no nutrition, veterinary or engineering sign-off)",
      "confidenceLevel": "high",
      "reviewFlags": [
        "commercial"
      ],
      "rfqFields": [
        "Product and specification",
        "Quantity",
        "Incoterm",
        "Destination port",
        "Packaging",
        "Delivery schedule"
      ],
      "resultPrivacy": "client-side-only",
      "indexable": true,
      "languages": [
        "en",
        "de",
        "fr",
        "es",
        "pt",
        "ar"
      ],
      "methodologyUrl": "https://feedmatchgroup.com/calculator-methodology#landed-cost"
    },
    {
      "calculatorId": "quote-normalisation",
      "calculatorName": "Supplier quotation normalisation and comparison",
      "calculationVersion": "1.0.0",
      "category": "procurement",
      "purpose": "Put competing quotations on one basis — same specification, moisture, packaging, Incoterm, payment terms and landed cost — and show what is missing rather than guessing.",
      "url": "https://feedmatchgroup.com/supplier-qualification-scorecard",
      "applicableSpecies": [
        "Species-independent"
      ],
      "applicableLifeStages": [
        "Not stage-specific"
      ],
      "applicableFeedTypes": [
        "Raw materials",
        "Additives"
      ],
      "applicableJurisdictions": [
        "Global (user must confirm local feed law)"
      ],
      "inputDefinitions": [
        {
          "name": "Quoted specification and nutrient basis",
          "unit": "text/%",
          "provenance": "supplier-declared"
        },
        {
          "name": "Incoterm, payment terms, lead time, validity",
          "unit": "text",
          "provenance": "supplier-declared"
        },
        {
          "name": "Certification and COA status",
          "unit": "status",
          "provenance": "supplier-declared"
        },
        {
          "name": "Landed cost inputs",
          "unit": "currency",
          "provenance": "buyer-input"
        }
      ],
      "outputDefinitions": [
        {
          "name": "Normalised landed cost per tonne",
          "unit": "currency/tonne"
        },
        {
          "name": "Comparability gaps",
          "unit": "list of missing fields"
        }
      ],
      "formulaOrOptimizationMethod": "Each quotation is restated on the buyer's chosen Incoterm and moisture basis using the landed-cost model, then displayed side by side. Suppliers are never ranked on price alone; missing or incomparable fields are shown as gaps.",
      "nutritionalAssumptions": [
        "Declared specifications are supplier statements, not verified analysis."
      ],
      "commercialAssumptions": [
        "Quotations remain confidential to the buyer; one supplier's quotation is never shown to another."
      ],
      "regulatoryAssumptions": [
        "Certification is shown as claimed unless documentation has actually been reviewed and is current."
      ],
      "defaultValues": "None.",
      "defaultSources": [
        "Supplier quotations you receive"
      ],
      "limitations": [
        "No verification of documents, no credit assessment, no guarantee of supply or of lot conformity."
      ],
      "validationRules": [
        "A quotation missing Incoterm, moisture basis or validity is flagged as not directly comparable."
      ],
      "reviewedDate": "2026-08-21",
      "reviewedBy": "FeedMatch Group procurement editorial team (commercial and logistics review only — no nutrition, veterinary or engineering sign-off)",
      "confidenceLevel": "high",
      "reviewFlags": [
        "commercial"
      ],
      "rfqFields": [
        "Specification",
        "Certification requested",
        "Documentation required",
        "Incoterm",
        "Payment terms"
      ],
      "resultPrivacy": "client-side-only",
      "indexable": true,
      "languages": [
        "en"
      ],
      "methodologyUrl": "https://feedmatchgroup.com/calculator-methodology#quote-normalisation"
    },
    {
      "calculatorId": "container-storage",
      "calculatorName": "Container loading, bulk density and storage/silo planner",
      "calculationVersion": "1.3.0",
      "category": "storage",
      "purpose": "Work out how much actually fits in a container or silo, and when to reorder, using the lower of the weight limit and the volume limit.",
      "url": "https://feedmatchgroup.com/calculators",
      "applicableSpecies": [
        "Species-independent"
      ],
      "applicableLifeStages": [
        "Not stage-specific"
      ],
      "applicableFeedTypes": [
        "Bagged",
        "Bulk"
      ],
      "applicableJurisdictions": [
        "Global (user must confirm local feed law)"
      ],
      "inputDefinitions": [
        {
          "name": "Bulk density of the specific ingredient",
          "unit": "kg/m³",
          "provenance": "generic-reference"
        },
        {
          "name": "Container type and legal payload",
          "unit": "tonnes / m³",
          "provenance": "buyer-input"
        },
        {
          "name": "Bag weight, pallet configuration",
          "unit": "kg / count",
          "provenance": "buyer-input"
        },
        {
          "name": "Monthly consumption, lead time, safety stock",
          "unit": "tonnes / days",
          "provenance": "buyer-input"
        }
      ],
      "outputDefinitions": [
        {
          "name": "Weight-limited capacity",
          "unit": "tonnes"
        },
        {
          "name": "Volume-limited capacity",
          "unit": "tonnes"
        },
        {
          "name": "Loadable quantity (lower of the two)",
          "unit": "tonnes"
        },
        {
          "name": "Silo/warehouse volume required",
          "unit": "m³"
        },
        {
          "name": "Reorder point and stock cover",
          "unit": "tonnes / days"
        }
      ],
      "formulaOrOptimizationMethod": "Volume-limited tonnes = usable container volume × bulk density ÷ 1000. Loadable = min(legal payload, volume-limited). Storage volume = tonnes × 1000 ÷ bulk density, plus headspace. Reorder point = average daily use × lead-time days + safety stock.",
      "nutritionalAssumptions": [
        "None."
      ],
      "commercialAssumptions": [
        "A single bulk density is never applied across ingredients — soybean meal, maize, DDGS, fish meal and mineral products differ materially."
      ],
      "regulatoryAssumptions": [
        "Road and port axle/payload limits are jurisdiction-specific and must be confirmed locally."
      ],
      "defaultValues": "Per-ingredient reference bulk densities, labelled as reference values.",
      "defaultSources": [
        "Published bulk-density tables",
        "Your carrier's payload sheet"
      ],
      "limitations": [
        "No angle-of-repose, bridging, caking, moisture-migration or fumigation modelling."
      ],
      "validationRules": [
        "Bulk density must be > 0.",
        "Payload and volume limits must both be present before a loadable quantity is shown."
      ],
      "reviewedDate": "2026-08-21",
      "reviewedBy": "FeedMatch Group procurement editorial team (commercial and logistics review only — no nutrition, veterinary or engineering sign-off)",
      "confidenceLevel": "high",
      "reviewFlags": [
        "engineering"
      ],
      "rfqFields": [
        "Packaging",
        "Quantity per shipment",
        "Delivery schedule",
        "Destination"
      ],
      "resultPrivacy": "client-side-only",
      "indexable": true,
      "languages": [
        "en"
      ],
      "methodologyUrl": "https://feedmatchgroup.com/calculator-methodology#container-storage"
    },
    {
      "calculatorId": "feed-mill-capacity",
      "calculatorName": "Feed-mill capacity and throughput planner",
      "calculationVersion": "2.2.0",
      "category": "feed-mill",
      "purpose": "Translate a target annual production into required nameplate capacity, shifts and storage, and produce the scope inputs for an equipment RFQ.",
      "url": "https://feedmatchgroup.com/feed-mill-calculator",
      "embeddedAt": [
        "/guides/feed-mill-capacity-sizing",
        "/feed-mill-cost",
        "/turnkey-feed-mills"
      ],
      "applicableSpecies": [
        "Species-independent"
      ],
      "applicableLifeStages": [
        "Not stage-specific"
      ],
      "applicableFeedTypes": [
        "Mash",
        "Pellet",
        "Extruded",
        "Bagged",
        "Bulk"
      ],
      "applicableJurisdictions": [
        "Global (user must confirm local feed law)"
      ],
      "inputDefinitions": [
        {
          "name": "Target annual production and product mix",
          "unit": "tonnes/year, %",
          "provenance": "buyer-input"
        },
        {
          "name": "Operating hours, shifts, days per year",
          "unit": "hours",
          "provenance": "buyer-input"
        },
        {
          "name": "Utilisation and changeover allowance",
          "unit": "%",
          "provenance": "buyer-input"
        },
        {
          "name": "Yield / process loss",
          "unit": "%",
          "provenance": "buyer-input"
        }
      ],
      "outputDefinitions": [
        {
          "name": "Required nameplate capacity",
          "unit": "t/h"
        },
        {
          "name": "Expected saleable annual output",
          "unit": "tonnes/year"
        },
        {
          "name": "Lines and shifts required",
          "unit": "count"
        },
        {
          "name": "Storage requirement",
          "unit": "tonnes"
        }
      ],
      "formulaOrOptimizationMethod": "Saleable output = nameplate t/h × scheduled hours × utilisation × yield. Required nameplate = target output ÷ (scheduled hours × utilisation × yield).",
      "nutritionalAssumptions": [
        "None."
      ],
      "commercialAssumptions": [
        "Product mix changeovers reduce effective hours; the allowance is user-entered."
      ],
      "regulatoryAssumptions": [
        "Dust, fire, ATEX-equivalent and food/feed-safety requirements are jurisdiction-specific and are not modelled."
      ],
      "defaultValues": "Common industry operating patterns as starting values, clearly editable.",
      "defaultSources": [
        "Equipment supplier throughput data you obtain",
        "Your own production plan"
      ],
      "limitations": [
        "This is a capacity envelope, not a line design. Final layout, bottlenecks and equipment selection require a process engineer and the equipment supplier."
      ],
      "validationRules": [
        "Utilisation and yield must be between 0 and 100 %.",
        "Scheduled hours cannot exceed 8,760 per year."
      ],
      "reviewedDate": "2026-08-21",
      "reviewedBy": "FeedMatch Group procurement editorial team (commercial and logistics review only — no nutrition, veterinary or engineering sign-off)",
      "confidenceLevel": "moderate",
      "reviewFlags": [
        "engineering"
      ],
      "rfqFields": [
        "Capacity t/h",
        "Product mix",
        "Equipment scope",
        "Bagging/bulk",
        "Project timeline",
        "Destination"
      ],
      "resultPrivacy": "client-side-only",
      "indexable": true,
      "languages": [
        "en",
        "ar"
      ],
      "methodologyUrl": "https://feedmatchgroup.com/calculator-methodology#feed-mill-capacity"
    },
    {
      "calculatorId": "feed-mill-energy",
      "calculatorName": "Feed-mill energy and utilities estimator",
      "calculationVersion": "1.1.0",
      "category": "feed-mill",
      "purpose": "Estimate connected load, annual energy and energy per tonne by process stage, so utility supply and OPEX can be scoped.",
      "url": "https://feedmatchgroup.com/feed-mill-cost",
      "applicableSpecies": [
        "Species-independent"
      ],
      "applicableLifeStages": [
        "Not stage-specific"
      ],
      "applicableFeedTypes": [
        "Mash",
        "Pellet",
        "Extruded"
      ],
      "applicableJurisdictions": [
        "Global (user must confirm local feed law)"
      ],
      "inputDefinitions": [
        {
          "name": "Tonnage by process route (mash / pellet / extruded)",
          "unit": "tonnes/year",
          "provenance": "buyer-input"
        },
        {
          "name": "Stage-level specific energy",
          "unit": "kWh/tonne",
          "provenance": "generic-reference"
        },
        {
          "name": "Electricity tariff",
          "unit": "currency/kWh",
          "provenance": "buyer-input"
        }
      ],
      "outputDefinitions": [
        {
          "name": "Connected and average operating load",
          "unit": "kW"
        },
        {
          "name": "Annual energy",
          "unit": "kWh/year"
        },
        {
          "name": "Energy per tonne by route",
          "unit": "kWh/tonne"
        },
        {
          "name": "Peak demand",
          "unit": "kW"
        }
      ],
      "formulaOrOptimizationMethod": "Energy is summed per stage (intake, conveying, grinding, batching, mixing, conditioning, pelleting, extrusion, drying, cooling, coating, sieving, bagging, dust collection, compressed air, steam, support) rather than applying one kWh/tonne to all output. Mash, pellet and extruded routes carry separate specific-energy assumptions.",
      "nutritionalAssumptions": [
        "None."
      ],
      "commercialAssumptions": [
        "Tariff, demand charges and standby generation are user-entered."
      ],
      "regulatoryAssumptions": [
        "None."
      ],
      "defaultValues": "Stage-level reference ranges, labelled as reference.",
      "defaultSources": [
        "Equipment supplier motor lists you obtain",
        "Published process-energy ranges"
      ],
      "limitations": [
        "Steam demand needs a boiler specification; the tool collects inputs but does not size a boiler.",
        "Motor sizing, harmonics, power factor and transformer selection require an electrical engineer."
      ],
      "validationRules": [
        "Route tonnages cannot exceed total production.",
        "Zero tariff suppresses cost output rather than showing zero cost."
      ],
      "reviewedDate": "2026-08-21",
      "reviewedBy": "FeedMatch Group procurement editorial team (commercial and logistics review only — no nutrition, veterinary or engineering sign-off)",
      "confidenceLevel": "indicative",
      "reviewFlags": [
        "engineering"
      ],
      "rfqFields": [
        "Connected load",
        "Utility scope",
        "Equipment scope"
      ],
      "resultPrivacy": "client-side-only",
      "indexable": true,
      "languages": [
        "en",
        "ar"
      ],
      "methodologyUrl": "https://feedmatchgroup.com/calculator-methodology#feed-mill-energy"
    },
    {
      "calculatorId": "capex-opex-roi",
      "calculatorName": "Feed-mill CAPEX, OPEX, TCO and ROI model",
      "calculationVersion": "2.3.0",
      "category": "investment",
      "purpose": "Build an order-of-magnitude project budget and cash-flow view — installed CAPEX, annual OPEX, manufacturing cost per tonne, working capital, payback, NPV and IRR — for internal screening only.",
      "url": "https://feedmatchgroup.com/feed-mill-roi-calculator",
      "embeddedAt": [
        "/calculator/capex",
        "/calculator/opex",
        "/feed-mill-cost"
      ],
      "applicableSpecies": [
        "Species-independent"
      ],
      "applicableLifeStages": [
        "Not stage-specific"
      ],
      "applicableFeedTypes": [
        "Mash",
        "Pellet",
        "Extruded"
      ],
      "applicableJurisdictions": [
        "Global (user must confirm local feed law)"
      ],
      "inputDefinitions": [
        {
          "name": "CAPEX lines (site, buildings, intake, silos, process, automation, laboratory, utilities, safety, packaging, installation, commissioning, freight, duties, contingency)",
          "unit": "currency",
          "provenance": "buyer-input"
        },
        {
          "name": "OPEX lines (ingredients, energy, labour, maintenance, consumables, packaging, testing, losses, logistics, compliance, finance)",
          "unit": "currency/year",
          "provenance": "buyer-input"
        },
        {
          "name": "Production volume and selling price",
          "unit": "tonnes, currency/tonne",
          "provenance": "buyer-input"
        },
        {
          "name": "Discount rate and horizon",
          "unit": "%, years",
          "provenance": "buyer-input"
        }
      ],
      "outputDefinitions": [
        {
          "name": "Equipment-only / installed / total project CAPEX",
          "unit": "currency"
        },
        {
          "name": "Annual OPEX and manufacturing cost per tonne",
          "unit": "currency, currency/tonne"
        },
        {
          "name": "Working-capital requirement",
          "unit": "currency"
        },
        {
          "name": "Break-even volume",
          "unit": "tonnes/year"
        },
        {
          "name": "Simple and discounted payback",
          "unit": "years"
        },
        {
          "name": "NPV and IRR (only where cash flows support them)",
          "unit": "currency, %"
        }
      ],
      "formulaOrOptimizationMethod": "Manufacturing cost/tonne = annual OPEX ÷ saleable tonnes. Break-even = fixed cost ÷ (price − variable cost per tonne). Simple payback = total CAPEX ÷ annual net cash flow. NPV = Σ CFₜ/(1+r)ᵗ − CAPEX. IRR is solved by bisection and is only displayed when the cash-flow series changes sign at least once; otherwise it is suppressed rather than shown as a misleading number.",
      "nutritionalAssumptions": [
        "None."
      ],
      "commercialAssumptions": [
        "Ingredient cost normally dominates OPEX; the model is only as good as the ingredient price you enter.",
        "No inflation, tax shield or depreciation schedule unless entered."
      ],
      "regulatoryAssumptions": [
        "Permitting, environmental and fire-safety costs are jurisdiction-specific and are not estimated for you."
      ],
      "defaultValues": "Editable placeholder ranges for a typical mill scale.",
      "defaultSources": [
        "Your own supplier budget quotations",
        "Your own utility and labour costs"
      ],
      "limitations": [
        "Screening output only. A positive NPV here does not make a project profitable, financeable or bankable.",
        "No lender due diligence, no tax modelling, no country-risk premium, no construction-schedule risk."
      ],
      "validationRules": [
        "Negative production, negative price and discount rates ≤ −100 % are rejected.",
        "Payback is suppressed when net cash flow is ≤ 0.",
        "IRR is suppressed when no sign change exists."
      ],
      "reviewedDate": "2026-08-21",
      "reviewedBy": "FeedMatch Group procurement editorial team (commercial and logistics review only — no nutrition, veterinary or engineering sign-off)",
      "confidenceLevel": "indicative",
      "reviewFlags": [
        "engineering",
        "commercial"
      ],
      "rfqFields": [
        "Budget band",
        "Capacity",
        "Equipment scope",
        "Project timeline",
        "Destination"
      ],
      "resultPrivacy": "client-side-only",
      "indexable": true,
      "languages": [
        "en",
        "ar"
      ],
      "methodologyUrl": "https://feedmatchgroup.com/calculator-methodology#capex-opex-roi"
    },
    {
      "calculatorId": "trade-finance-readiness",
      "calculatorName": "Trade-finance readiness check",
      "calculationVersion": "1.2.0",
      "category": "investment",
      "purpose": "Show which documents and commercial facts an independent finance provider would normally expect before any preliminary review — preparation only.",
      "url": "https://feedmatchgroup.com/trade-finance",
      "applicableSpecies": [
        "Species-independent"
      ],
      "applicableLifeStages": [
        "Not stage-specific"
      ],
      "applicableFeedTypes": [
        "Raw materials",
        "Equipment"
      ],
      "applicableJurisdictions": [
        "Global (user must confirm local feed law)"
      ],
      "inputDefinitions": [
        {
          "name": "Transaction profile (product, volume, contract period, Incoterm, payment terms)",
          "unit": "text",
          "provenance": "buyer-input"
        },
        {
          "name": "Documentation status (financial statements, collateral, offtake, insurance)",
          "unit": "status",
          "provenance": "buyer-input"
        }
      ],
      "outputDefinitions": [
        {
          "name": "Readiness state",
          "unit": "early preparation / information missing / potentially ready for preliminary independent review / specialist assessment required"
        },
        {
          "name": "Missing information list",
          "unit": "list"
        }
      ],
      "formulaOrOptimizationMethod": "A completeness checklist. It counts which expected documents and commercial facts are present and returns one of four preparation states. It performs no credit scoring.",
      "nutritionalAssumptions": [
        "None."
      ],
      "commercialAssumptions": [
        "Requirements differ by provider, instrument, country and counterparty."
      ],
      "regulatoryAssumptions": [
        "Sanctions, KYC and AML screening are performed by the finance provider, not by FeedMatch."
      ],
      "defaultValues": "None.",
      "defaultSources": [
        "ICC Incoterms® rules",
        "ICC UCP 600 (documentary credits)"
      ],
      "limitations": [
        "FeedMatch is not a lender, broker or advisor and does not arrange, approve or price finance.",
        "The tool never outputs approved, eligible, guaranteed, a credit limit, a rate or a matched lender."
      ],
      "validationRules": [
        "No numeric approval score is produced or displayed."
      ],
      "reviewedDate": "2026-08-21",
      "reviewedBy": "FeedMatch Group procurement editorial team (commercial and logistics review only — no nutrition, veterinary or engineering sign-off)",
      "confidenceLevel": "high",
      "reviewFlags": [
        "commercial"
      ],
      "rfqFields": [
        "Transaction profile",
        "Documentation status"
      ],
      "resultPrivacy": "client-side-only",
      "indexable": true,
      "languages": [
        "en"
      ],
      "methodologyUrl": "https://feedmatchgroup.com/calculator-methodology#trade-finance-readiness"
    },
    {
      "calculatorId": "feed-unit-converters",
      "calculatorName": "Feed unit converters (dry matter, inclusion, energy, bags)",
      "calculationVersion": "1.4.0",
      "category": "conversion",
      "purpose": "Convert between the units feed quotations and specifications actually use, without changing what a nutrient value means.",
      "url": "https://feedmatchgroup.com/feed-unit-converters",
      "applicableSpecies": [
        "Species-independent"
      ],
      "applicableLifeStages": [
        "Not stage-specific"
      ],
      "applicableFeedTypes": [
        "Raw materials",
        "Complete feed",
        "Additives"
      ],
      "applicableJurisdictions": [
        "Global (user must confirm local feed law)"
      ],
      "inputDefinitions": [
        {
          "name": "Value and source unit",
          "unit": "%, ppm, mg/kg, g/t, kg/t, kcal/kg, MJ/kg, kg, t, bags",
          "provenance": "buyer-input"
        },
        {
          "name": "Moisture / dry-matter content",
          "unit": "%",
          "provenance": "supplier-declared"
        }
      ],
      "outputDefinitions": [
        {
          "name": "Converted value with unit and basis stated",
          "unit": "varies"
        }
      ],
      "formulaOrOptimizationMethod": "Exact ratio conversions: 1 % = 10 000 ppm = 10 000 mg/kg = 10 kg/t = 10 000 g/t; 1 MJ = 239.0057 kcal; dry-matter value = as-fed value ÷ (dry-matter % ÷ 100). The basis (as-fed or dry matter) is always printed with the result.",
      "nutritionalAssumptions": [
        "Conversion changes the unit, never the nutrient meaning. A dry-matter figure is not comparable with an as-fed figure."
      ],
      "commercialAssumptions": [
        "Bag ⇄ tonne conversion uses the declared bag weight, not an assumed one."
      ],
      "regulatoryAssumptions": [
        "None."
      ],
      "defaultValues": "Worked examples per converter.",
      "defaultSources": [
        "SI unit definitions",
        "Supplier-declared moisture"
      ],
      "limitations": [
        "Short tons, pounds and gallons are only converted where explicitly selected; do not assume 'ton' means tonne."
      ],
      "validationRules": [
        "Dry-matter percentage must be > 0 and ≤ 100.",
        "Round-trip conversions must return the original value within floating-point tolerance."
      ],
      "reviewedDate": "2026-08-21",
      "reviewedBy": "FeedMatch Group procurement editorial team (commercial and logistics review only — no nutrition, veterinary or engineering sign-off)",
      "confidenceLevel": "high",
      "reviewFlags": [
        "none"
      ],
      "rfqFields": [
        "Specification basis",
        "Quantity",
        "Packaging"
      ],
      "resultPrivacy": "client-side-only",
      "indexable": true,
      "languages": [
        "en"
      ],
      "methodologyUrl": "https://feedmatchgroup.com/calculator-methodology#feed-unit-converters"
    },
    {
      "calculatorId": "rfq-builder",
      "calculatorName": "RFQ builder",
      "calculationVersion": "3.1.0",
      "category": "procurement",
      "purpose": "Collect reviewed calculator outputs into a structured request for quotation that you approve before anything is sent.",
      "url": "https://feedmatchgroup.com/rfq-builder",
      "embeddedAt": [
        "/rfq-intake"
      ],
      "applicableSpecies": [
        "Species-independent"
      ],
      "applicableLifeStages": [
        "Not stage-specific"
      ],
      "applicableFeedTypes": [
        "Raw materials",
        "Additives",
        "Complete feed",
        "Equipment",
        "Turnkey mill"
      ],
      "applicableJurisdictions": [
        "Global (user must confirm local feed law)"
      ],
      "inputDefinitions": [
        {
          "name": "Company, contact name, email, delivery country, monthly tonnage",
          "unit": "text",
          "provenance": "buyer-input"
        },
        {
          "name": "Product, specification, quantity, packaging, Incoterm, schedule",
          "unit": "mixed",
          "provenance": "buyer-input"
        },
        {
          "name": "Pre-filled calculator outputs",
          "unit": "mixed",
          "provenance": "calculated-result"
        }
      ],
      "outputDefinitions": [
        {
          "name": "Structured RFQ record",
          "unit": "form"
        }
      ],
      "formulaOrOptimizationMethod": "No calculation. Fields carried over from a calculator are labelled with their provenance (buyer input, generic reference, supplier declaration, lot-specific data, calculated estimate, requires nutrition/regulatory review) so nothing calculated is mistaken for a confirmed specification.",
      "nutritionalAssumptions": [
        "Any nutrient target carried into an RFQ is the buyer's, and must be approved by a qualified nutritionist before it becomes a purchase specification."
      ],
      "commercialAssumptions": [
        "Sourcing is free for buyers; FeedMatch may be compensated by suppliers on transactions, which does not affect shortlisting."
      ],
      "regulatoryAssumptions": [
        "Import permits, certification and additive approvals remain the buyer's responsibility."
      ],
      "defaultValues": "Only what you carried over from a tool.",
      "defaultSources": [
        "Your reviewed calculator outputs"
      ],
      "limitations": [
        "An RFQ is never submitted automatically. No external agent may submit one without authenticated authority, explicit final approval, current terms acceptance and consent."
      ],
      "validationRules": [
        "Company, contact name, email, delivery country and monthly tonnage are required.",
        "Email format is validated; duplicate submissions are rejected."
      ],
      "reviewedDate": "2026-08-21",
      "reviewedBy": "FeedMatch Group procurement editorial team (commercial and logistics review only — no nutrition, veterinary or engineering sign-off)",
      "confidenceLevel": "high",
      "reviewFlags": [
        "none"
      ],
      "rfqFields": [
        "All of the above"
      ],
      "resultPrivacy": "stored-with-rfq",
      "indexable": true,
      "languages": [
        "en",
        "de",
        "fr",
        "es",
        "pt",
        "ar"
      ],
      "methodologyUrl": "https://feedmatchgroup.com/calculator-methodology#rfq-builder"
    }
  ]
}