Implementing BIM Data analytics and data-centric workflows for Revit projects

Implementing BIM Data analytics and data-centric workflows for Revit projects

As BIM has finally become arguably mainstream, the “I” part is playing an increasingly more important part in project workflows. Initially, BIM has been viewed more like a 3d modelling process of a structure with some additional capabilities over CAD workflows. But those times are long gone.

It is now commonly accepted that a BIM model must have accurate and well-managed information attached to the models to enable proper collaboration between all parties on a project. Last year, in 2019, a significant milestone was reached, the first international BIM standards were published: ISO 19650, Organization of information about construction works – Information management using building information modelling. It consists of two parts, where part 1 is for concepts and principles and the 2nd part outlines the delivery phase of assets.

The standard is gaining traction, with more projects having requirements based on those standards. Some large scale projects such as RailBaltica (high-speed rail line spanning the three Baltic countries) have included ISO 19650 requirements, even though the project host countries haven’t adopted official BIM regulations at the time. It says about the prospects of this international standard.

With expanding adoption of such standards and overall considerations for the life cycle of the entire project or more appropriately the asset – management, quality checks and data analytics will become critical to meeting these requirements.

Same as in the first edition of this post, the core is all about Autodesk® Revit® based workflows and data analytics for Revit.  Nonetheless, you might find certain aspects useful even if you rely on different software.

Note: Since the original article posted on LinkedIn back in November 2018, the present article has been updated to acknowledge certain changes, yet the basis remains the same as we feel it still remains relevant today. If you are not familiar with the first article, we recommend reading it, but it is not mandatory as this is a stand-alone post.

The origin of data in BIM projects

If you have read the first edition of this article, you will likely remember there was a section, concept introduced as data with intention or as a consequence. While I won’t use the same notions here due to them being a bit too confusing and difficult to understand, the idea behind those notions remains roughly the same. Just at present, I find it easier and more clearly to explain when data with intention is expressed as manually inserted data or just manual data. It still holds true to the intentional nature of this data. Whereas the data as a consequence is now referred to as inherent data present in the BIM model.

Manually entered data is exactly as it sounds when dealing with Revit models, a lot of data will be manually entered. One example is material properties, it will have to be manually defined either as a material in Revit before the project or potentially entered as some additional parameter, subject to any project requirement.

Inherent data is the most abundant in the model, it consists of things such as the number of elements, element categories, reinforcement shapes, dimensions of various modelled elements. It represents anything that can be derived from a Revit model.

Revit Data Analytics workflow with Power BI and Dynamo


Bridge BIM project was completed at SRP Projektas

The target of BIM data analytics

Any BIM project will naturally have significantly more inherent data than manually entered data. The difference will be in the orders of magnitude. However, when it comes to checking of quality of BIM data, the first thing that will and should be checked is the manually entered information. That data likely was mandated in some BIM Execution Plan (BEP) or in Exchange Information Requirements (EIR). In this instance, it will likely be more about checking the accuracy and
conformity to some standards than data insights and statistics. Essentially, project control, quality checks and progress reports.

For inherent data quality checks will play a lesser role but may be significantly more important for data analytics, insights. Since the data was not created on purpose but is a feature of the Revit model that was developed (volumes, surface areas, element counts, Revit family types, etc.), investigating this data can provide valuable knowledge needed to improve BIM workflows, estimate architect/engineer hours, estimate progress of BIM projects, potential Revit modelling issues, etc. Furthermore, when combining this data from multiple projects it is possible to obtain new knowledge, that could lead to increased winning bids for projects.

Many of the aspects mentioned above are still carried out manually in AEC companies, which leads us to this post. Information requirements are only going to become stricter and more regulated or requested by appointing parties as with all regulations, they tend to only narrow down the box in which we’re all supposed to work. Even at present, some projects may require increasingly more people to manage it and its BIM requirements.

There are only so many people you can add to a project to keep up with all the management, quality checking, enforcing of standards and requirements before any project will grind to a standstill. Not to mention that this only increases the overall cost of any BIM project, acting against the purpose of BIM.

A way to partially avoid these bottlenecks is to implement data-centric workflows, that rely on automatic or semi-automatic solutions to data-mine, analyse and present the data present in BIM models in a clear and easy to understand manner. The rest of this long post covers several options available right now to help with BIM data management and analytics.

Available solutions for BIM data checks

At present, there are quite a few alternatives for Revit model based data analytics, insights. Many products have come to market that are based on the Software as a Service (SaaS) model or are licensed solutions. Often these solutions will be able to provide rather robust and fully inclusive Revit model data mining, quality checking and reporting, analytics all in one package. That adds a level of convenience. However, sometimes these tools can become too cumbersome to quickly customize to match your needs or the opposite, even lack customizability in favour of easy to access predefined data insights configurations. Another aspect that is important from the business side of things, is the pricing of these services or licences. Costs can quickly add up when licensing is done per user/pc, particularly if you need large quantities of these. Moreover, let’s not forget that just having the tools is not enough, they need to be configured, people trained on how to use them, as with all proprietary solutions.

