Skip to content
Navigation

Land value by initial yield on cost (revenoo)

The land value of a Swiss parcel by initial yield on cost (RICS Valuation of development property, 1st ed. 2019, B2.2.3.4): the annual income on completion of letting over the total development cost. Read backwards at a target yield (default 5% on gross rent), it caps the total development cost, and the land value is what remains after construction (default CHF 4,000/m² NIA), professional fees (12%), contingency (5%), letting expenses, finance (3% over 24 months) and site acquisition costs (2.5%).

What it is. A development land value: the parcel built out to its buildable area (land × the average utilization of its zone in its municipality) with rents from the municipality's market data. It is not the market value of what stands on the parcel today. A negative land_value is a valid answer: at these costs the rents do not reach the target yield, so development is not viable at that target.

Engine. The valuation is revenoo's (https://revenoo.aireon.ch): this route proxies revenoo's public yield-on-cost part and returns its body unchanged (links.docs documents every field, links.app opens the same valuation in revenoo). Units ride in the key: no suffix is an amount (CHF, rounded), _pct is percent (5 means 5%), _m2 square metres.

Auth / errors. token header. Send X-RES-API-Version: 2 to receive real 4xx/5xx statuses with a JSON body.

Caching. Redis valuation:v1:yoc:<egrid> for 6 h (revenoo's market inputs are a daily snapshot); an unknown parcel is cached for 1 h; a point's EGRID for 7 days. X-Cache-Outcome: hit|miss.

GET
https://res.aireon.ch/res_api/valuation/yield-on-cost

Authorization

  • ResApiToken
    API key in header
    required

Query parameters

  • egrid
    optional
    string

    Swiss parcel identifier (CH + 12 alphanumerics; spaces ignored, case-insensitive). Required unless lat and lng are given; wins when both are.

  • lat
    optional
    number

    WGS84 latitude of a point on the parcel (with lng, instead of egrid).

    maximum: 47.9 · minimum: 45.7
  • lng
    optional
    number

    WGS84 longitude of a point on the parcel.

    maximum: 10.6 · minimum: 5.9

Returns

200

The yield-on-cost valuation (revenoo's body).

JSON
  • api_version
    optional
    string
  • valuation_date
    optional
    string
    format: date
  • parcel
    optional
    object

    EGRID, address, municipality, BFS number, canton, zone, coordinates, land area, buildable GFA and rentable area (m²).

  • data
    optional
    object

    Provenance: market data status and date, municipal and Zürich reference rents.

  • yield_on_cost
    optional

    One of the following:

    • YieldOnCost
      • land_value
        optional
        number | null

        Land value at which the initial yield on cost meets the target (CHF). Negative when development is not viable at the target.

      • per_m2_land
        optional
        number | null

        Land value per m² of parcel area.

      • per_m2_nia
        optional
        number | null

        Land value per m² of rentable area (NIA).

      • target_initial_yield_on_cost_pct
        optional
        number | null

        Target initial yield on cost, percent.

      • income_basis
        optional
        gross_rent
        or
        noi_before_capex
        or
        noi_after_capex

        The annual income the yield is read on.

      • annual_income
        optional
        number | null

        Annual income on that basis (the numerator).

      • income
        optional
        object

        Gross potential rent and NOI before / after the capex reserve.

      • max_total_development_cost
        optional
        number | null

        Annual income ÷ target yield: the total development cost the target allows.

      • development_costs
        optional
        object

        Construction cost per m² NIA and in total, professional fees, contingency, letting expenses, finance rate (percent), development period (months) and finance on the development costs.

      • available_at_completion
        optional
        number | null

        What the maximum total development cost leaves for the land at completion.

      • finance_on_land
        optional
        number | null

        Finance on the land over the development period.

      • available_for_land
        optional
        number | null

        What is left for the land and its acquisition costs, at purchase.

      • site_acquisition_costs
        optional
        number | null

        Site acquisition costs on the land value.

      • at_asking_price
        optional
        object | null

        With an asking_land_price assumption: that price, the total development cost and the initial yield on cost it gives (percent). Null otherwise.

      • sensitivity
        optional
        object | null

        5×5 grid of land values: target yield (rows, percent) × construction cost per m² NIA (columns); current marks the base case.

      • method
        optional
        string
      • sources
        optional
        array of
        object
    • null
  • assumptions
    optional
    object

    Every assumption the valuation used.

400

Missing or invalid EGRID / point.
JSON
  • error
    string
    required

    Human-readable error description.

  • message
    optional
    string

    Optional underlying error message.

401

Missing token. (v2 callers only.)
JSON
  • error
    string
    required

    Human-readable error description.

  • message
    optional
    string

    Optional underlying error message.

403

Wrong token. (v2 callers only.)
JSON
  • error
    string
    required

    Human-readable error description.

  • message
    optional
    string

    Optional underlying error message.

404

No parcel with this EGRID, or none at this point.
JSON
  • error
    string
    required

    Human-readable error description.

  • message
    optional
    string

    Optional underlying error message.

429

The valuation service is busy; retry after the Retry-After seconds.
JSON
  • error
    string
    required

    Human-readable error description.

  • message
    optional
    string

    Optional underlying error message.

500

Unexpected error.
JSON
  • error
    string
    required

    Human-readable error description.

  • message
    optional
    string

    Optional underlying error message.

502

The valuation service failed.
JSON
  • error
    string
    required

    Human-readable error description.

  • message
    optional
    string

    Optional underlying error message.

504

The valuation service timed out.
JSON
  • error
    string
    required

    Human-readable error description.

  • message
    optional
    string

    Optional underlying error message.

Type to search…

↑↓ navigate↵ selectEsc close