Model Overview at a Glance
A high-level synthesis of purpose, capabilities, and strategic roadmap
Business Purpose
The BrandSafway Market Model is a strategic intelligence platform designed to identify, quantify, and prioritize $6B+ in market opportunities across industrial and commercial construction segments, enabling data-driven sales targeting and resource allocation across 135 branch locations.
Key Technical Features
- Multi-Source Integration: IIR (Industrial), ConstructConnect (Commercial), Salesforce (CRM), ERP/GL (Actuals)
- Star Schema Design: 57 tables, 127 relationships, 243 calculated columns
- 59 DAX Measures: Core metrics, time intelligence, rankings, and real-time alerts
- Branch Assignment Logic: Geographic allocation connecting projects to 135 serving branches
- Snowflake Data Warehouse: PROD_GOLD.MARKET_MODEL schema with ETL pipelines
Model Assumptions
- Opportunity Calculation: Project TIV ร Service-specific market share percentages
- Branch Assignment: Nearest-branch allocation based on geographic proximity
- Timeline Normalization: YYYYMM unpivot for consistent temporal analysis
- Category Mapping: Standardized segment classification across sources
- Data Freshness: Daily batch refresh from external sources (IIR, CC)
5 Defined Personas
Path to Persona-Specific, Actionable & Collaborative Model
Key initiatives to transform from reporting tool to decision engine
1. Persona-Specific Access
- Implement Row-Level Security (RLS) by branch/region hierarchy
- Create role-based landing pages with relevant KPIs
- Deploy pre-built analysis packs per persona
- Configure personalized alert thresholds
2. Actionable Insights
- Build smart alert system (new projects, bid dates, anomalies)
- Add AI-generated narrative summaries
- Implement Detect โ Contextualize โ Recommend โ Execute workflow
- Enable one-click actions (create opportunity, schedule meeting)
3. Collaborative Platform
- Embed analytics in Salesforce (Account/Opportunity pages)
- Deploy Teams integration with weekly digest cards
- Enable bi-directional CRM sync (real-time Salesforce)
- Create shared workspaces for cross-functional analysis
4. Advanced Intelligence
- Develop ML-based win probability scoring
- Enable Natural Language Q&A (Power BI Copilot)
- Integrate external data (economic indicators, competitor intel)
- Build demand forecasting models by region/service
Everything you need to know
Get up to speed with the Market Model dashboard in minutes
Data Architecture
Understand how data flows from IIR and ConstructConnect through Snowflake to Power BI.
Learn moreData Model
Explore the star schema design with fact tables, dimensions, and relationships.
Explore schemaDAX Measures
59 carefully crafted measures for opportunity tracking, forecasting, and alerts.
View measuresPower Query
21 M query transformations that clean, shape, and prepare data from source systems.
See transformationsData Architecture
End-to-end data flow from source systems to analytics
MLNBOPP-HTA11201.snowflakecomputing.com
Source Tables Mapping
| Snowflake Table | Power BI Table | Source | Records |
|---|---|---|---|
CC_ADJUSTED |
ConstructConnect_Adjusted | ConstructConnect | 544,890 |
COMM_ALTERATION |
Commercial Alteration | ConstructConnect | 373,466 |
COMM_NEW_BUILD |
Commercial New Build | ConstructConnect | 99,958 |
IND_PLANT_LIST_YARD_CURRENT |
Industrial Plant List | IIR | 97,305 |
IIR_PROJECT_LIST |
IIR Project List | IIR | 80,937 |
IND_CAPITAL |
Industrial Capital | IIR | 34,304 |
IND_TURNAROUNDS |
Industrial Turnarounds | IIR | 46,639 |
MAIN_OFFICES |
MainOffices1 | Internal | 135 |
Subject Areas & Data Flow
How data is organized, flows through the system, and connects across domains
Industrial
7 Tables | IIR SourceCommercial
6 Tables | ConstructConnect SourceReference Data
5 Tables | DimensionsCRM & Companies
2 Tables | SalesforceJob Performance
Excel | ERP/GL ActualsEnd-to-End Data Flow
From source systems through transformation to consumption
Critical Data Relationships
Industrial Plant List.PLANT_ID โ IIR Project List.PLANT_ID
Each plant has multiple projects over time
IIR_BRANCH_ASSIGNMENT.PROJECT_ID โ MainOffices1.YardID
Projects assigned to serving branch via bridge table
IIR Project List.SFDC_KEY โ Project.Project_ID__c
Links market opportunities to CRM pipeline (uses USERELATIONSHIP)
Service Type โ All Fact Tables
Single slicer filters across Industrial and Commercial
Data Model
Star schema design with fact and dimension tables
Dimension Tables
Fact Tables
Bridge & Reference
Key Relationships
Industrial Capital[Project ID] โ IIR Project List[PROJECT_ID]
Industrial Turnarounds[Project ID] โ IIR Project List[PROJECT_ID]
Industrial Maintenance[PLANT_ID] โ Industrial Plant List[PLANT_ID]
IIR Project List[PROJECT_ID] โ IIR_BRANCH_ASSIGNMENT[PROJECT_ID]
Commercial New Build[Project ID] โ ConstructConnect_Adjusted[ProjectID]
Commercial Alteration[Project ID] โ ConstructConnect_Adjusted[ProjectID]
CC_BRANCH_ASSIGNMENT[YardID] โ MainOffices1[YardID]
DAX Measures
59 measures organized by category for opportunity tracking and forecasting
Oppty
CoreTotal opportunity value across all segments (bottom-up)
Oppty =
SUM('Industrial Capital'[Value])
+ SUM('Industrial Turnarounds'[Value])
+ SUM('Industrial Maintenance'[Value])
+ SUM('Commercial Alteration'[Value])
+ SUM('Commercial New Build'[Value])
Ind_Oppty
IndustrialIndustrial opportunity with USERELATIONSHIP for flexible filtering
Ind_Oppty =
VAR Cap =
CALCULATE(
SUM('Industrial Capital'[Value]),
USERELATIONSHIP('Industrial Capital'[Project ID],
'IIR Project List'[PROJECT_ID])
)
VAR Ta =
CALCULATE(
SUM('Industrial Turnarounds'[Value]),
USERELATIONSHIP('Industrial Turnarounds'[Project ID],
'IIR Project List'[PROJECT_ID])
)
VAR Maint =
CALCULATE(
[Maintenance_Oppty_2025],
USERELATIONSHIP('Industrial Maintenance'[PLANT_ID],
'Industrial Plant List'[PLANT_ID])
)
RETURN
COALESCE(Cap,0) + COALESCE(Ta,0) + COALESCE(Maint,0)
Com_Oppty
CommercialCommercial opportunity combining New Build and Alteration
Com_Oppty =
SUM('Commercial Alteration'[Value])
+ SUM('Commercial New Build'[Value])
Topline_Oppty
Top-DownTop-down market forecast combining industrial and commercial topline
Topline_Oppty = [Ind_TopLine_Oppty] + [Comm_TopLine_Oppty]
Ind_TopLine_Oppty =
SUM('Industrial Topline'[Value])
+ SUM('Industrial Maintenance'[Value])
Comm_TopLine_Oppty = SUM('Commercial Topline'[Value])
NextYear_BottomUp_Oppty
TimeNext year's opportunity using DATEADD time intelligence
NextYear_BottomUp_Oppty =
CALCULATE(
[Oppty],
DATEADD(Calendar[Date], 1, YEAR)
)
NY_YoY_BottomUp_OpptyGrowth
GrowthYear-over-year growth percentage calculation
NY_YoY_BottomUp_OpptyGrowth =
IF(
NOT(ISBLANK([Oppty])) &&
NOT(ISBLANK([NextYear_BottomUp_Oppty])),
([NextYear_BottomUp_Oppty] - [Oppty]) / [Oppty],
BLANK()
)
Capital&Turnaround_BaseYear + 1/2/3
ForecastMulti-year forecasting measures
Capital&Turnaround_BaseYear + 1 =
CALCULATE(
[Capital&Turnaround_Oppty],
DATEADD('Calendar'[Date], 1, YEAR)
)
Capital&Turnaround_BaseYear + 2 =
CALCULATE(
[Capital&Turnaround_Oppty],
DATEADD('Calendar'[Date], 2, YEAR)
)
Capital&Turnaround_BaseYear + 3 =
CALCULATE(
[Capital&Turnaround_Oppty],
DATEADD('Calendar'[Date], 3, YEAR)
)
CustomerRankIndustrial
RankingRanks customers by industrial opportunity using RANKX
CustomerRankIndustrial =
RANKX(
ALLSELECTED('Industrial Plant List'[OWNER_NAME]),
CALCULATE(
[Oppty],
USERELATIONSHIP('Industrial Capital'[PLANT_ID],
'Industrial Plant List'[PLANT_ID]),
USERELATIONSHIP('Industrial Turnarounds'[PLANT_ID],
'Industrial Plant List'[PLANT_ID])
),
,
DESC,
DENSE
)
Top10_States_Ind
RankingFilters to show only top 10 states by opportunity
Top10_States_Ind =
CALCULATE(
[Ind_Oppty],
FILTER(
ALLSELECTED('StatesTable'),
[StateRank] <= 10
)
)
Alert_New_L2d_5B
AlertDetects $5B+ projects added in last 2 days
Alert_New_L2d_5B =
VAR StartDate = TODAY() - 1
VAR EndDate = TODAY() + 1
VAR IIR_Count =
CALCULATE(
DISTINCTCOUNT('IIR Project List'[PROJECT_ID]),
KEEPFILTERS(
'IIR Project List'[LIVE_DATE] >= StartDate &&
'IIR Project List'[LIVE_DATE] <= EndDate &&
'IIR Project List'[TIV_USD] > 5000000000
)
)
VAR CC_ValidIDs =
UNION(
VALUES('Commercial New Build'[Project ID]),
VALUES('Commercial Alteration'[Project ID])
)
VAR CC_Count =
CALCULATE(
DISTINCTCOUNT(ConstructConnect_Adjusted[ProjectID]),
TREATAS(CC_ValidIDs, ConstructConnect_Adjusted[ProjectID]),
KEEPFILTERS(
DATEVALUE('ConstructConnect_Adjusted'[ListDate]) >= StartDate &&
DATEVALUE('ConstructConnect_Adjusted'[ListDate]) <= EndDate &&
'ConstructConnect_Adjusted'[Valuation_Value] > 5000000000
)
)
RETURN IIR_Count + CC_Count
Complete Measures Reference
| Category | Measure | Description |
|---|---|---|
| Core | Oppty | Total opportunity (all segments) |
| Industrial | Ind_Oppty | Industrial opportunity |
| Commercial | Com_Oppty | Commercial opportunity |
| Topline | Topline_Oppty | Top-down total |
| Industrial | Capital_Oppty | Capital projects value |
| Industrial | Turnaround_Oppty | Turnaround projects value |
| Industrial | Maintenance_Oppty | Maintenance value |
| Commercial | NewBuild_BottomUp_Oppty | New build value |
| Commercial | Alteration_BottomUp_Oppty | Alteration value |
| Time | NextYear_BottomUp_Oppty | Next year bottom-up |
| Time | NY_YoY_BottomUp_OpptyGrowth | YoY growth rate |
| Ranking | CustomerRankIndustrial | Customer rank by opportunity |
| Ranking | StateRank | State rank by opportunity |
| Alert | Alert_New_L2d_5B | Large project alert |
Power Query Transformations
21 M query transformations that clean, shape, and prepare data
Common Pattern: YYYYMM Unpivot
All forecast tables use this pattern to convert wide format to tall format
let
Source = Snowflake.Databases(
"MLNBOPP-HTA11201.snowflakecomputing.com",
"PBI_WH_RQ_SMALL",
[Role="PROD_ALL_DB_VIEWER"]
),
// Navigate to table
Table = Source{[Name="PROD_GOLD"]}[Data]
{[Name="MARKET_MODEL"]}[Data]
{[Name="IND_CAPITAL"]}[Data],
// Dynamically select columns starting with "20" (year columns)
YYYYMMColumns = List.Select(
Table.ColumnNames(Table),
each Text.StartsWith(_, "20")
),
// Unpivot: Convert wide format to tall format
UnpivotedColumns = Table.Unpivot(
Table,
YYYYMMColumns,
"YYYYMM", // New column for period
"Value" // New column for opportunity value
),
// Add proper Date column from YYYYMM string
#"Added Custom" = Table.AddColumn(
UnpivotedColumns,
"Date",
each Date.FromText(
Text.Start([YYYYMM], 4) & "-" &
Text.End([YYYYMM], 2) & "-01"
)
)
in
#"Added Custom"
Industrial Plant List
Loads plant master data, removes duplicates on PLANT_ID, replaces nulls with "Unknown"
IIR Project List
Creates StartDate from KICKOFF, standardizes country names, handles nulls
ConstructConnect_Adjusted
Cleans text fields, removes special characters, renames Stage to CC_Stage
MSA_Table
Uses native SQL with ROW_NUMBER to get most common MSA per county
Project (Salesforce)
Connects to Salesforce CRM, removes unnecessary columns
Service Type
Static reference table with 6 service types embedded as JSON
Role-Based Experiences
Tailored dashboard views and insights for each stakeholder role
Executive Leadership
CEO, CFO, COO, EVP
Key Questions They Ask
- "What's our market share in the Gulf Coast region?"
- "Which sectors are showing the most growth potential?"
- "How does this quarter compare to last year?"
- "Where should we invest for maximum ROI?"
Key Action Insights
Recommended Actions
Sales & Business Development
VP Sales, Regional Managers, Account Executives
Key Questions They Ask
- "What new projects are coming up in my territory?"
- "Which bids are due this week?"
- "What's my pipeline coverage ratio?"
- "Which accounts have projects we haven't quoted?"
Key Action Insights
Recommended Actions
Operations & Branch Management
Branch Managers, Operations Directors, Field Supervisors
Key Questions They Ask
- "What's our capacity for Q2 turnaround season?"
- "Which projects are starting in my branch area?"
- "Do we have resource conflicts next month?"
- "What service mix should we staff for?"
Key Action Insights
Recommended Actions
Analytics & Strategy
Data Analysts, BI Developers, Strategy Team
Key Questions They Ask
- "Why is IIR data showing discrepancies?"
- "What's the refresh status of all sources?"
- "Which measures need optimization?"
- "How do we validate branch assignments?"
Key Action Insights
Recommended Actions
IT & Platform Engineering
Data Engineers, IT Admins, Solution Architects
Key Questions They Ask
- "Is the Snowflake connection healthy?"
- "What's causing slow report load times?"
- "Who accessed sensitive data last week?"
- "Are all scheduled refreshes completing?"
Key Action Insights
Recommended Actions
Collaborative Intelligence
How personas work together to drive decisions across the organization
Cross-Functional Decision Flow
From market signal to coordinated action
Detect Signal
"Large refinery maintenance cycle detected in Texas - $50M potential"
Prioritize
"Approve strategic pursuit - aligns with Gulf Coast growth initiative"
Engage
"Create opportunity, schedule customer meeting, assign senior AE"
Plan Capacity
"Reserve resources, coordinate with adjacent branches for support"
Shared Comments & Annotations
Add context to data points visible to all stakeholders. Tag colleagues on specific insights for review.
Cross-Team Subscriptions
Subscribe to alerts from other personas. Sales gets notified when Operations flags capacity issues.
Shared Planning Calendar
Unified view of bid dates, project starts, and resource availability across all teams.
Win/Loss Feedback Loop
Sales outcomes feed back to Analytics for model improvement and Executive for strategy refinement.
Persona Interaction Matrix
How each role contributes to and benefits from others
| From / To | Executive | Sales | Operations | Analytics | IT |
|---|---|---|---|---|---|
| Executive | - | Strategic priorities, target markets | Capacity investment decisions | KPI definitions, success metrics | Budget approvals, security policies |
| Sales | Pipeline health, win/loss trends | - | Resource requests, project timelines | Data quality issues, missing info | CRM integration needs |
| Operations | Utilization metrics, growth needs | Capacity confirmations, constraints | - | Assignment accuracy feedback | System performance issues |
| Analytics | Market insights, trend analysis | Opportunity scoring, predictions | Demand forecasting, patterns | - | Data pipeline requirements |
| IT | System health reports, risks | New feature capabilities | Integration status updates | Data freshness, lineage info | - |
Model Enhancements & Recommendations
Strategic improvements for architecture, insights delivery, and decision support
Architecture & Model Updates
Incremental Refresh Implementation
Configure incremental refresh for large fact tables (Commercial, Industrial projects) to reduce refresh times from hours to minutes.
Composite Model Architecture
Convert to composite model with DirectQuery for real-time Salesforce data combined with Import mode for historical market data.
Calculation Groups for Time Intelligence
Replace repetitive YoY, QoQ, and MTD measures with calculation groups for cleaner maintenance and better performance.
Role-Level Security (RLS)
Implement dynamic RLS based on user branch assignments for self-service access while maintaining data governance.
Consumption-Ready Insights
Smart Alerts & Notifications
Proactive notifications when key thresholds are crossed or anomalies detected.
- New Project Alert: Large projects ($5M+) added in your territory
- Bid Date Reminder: Projects with bids due within 14 days
- Win Rate Drop: Win rate falls below historical average
- Market Shift: Unusual activity spike in specific sectors
Natural Language Summaries
AI-generated narrative insights that explain what the data means.
"Your Gulf Coast region saw a 23% increase in turnaround projects this quarter, primarily driven by 3 large refinery maintenance cycles at ExxonMobil and Chevron facilities. This represents $45M in potential opportunity, with bid dates concentrated in Q2."
Embedded Analytics
Surface insights where users already work, reducing context switching.
- Salesforce: Embed project intelligence on Account and Opportunity pages
- Microsoft Teams: Weekly digest cards with key metrics
- Email: Personalized briefings for executives
- Mobile: Power BI mobile app with push notifications
Pre-Built Analysis Packs
Curated views answering common business questions without manual filtering.
Actionable Decision Framework
Detect
Automatically identify signals and patterns
Large project ($10M+) bid date in 30 days
Competitor winning multiple bids in territory
Market sector showing 15%+ growth
Contextualize
Enrich with historical and relationship data
Previous wins with this customer: 3 projects
Historical win rate for project type: 45%
Branch capacity utilization: 78%
Recommend
Suggest specific actions with rationale
Recommend: Assign senior estimator (high value + existing relationship)
Recommend: Partner with adjacent branch for capacity
Recommend: Prioritize scaffold service (higher margin for project type)
Execute
Enable one-click actions from insights
โ Create Salesforce Opportunity
โ Schedule customer meeting
โ Generate proposal template
โ Assign to sales rep
Implementation Phases
Model Optimization
- Implement incremental refresh
- Add calculation groups
- Optimize DAX measures
- Document all transformations
Self-Service Enablement
- Implement Row-Level Security
- Create persona-based views
- Build training materials
- Deploy to Power BI Premium
Smart Insights Layer
- Configure data alerts
- Integrate Copilot for Power BI
- Build automated reports
- Create Salesforce embedded views
Decision Automation
- Power Automate workflows
- Recommendation engine
- One-click CRM actions
- Predictive scoring models
Future Capabilities
Advanced features and integrations for the next generation platform
AI & Machine Learning
Intelligent automation and predictive capabilities
Win Probability Scoring
ML model that predicts likelihood of winning each opportunity based on historical patterns, relationship strength, competitor presence, and project characteristics.
Natural Language Q&A
Ask questions in plain English: "What's the largest turnaround project in Texas next quarter?" and get instant answers with visualizations.
Anomaly Detection
Automatically detect unusual patterns: sudden market shifts, data quality issues, unexpected competitor activity, or emerging opportunities.
Demand Forecasting
Predict future market demand by region, service type, and sector using historical patterns, economic indicators, and project pipeline data.
External Data Enrichment
Augment internal data with external market intelligence
Economic Indicators Integration
Correlate market opportunities with economic data: oil prices, refinery utilization rates, construction spending indices, and regional GDP.
Competitor Intelligence
Track competitor wins, losses, and market presence. Identify which competitors are active in each territory and their win patterns.
Weather & Seasonality
Incorporate weather forecasts and seasonal patterns that affect project timelines, especially for outdoor scaffold and painting work.
Permit & Regulatory Data
Early detection of upcoming projects through building permits, environmental filings, and regulatory submissions before they hit IIR/CC.
Real-Time Intelligence
Move from batch to streaming for instant insights
Live Salesforce Sync
Real-time bi-directional sync with Salesforce. When an opportunity is updated in CRM, dashboards reflect immediately. Market insights push back to CRM.
Push Notifications
Real-time mobile and desktop alerts when critical events occur: new large project added, competitor activity, bid date approaching.
Streaming Analytics
Process data as it arrives for instant aggregations. See live project counts, opportunity values, and market shifts as they happen.
Advanced Visualization
Next-generation visual experiences
Interactive 3D Mapping
Geospatial visualization with 3D terrain, drive-time analysis, and branch coverage optimization. See project density as elevation maps.
Relationship Network Graph
Visualize connections between companies, contacts, and projects. See how parent companies, subsidiaries, and key decision-makers are connected.
Augmented Reality Site View
Point your phone at an industrial facility and see overlay of active projects, historical work, and upcoming opportunities at that site.
Automation & Workflow
From insight to action without manual intervention
Auto-Opportunity Creation
When a new project matches predefined criteria (size, location, customer relationship), automatically create a Salesforce opportunity and assign to the right rep.
Intelligent Document Generation
Auto-generate proposals, territory reports, and executive summaries with project-specific data, competitive analysis, and win strategy recommendations.
Meeting Prep Automation
Before every customer meeting, auto-generate a briefing with: account history, active projects, upcoming bids, relationship strength, and talking points.
Governance & Trust
Data quality, lineage, and confidence scoring
Data Quality Scorecard
Real-time data quality metrics: completeness, accuracy, timeliness, consistency. Alert when quality drops below thresholds.
Confidence Indicators
Every metric shows confidence level based on data completeness and freshness. Users know when to trust numbers vs. when to investigate.
End-to-End Lineage
Click any number to see exactly where it came from: source system, transformations applied, last update time, and who owns it.
Self-Service & Democratization
Empower every user to find their own answers
Personal Dashboards
Every user gets a personalized home page showing their territory, their accounts, their opportunities. Auto-configured based on role and assignments.
Drag-and-Drop Report Builder
Non-technical users can build their own reports without IT support. Pre-approved measures, governed dimensions, safe self-service.
Embedded Training & Guidance
Contextual help, video tutorials, and guided tours built into the interface. New users become productive in hours, not weeks.
Analytics Maturity Roadmap
Progressive capabilities building toward autonomous intelligence
Descriptive
"What happened?"
- Historical reporting
- Static dashboards
- Manual refresh
- IT-dependent
Diagnostic
"Why did it happen?"
- Drill-down analysis
- Root cause detection
- Anomaly alerts
- Self-service enabled
Predictive
"What will happen?"
- Win probability scoring
- Demand forecasting
- Trend projections
- Risk identification
Prescriptive
"What should we do?"
- Recommended actions
- Auto-optimization
- Autonomous decisions
- Closed-loop learning
Data Dictionary
Complete field-level documentation for all tables
| Column | Type | Description |
|---|---|---|
PLANT_ID | Text | Unique plant identifier (Primary Key) |
OWNER_NAME | Text | Plant owner company name |
PARENTNAME | Text | Ultimate parent company name |
PLANT_NAME | Text | Facility name |
P_ST_NAME | Text | State name |
PHYS_CITY | Text | Physical city location |
PHYS_ZIP | Text | ZIP/Postal code |
P_COUNTRY | Text | Country |
IND_CODE | Text | Industry code |
IND_DESC | Text | Industry description |
NewCategory | Text | Market segment category |
YardID | Text | Assigned branch (Foreign Key) |
LATITUDE | Number | Geographic latitude |
LONGITUDE | Number | Geographic longitude |
| Column | Type | Description |
|---|---|---|
PROJECT_ID | Text | Unique project identifier (Primary Key) |
PROJ_NAME | Text | Project name |
PROJECT_TYPE | Text | Type of project |
PLANT_ID | Text | Associated plant (Foreign Key) |
TIV_USD | Int | Total Investment Value in USD |
COMPLETION | Date | Expected completion date |
StartDate | Date | Project start date |
LIVE_DATE | Date | Date project went live in system |
PEC_TIMING | Text | Project timing classification |
CAPITAL/MRO | Text | Capital or MRO classification |
NewCategory | Text | Market segment category |
| Column | Type | Description |
|---|---|---|
ProjectID | Text | Unique project identifier (Primary Key) |
Title | Text | Project title |
Ownership | Text | Public or Private ownership |
WorkType | Text | Type of work being done |
Valuation_Value | Int | Project valuation in dollars |
CommenceDate | Date | Project start date |
CompletionDate | Date | Project end date |
ListDate | Date | Date added to database |
CC_Stage | Text | Current project stage |
StateProvince | Text | State or province |
City | Text | City location |
NEWCATEGORY | Text | Market segment category |
MEGA_PROJECT_FLAG | Text | Large project indicator |
| Column | Type | Description |
|---|---|---|
YardID | Text | Branch identifier (Primary Key, e.g., B:782) |
Division | Text | Division name (e.g., North America) |
Region | Text | Region name (e.g., West, Gulf) |
Area | Text | Area name (e.g., Southwest OS Area) |
BranchNo | Text | Branch display name |
Branch Main Office | Text | Main office name |
YardLat | Number | Branch latitude |
YardLon | Number | Branch longitude |
RegionVP | Text | Regional VP name |
| Column | Type | Description |
|---|---|---|
ProjectID | Text | ConstructConnect Project ID (Foreign Key) |
CompanyID | Int | Company identifier |
Name | Text | Company name |
Role | Text | Company role on project (e.g., Owner, GC) |
Stage | Text | Project stage when company joined |
BiddingRole | Text | Role in bidding process |
Bidding | Text | Bidding status indicator |
Key Customer | Text | Key customer flag (Yes/No) |
CC Customer | Text | ConstructConnect customer indicator |
Sanitized - ALL | Text | Standardized company name |
Address_ID | Text | Address lookup key |
City | Text | Company city |
StateProvince | Text | State/Province |
Latitude | Number | Geographic latitude |
Longitude | Number | Geographic longitude |
URL | Text | ConstructConnect project URL |
| Column | Type | Description |
|---|---|---|
Id | Text | Salesforce record ID |
Project_ID__c | Text | External project ID (links to IIR/CC) |
Project_Stage__c | Text | Current sales stage |
OwnerId | Text | Salesforce user ID (record owner) |
Engagement_Lead__c | Text | Engagement lead user ID |
Potential_Achieved__c | Number | Revenue achieved to date |
Potential_Remaining__c | Number | Remaining revenue potential |
Source_Type__c | Text | Lead source type (IIR, CC, Direct) |
Source__c | Text | Specific lead source |
Closed_Type__c | Text | Closed reason if applicable |
Last_Stage_Date__c | Date | Date of last stage change |
BrandSafway_Project_Start_Date__c | Date | BrandSafway work start date |
Stage_Comment_1__c | Text | Stage notes (first) |
Stage_Comment_2__c | Text | Stage notes (second) |
Researching_Results__c | Text | Research findings |
Researching_Comments__c | Text | Research notes |
Service Type
| Value | Description |
|---|---|
| Scaffolding | Industrial and commercial scaffolding services |
| Forming/Shoring | Concrete forming and shoring systems |
| Insulation | Industrial insulation services |
| Painting | Industrial coating and painting |
| Motorized | Motorized access equipment |
| Specialty | Specialty access solutions |
Project Funding
| Value | Description |
|---|---|
| Capital | Capital expenditure projects |
| Turnarounds | Scheduled maintenance shutdowns |
| Maintenance | Ongoing maintenance work |
| NewBuild | New construction projects |
| Alteration | Modification/renovation projects |
Project Type
| Value | Description |
|---|---|
| Commercial | Commercial construction projects |
| Industrial | Industrial facility projects |
| Residential | Residential projects (limited) |
| Infrastructure | Infrastructure projects |
Parameter Tables
| Table | Purpose |
|---|---|
| Market Summary Param | Slicer parameters for market summary views |
| Market_Forecasting_Param | Forecasting model parameter selections |
| MSA_Table | Metropolitan Statistical Area lookup (389 MSAs) |
Additional Data Sources
Job Performance Data (Excel)
Actual revenue, cost, and hours data from ERP/GL system for completed and in-progress jobs.
Snowflake (PROD_GOLD.MARKET_MODEL)
Cloud data warehouse hosting all market model data with scheduled refresh from source systems.
IIR - Industrial Info Resources
Comprehensive industrial project intelligence powering the Market Model
Industrial Plants
Operational facilities across 12 industrial sectors with owner, location, and classification data
Capital Projects
New construction and expansion projects from $1M+ with full lifecycle tracking
Turnarounds
Scheduled plant shutdowns for maintenance, upgrades, and regulatory compliance
Maintenance (MRO)
Ongoing maintenance, repair, and operations budgets by plant and region
About Industrial Info Resources
Visit IIR Website โIIR Data Tables in Market Model
IIR Project List
PROD_GOLD.MARKET_MODEL.IIR_PROJECT_LIST| Field | Type | Description |
|---|---|---|
PROJECT_ID |
Text | Unique project identifier |
PROJ_NAME |
Text | Project name/description |
PROJECT_TYPE |
Text | Capital, Turnaround, Maintenance |
TIV_USD |
Number | Total Installed Value in USD - key opportunity metric |
PROJ_TIV |
Number | Project TIV in local currency |
PEC_TIMING |
Text | Project stage: Planning, Engineering, Construction |
P_STATUS / P_STATUS_D |
Text | Project status code and description |
OWNER_ID / OWNER_NAME |
Text | Asset owner company |
PLANT_NAME |
Text | Associated plant facility |
PLANT_CITY / PLANT_ST / PL_COUNTRY |
Text | Plant location details |
LATITUDE / LONGITUDE |
Number | Geocoordinates for mapping |
IND_CODE / IND_DESC |
Text | Industry classification (Refinery, Petrochemical, etc.) |
SIC_CODE / SIC_DESC |
Text | Standard Industrial Classification |
AFE_DATE |
Number | Authorization for Expenditure date |
LIVE_DATE |
Date | Date project went live in IIR database |
REPORTDATE |
Date | Last report update date |
PEC_ZONE / MARKET_REG |
Text | Geographic region codes |
CONST_LBR / OPER_LBR |
Text | Labor union status |
Industrial Plant List
PROD_GOLD.MARKET_MODEL.IND_PLANT_LIST_YARD_CURRENT| Field | Type | Description |
|---|---|---|
PLANT_ID |
Text | Unique plant identifier - primary key |
PLANT_NAME |
Text | Facility name |
OWNER_NAME / OWNER_ID1 |
Text | Owner company |
OPER_NAME / OPER_ID |
Text | Operator (if different from owner) |
PARENTNAME / PARENTID |
Text | Parent company |
IND_CODE / IND_DESC |
Text | Industry (Refinery, Petrochemical, etc.) |
SIC_CODE / SIC_DESC |
Text | SIC classification |
PL_STATUS |
Text | Operational, Planned, Mothballed, Closed |
PHYS_ADDR / PHYS_CITY / P_ST_NAME |
Text | Physical address |
COUNTYNAME / COUNTY_ID |
Text | County location |
PEC_ZONE / MARKET_REG |
Text | IIR geographic regions |
NO_EMP |
Text | Employee count |
STARTUP / SHUTDOWN |
Text | Plant startup/shutdown dates |
FUEL_TYPE1 / FUEL_TYPE2 |
Text | Fuel types used |
OPER_LBR |
Text | Union/Non-union labor |
Industrial Capital
IND_CAPITALMonthly spend projections for capital projects
Project ID โ Links to IIR Project ListPLANT_ID โ Links to Plant ListYYYYMM โ Year-Month (unpivoted)Value โ Projected spend in USDDate โ Calculated date
Industrial Turnarounds
IND_TURNAROUNDSMonthly spend for scheduled shutdowns
Project ID โ Links to IIR Project ListPLANT_ID โ Links to Plant ListYYYYMM โ Year-Month (unpivoted)Value โ Projected spend in USDDate โ Calculated date
Industrial Maintenance
IND_MAINTENANCEMonthly MRO spend by plant
PLANT_ID โ Links to Plant ListYYYYMM โ Year-Month (unpivoted)Value โ Monthly maintenance spend
Industrial Topline
IND_TOPLINEAggregated market view for sizing
Project Funding โ Capital/TurnaroundsYYYYMM โ Year-Month (unpivoted)Value โ Aggregated spend
IIR_BRANCH_ASSIGNMENT
Bridge Table - 80,937 mappingsMaps IIR projects to BrandSafway branches/yards for territory assignment and revenue attribution
PROJECT_ID
โ
IIR Project List
YardID
โ
BrandSafway Branch
Project Lifecycle Stages (PEC_TIMING)
TIV (Total Installed Value) Scale
Industry Coverage (IND_DESC)
IIR โ Salesforce โ BrandSafway Business Flow
IIR data powers BrandSafway's sales pipeline by identifying market opportunities before competitors, enabling proactive outreach and strategic territory planning.
- Project discovery
- Plant master data
- TIV valuations
- PEC timing stages
- IIR_BRANCH_ASSIGNMENT
- YardID mapping
- Division/Region/Area
- MSA alignment
- Lead/Opportunity creation
- Service type potentials
- Contact management
- Pipeline tracking
- Quote & proposal
- Contract award
- Job execution
- Revenue recognition
Service Type Revenue Potential
Each IIR project flows to Salesforce with estimated revenue potential broken down by BrandSafway service offerings:
Scaffolding
Access solutions for construction, maintenance, and turnarounds
Total_Potential_Scaffolding__c
Forming & Shoring
Concrete forming systems and structural support
Total_Potential_FS__c
Insulation
Thermal, acoustic, and fireproofing solutions
Total_Potential_Insulation__c
Painting & Coatings
Industrial painting and protective coatings
Total_Potential_Painting__c
Motorized Access
Suspended platforms and mast climbers
Total_Potential_Motorized__c
Specialty Services
Specialized industrial solutions
Total_Potential_Specialty__c
Competitive Intelligence
The Company Project History table tracks contractor involvement and bidding activity on IIR projects, enabling competitive analysis:
| Field | Description | Business Use |
|---|---|---|
ProjectID |
Links to IIR/CC project | Connect competitor activity to specific opportunities |
Name |
Company/contractor name | Identify competitors on target projects |
Role |
Company's role on project | Understand contractor relationships |
BiddingRole |
Bidding status/category | Track active bidders vs awarded |
Stage |
Project stage involvement | Know when competitors enter deals |
Key Customer |
Strategic account flag | Prioritize key account protection |
Business Value & ROI
Proactive Prospecting
Identify projects in Planning stage before RFQs, enabling early relationship building with asset owners
Territory Optimization
Branch assignment ensures local sales teams own opportunities in their geography with clear accountability
Market Sizing
TIV aggregations by region, industry, and service type enable accurate TAM/SAM calculations for planning
Win Rate Analysis
Compare IIR opportunity data against actual wins to measure market share and identify improvement areas
Mega Project Alerts
Automatic alerts for projects exceeding $5B TIV ensure executive visibility on transformational opportunities
Resource Planning
Monthly spend forecasts by project enable workforce and equipment planning aligned to demand
Sales Team Workflow
Market Model Dashboard
Review IIR opportunities by territory, filter by industry, TIV range, and PEC timing stage
Identify High-Value Targets
Sort by TIV, filter to Planning/Engineering stage for early engagement opportunities
Check Competitive Landscape
Review Company Project History to see which contractors are already engaged
Create Salesforce Opportunity
Convert IIR project to SFDC opportunity with service type potential breakdown
Engage & Win
Execute sales process, track progress, measure win rate against market opportunity
Terms & Definitions
Comprehensive terminology for the Market Model