Note: While we aren’t specifically recommending any services over others, a few options could be worth keeping an eye out, as they are under continuous development. is presently working on real-time dashboards, another interesting solution is offered by, it is called the Minecart. Both are paid options and worth checking out to keep yourself informed.

So, what options exist, when your BIM data analytics needs are rather narrow, highly specific or the costs associated with these ready solutions are too high? Well, for starters it is good to have a look at the resources your consultancy already has access to. Chances are your consultancy can likely avoid licensing new software and make do with what is available.

Before jumping to the discussion of the tools you already have, we’d like to clarify a bit on the key stages of data analytics. Broadly, those stages are:

  • Data mining – a collection of the desired data from some data source. Of course, Revit projects, models are the source in this instance.
  • Data processing – analysing the data by statistical means, machine learning and whatnot. The goal is to take the raw data from a Revit model or models, structure the data and obtain new relationships, insights.
  • Data visualization – presenting the processed data in a clear and easy to work with manner, improving collaboration, progress reports with hard data.

Power BI dashboard for Revit BIM project 1

Options for data mining

The first and most basic one is exporting Revit schedules, quantities into a CSV file that can be opened by Microsoft® Excel®. It does require excessive manual work and the data will be relatively limited.

Another option that can automate the process of collecting needed data comes from the BIM Interoperability Tools, namely the Revit Model Checker. It uses specific rule sets, lists that determine what data is collected and to some extent, what is done with it. These are called Checksets and can be configured to a relatively high degree to satisfy your project requirements. Luckily, there are some public Checksets available to help users get started and/or help with learning. The add-in will output Excel files for use in Power BI.

There’s a nice whitepaper prepared by Autodesk that we encourage to go through if you wish to go with this route for your analytics needs. It contains valuable information, particularly for not entirely familiar with how to productively set up any analytics for that matter. Besides, it is also worth going over the instructional video on YouTube about the usage of the Model Checker. As of writing this post, this YouTube video only has 4572 views. It is not a large number, so we can assume that awareness of the Revit Model Checker is rather limited at this point.

For the most flexibility and potential in what types of data can be extracted from the Revit model and in terms of what can be done with that data, there is Dynamo, an open visual programming framework for Revit. Together with Python scripting and C#, it can access the Revit API to provide the most versatile option here. However, this approach requires a little bit more work and knowledge, depending on the complexity of the desired solution. On the plus side, with this option you are not limited to exporting data into just Excel files, it is possible to store the data directly in some SQL database, integrate it directly into some other software or just about anywhere through a little bit of coding.

Options for data processing

The most basic and simple data processing could be carried out in Excel. It has more than enough functionality to carry out certain quality checks, compare data. Pretty much everyone in the AECs sector has at least some level of workable Excel skills.

Revit Model Checker isn’t a true data processing solution. It can provide some information, provided you are able to configure the Checksets as needed. However, it is more like a pre-processor to go with the data mining aspects. It can be very simple to configure in some cases, it contains a wizard configurator that guides the user along the process.

