Methodology & Checks

Property sets: standard sets, custom sets and empty values

Summary

Properties are where the facts about an object live: its fire rating, whether it is load-bearing, its manufacturer, its maintenance interval. In IFC they are grouped in property sets, and measured quantities such as area, length and volume in quantity sets. When they are empty, filler or named in a way only the author understands, whoever needs the data next has to collect it again.

The report asks four questions about properties: how many real facts each object carries, whether their meaning is defined, whether the standard sets follow the IFC standard, and how much is empty or filler. You meet the answers on the Information and Consistency pages.

In one sentence: a large number of properties proves little. The report discounts empty values, filler, values that repeat identically on every element and values that only identify an element, and counts what is left.

Standard sets and custom sets

buildingSMART, the body behind IFC, publishes standard property sets with names that start with Pset_, such as Pset_WallCommon, and standard quantity sets that start with Qto_. Each standard set lists its allowed properties, their data types and the classes of element it applies to.

Custom sets, with names chosen by the author or the client, are allowed and often hold the most valuable data. Their meaning is clear to software only when each property is linked to a definition on the web (a URI), for example in the buildingSMART Data Dictionary (bSDD). The report counts a property as linked when its specification or description field holds an address starting with http://, https:// or urn:.

A set only counts as standard when its name appears in the official list for the file's IFC version (IFC2X3, IFC4 or IFC4.3) and it applies to that kind of element. A set called Pset_ something that is not in the list is not standard, whatever its name suggests.

Where you meet it in the report

PageCardWhat it shows
InformationCoverage per classPer IFC class, effective facts per element next to the raw number of properties. The filter No information lists classes without facts.
InformationWhat kind of propertiesAll property slots by the role of their values (see below).
InformationStandard Property & Quantity Sets ComplianceCompliance score, standard sets evaluated, total violations, custom sets, and a table of each violation.
ConsistencyProperty values: signal vs. noiseAll property values in the file as informative, disguised missing or empty, plus the share of values repeated across elements.
ConsistencyWhere empty properties sitThe ten classes with the most empty or placeholder slots. Grey means a property defined on the class but always empty or a placeholder.

How values are judged

The report looks at each property slot, one property in one set on one IFC class, across all elements of that class. Each slot gets one role, as shown in What kind of properties:

RoleWhen a slot gets it
CategoricalContent with nine or fewer distinct values, on a class with at least two elements. Fire rating or load-bearing are typical.
DimensionalOnly decimal numbers. These usually follow from the geometry.
IdentifierText that is different on nearly every element (95% or more unique over at least ten values), such as a tag or serial number, unless the IFC standard defines the property as content.
OtherAny other content.
UnsharedFilled on only one element of its class.
PlaceholderFilled only with disguised missing values.
EmptyNo value at all, or only spaces.

Disguised missing values are text that fills a field without saying anything: n/a, na, none, null, undefined, default, unknown, tbd, ?, not defined and not known, ignoring capitals, spaces, hyphens and underscores, and a bare dash (- or --). Numbers are never counted, so a value of 0 stays a value. A value that merely repeats the name of its own property, or of another property in the same set, counts as well.

Effective facts are counted only for categorical and other slots. A value that is the same on every element counts as one fact. Otherwise each distinct value counts once and every element that differs from the most common value adds one more. Dimensional, identifier, unshared, placeholder and empty slots add nothing. The result is divided by the number of elements and shown as n/a for models with fewer than 25 elements.

The checks and how they are scored

Each check scores 0 to 100. Information checks count double in the overall quality score, Consistency checks three quarters. All checks are listed in What we check.

CheckHow it scoresWeight
Effective facts per element (Information)15 effective facts per element or more scores 100; fewer scores in proportion.1.5
Informative property values (Information)The share of values that are neither empty nor disguised missing.1
Properties with a defined meaning (Information)Shown as % standard · % custom with URI · % undefined. The score takes 60% from the defined share and 40% from the larger of the share of standard sets and the share of properties with a URI.1
Data stored at type level (Information)The share of values the elements inherit from their type, multiplied by three, so a third or more scores 100.0.5
Standard Pset & Qto compliance (Information)The compliance score of the standard sets (see below).1.25
Quantity coverage (Information)The share of elements with at least one quantity set.1
Empty property values (Consistency)Minus 2.5 points for each percent of values that are empty, so 40% empty scores 0.1
Disguised missing values (‘-’, ‘n/a’, ‘tbd’) (Consistency)Minus 20 points for each percent of values that are disguised missing, so 5% scores 0.0.5
No usable data at all: when no property has a defined meaning and the model has no materials, no quantities, no facility and no alignment, every scored check is set to 0 and the report adds the profile tag useless data.

Whether the declared quantities agree with the geometry is a separate check, described in The quantity check.

Standard set compliance

A set can carry a standard name and still break the standard. The card Standard property & quantity sets compliance on the Information page compares every Pset_ and Qto_ set with the official definitions for the file's IFC version. It lists the violations grouped by type, set and property, or every issue one by one, with a search, a filter per set and per type, and a line on how to fix each type that occurs. The violation types:

Violation typeMeaning
Unknown standard setThe name starts with Pset_ or Qto_ but is not in the official list.
Forbidden prefixA custom set that starts with pset or qto in another spelling, such as PSET_ or qto_.
Inapplicable entityA standard set assigned to a kind of element it does not apply to.
Disallowed propertyA property or quantity that the standard set does not define.
Wrong property typeFor example a single value where the standard expects an enumeration.
Wrong value data typeFor example text where the standard expects a true/false value.
Invalid enumeration valueA value that is not on the standard's list of allowed values.

The compliance score is the share of checks passed, where each property in a standard set, each standard set and each wrongly named set counts as one check. A file without standard or wrongly named sets is not scored. Custom sets with their own names are counted on the card but not judged. This is a forensicBIM check, separate from the buildingSMART validation service; see Passing the buildingSMART validation is not the same as good data.

Capabilities that depend on properties

CapabilityCondition involving properties
Real IFCCarries effective data; ≥ 30% standard Psets or URI-linked properties.
AI readyInformative values ≥ 80%; ≥ 5 effective facts per element; ≥ 30% standard or URI-defined properties.
Operations / FM, Product passport≥ 5 effective facts per element, among other conditions.
Take-off readyQuantities ≥ 90%, among other conditions.
bSDDA bSDD address on a property also counts.

In the Forensic BIM score™, effective facts per element drive the Richness factor, informative values the Reliability factor, and properties with a defined meaning the Semantics factor. The full rules are on Capabilities.

What to ask your supplier for

  • Use standard Pset_ and Qto_ sets where they fit, with the property names, data types and values the standard defines.
  • Keep custom properties that you need, give them a name without the Pset_ or Qto_ prefix, and link each one to a URI.
  • Leave a property out rather than filling it with n/a, tbd or similar filler, and filter empty properties in the export settings.
  • Store shared values on the type, so a correction is made once.

Frequently asked questions

Our model has thousands of properties. Why are the effective facts so low?

Raw counts include empty values, filler, dimensions, identifiers and values repeated on every element. A property that says Phase: New on all 3,000 walls is one fact, not 3,000. The Coverage per class card shows both numbers per class.

Should we remove our custom property sets?

No. Keep the custom properties that carry value, and link each one to a URI so its meaning is machine-readable. A custom set only causes a violation when its name pretends to be standard.

Does a property that says “n/a” count as empty?

No. Empty means no value at all, or only spaces. A filler such as n/a or tbd counts as a disguised missing value. Both lower Informative property values; each also has its own check on the Consistency page. If a property does not apply to an element, leave it out.