Layers make a project easier to change without repeating cleanup rules. Staging models rename and normalize source records. Intermediate models combine reusable business steps.
Marts expose datasets at a grain that downstream users can describe, such as one row per customer or one row per reporting day. The folder names help people find the work, while ref calls create the actual dependency graph.
Write down the grain before you join. A customer can have several orders, and joining two detailed children can multiply rows. Aggregate one child first when you need a customer-level result.
A clean staging model doesn't make every later join safe. These tasks deliberately include customers with no matching records and orders with missing customer IDs, so check which entity the request says to preserve.