Dynamo (including Python and C#) have the largest potential for processing data, analysing it, carrying out checks and pretty much any other task you can think of. The catch, the level of knowledge required to implement it could be rather high, depending on what the objective is. It can also become time-consuming and results rather static, meaning that you won’t be able to make adjustments to what you want to know about the data. You have to pre-plan everything very meticulously. Another aspect to consider is when working with very large data sets, Dynamo
can considerably slow down in performance. It can hog up huge amounts of RAM and CPU usage if too many native Dynamo nodes are used. The problem can be partially alleviated with Python nodes inside Dynamo and converting some nodes to DesignScript. But for analysing large data sets, its best to rely on the next option.

Microsoft® Power BI® is the true data insights solution here. Its greatest advantage is the relatively simple ease of use and the dynamic nature of the analysis, visualizations. Meaning the user can quickly dive deeper into the data by just clicking through what he sees. Have a few charts showing the number of Revit elements by categories, some graph with the count of unfilled parameters. Just selecting a certain category will automatically filter out all the other charts. This provides great flexibility and simplicity for the user to prepare quality reports and gain quick insights.

Options for data visualization

As before, Excel should not be discarded here, as it has a wide array of plots available for the data. The data can be organised in a relatively clear manner, ready for both presentations, printing and sharing.

Dynamo also presents the possibility to visualize data, prepare reports in a number of formats, etc. It is not the optimal route to go for, in terms of simplicity and speed of implementation. Nonetheless, it provides quite interesting options, through Dynamo packages such as Archi-Lab Mandrill or data-shapes. The latter of which allows the users to push some simple charts back into Revit drafting views to directly use in the project, placing them on some sheets for printing.

Power BI is the powerhouse here as well. Since the data analytics aspects are well integrated with the visualizations and the dynamic nature of working with data is enabled through them, it is hands down the best option of the three to go right now.

Data storage

During the process of data mining, the collected information will need to be saved somewhere. Again, Excel files are easy to work with, usually structured well enough for most uses. If the data is very simplistic, text files can be considered as well. For a more robust and expansive solution, databases like SQL are the best option. They can be scaled quite easily, the data it collects can be more easily accessed by multiple sources simultaneously, can be updated with new entries. Making time-dependent analysis easier, for tasks such as change and progress tracking.

Possible data flow arrangements

For clarity, the figure below shows some potential variations of these tools:

BIM Data workflow tool options

A few scenarios are not shown. As you probably noticed, except for Power BI, all of the shown software packages are likely at your consultancy’s disposal already or are free to access. Even Power BI is not that uncommon since it comes included with some enterprise Microsoft Office packages and can be licensed per user on a quite reasonable price. That is the reason it was included in this post. There are numerous alternatives for Business Intelligence solutions, you can swap out Power BI with whatever is available to you.

An example of Revit > Dynamo > Excel > Power BI workflow

First, some objective must be set, what purpose will data analytics serve. We’ll take the case described in the original LinkedIn article. As with most things in life, everything is somewhat fuzzy, hard to strictly categorize as being one or the other, so is the same with data-centric workflows. The priority was to develop a semi-automated Revit project quality and progress tracking workflow, something to reduce the time needed to manage and check certain data field, find bad Revit modelling practices and fix them. Since large amounts of data were required for this purpose, it made sense to store everything for later use on actual analytics, finding relations from this data.

Hence, the following workflow was adopted:

Revit Dynamo Excel PowerBI Data Workflow

Some components can be swapped with others, such as dropping Excel in favour of an SQL database.

Dynamo forms the core, that handles multiple tasks, from extracting data, structuring it in meaningful ways, carrying out some quality checks and storing the data within Excel files. Essentially, it output both static and dynamic data. By static, we mean already pre-processed data that can go on a report or be used in some fixed charts, exchanged with some other tools. It has limited ability to be used dynamically as in Power BI charts. Dynamic data makes up the largest
part of data mining, in our case, that consists of Revit objects, grouped into model elements, annotations, views, etc.

The final Dynamo script was quite extensive, with hundreds of Dynamo nodes of which the majority were Python nodes. Due to reasons mentioned earlier, that using too many native Dynamo nodes is not very efficient at using RAM and can take up significant CPU time as well. You can see the final Dynamo script below:

Dynamo data mining script example

After getting and working with the data in Dynamo it was organized and written to Excel files. Since most of the static data were from various completed audit checks, it was beneficial to record the IDs of all Revit elements that failed them. Having the IDs stored allowed for the selection of these elements back in Revit to quickly isolate the issues and solve them.

Lastly, Power BI was employed for data insights and reporting. Several Power BI pages were created by audience and topic. Like separating issues related to Revit reinforcement of reinforced concrete elements, views and sheets, progress information. It is important to consider who will be using and who will see these reports. For BIM managers, engineers you can have a little bit more information on one page, for presenting to the management or other collaboration needs, it might be best to keep to just a few charts per page for simplicity. It is a balancing act of sorts, as you want to know as much as possible from a single page yet keep it readable. Looking back at the Power BI screenshot below from 2018 it’s clear now it serves as an example of too much information, even though that page was only meant for personal use.

Revit BIM Project dashboard in Power BI

In summary

Data will be one of the core foundations of the digital AEC future. Whether it will become a resource, or a burden is all up to you. If you view it as just another obstacle that is imposed by various requirements, such as EIR, LOD (Level of Development), then you will be severely limited by what opportunities come your way, not to mention putting yourself at a potential disadvantage to your competition. The exceedingly growing amounts of data in BIM projects, can be used for various purposes, from quality checks to improving existing Revit modelling workflows, from finding new insights to developing neural network models enhancing future decision making.

Regarding which approach you choose to go for in your quest for BIM data-centric workflows, be it proprietary paid solutions, combinations of available tools or online services, it doesn’t matter that much. What is important is that your consultancy begins paying more attention to the data that you are creating, the data you already have and begins to make use of it all. The further the AEC industry goes with digitalization, the more data will accumulate and if left unutilized, it becomes digital waste.

For general data handling workflows, try to follow a sequence of steps:

  • Decide what is the primary objective, do you care more about statistics, Revit model audits, progress reports? Whatever it is, any workflow begins from here.
  • Try to work with only the data you will truly need but approach it with extendibility in mind. Focus on a flexible workflow, that can evolve over time to accommodate potential future needs.
  • Who will be reviewing your analytics, reports and data checks? If reports and analytics are inspected only by technical staff, maybe it is not worth investing too much in the graphical presentation side of things? Keep the target audience in mind.
  • Pick the tools for the job only after you’ve given thought to the previous steps. Summarize what options are available in-house, do you really need proprietary solutions, do a simple cost-benefit analysis. Consider that implementation and configuration will play a key role regardless of the path taken. How much of it will be required is another matter.

Hope you found the material here useful. If your company has questions regarding some parts or would like to consult on how BIM data workflows could be implemented with your Revit models, you can always contact us at or by filling out the contact us form on our website.

Contact Us

If you would like to get in touch with us, you can do so by filling the form below and we will get back to you as soon as possible. Alternatively, you can email us directly at: