Skip to main content

Project recommendations

dbt Explorer provides recommendations about your project from the dbt_project_evaluator package using metadata from the Discovery API.

  • Explorer also offers a global view, showing all the recommendations across the project for easy sorting and summarizing.
  • These recommendations provide insight into how you can create a better-documented, better-tested, and better-built dbt project, creating more trust and less confusion.
  • For a seamless and consistent experience, recommendations use dbt_project_evaluator's pre-defined settings and don't import customizations applied to your package or project.
On-demand learning

If you enjoy video courses, check out our dbt Explorer on-demand course and learn how to best explore your dbt project(s)!

Recommendations page

The Recommendations overview page includes two top-level metrics measuring the test and documentation coverage of the models in your project.

  • Model test coverage — The percent of models in your project (models not from a package or imported via dbt Mesh) with at least one dbt test configured on them.
  • Model documentation coverage — The percent of models in your project (models not from a package or imported via dbt Mesh) with a description.
Example of the Recommendations overview page with project metrics and the recommendations for all resources in the projectExample of the Recommendations overview page with project metrics and the recommendations for all resources in the project

List of rules

The following table lists the rules currently defined in the dbt_project_evaluator package.

CategoryNameDescriptionPackage Docs Link
ModelingDirect Join to SourceModel that joins both a model and source, indicating a missing staging modelGitHub
ModelingDuplicate SourcesMore than one source node corresponds to the same data warehouse relationGitHub
ModelingMultiple Sources JoinedModels with more than one source parent, indicating lack of staging modelsGitHub
ModelingRoot ModelModels with no parents, indicating potential hardcoded references and need for sourcesGitHub
ModelingSource FanoutSources with more than one model child, indicating a need for staging modelsGitHub
ModelingUnused SourceSources that are not referenced by any resourceGitHub
PerformanceExposure Dependent on ViewExposures with at least one model parent materialized as a view, indicating potential query performance issuesGitHub
TestingMissing Primary Key TestModels with insufficient testing on the grain of the model.GitHub
DocumentationUndocumented ModelsModels without a model-level descriptionGitHub
DocumentationUndocumented SourceSources (collections of source tables) without descriptionsGitHub
DocumentationUndocumented Source TablesSource tables without descriptionsGitHub
GovernancePublic Model Missing ContractModels with public access that do not have a model contract to ensure the data typesGitHub

The Recommendations tab

Models, sources, and exposures each also have a Recommendations tab on their resource details page, with the specific recommendations that correspond to that resource:

Example of the Recommendations tab Example of the Recommendations tab
0