Beyond Deadlines: Start With Cost Logic → Dodge Data Chaos

Baseline

If you want people to do things that typically they do not want to do, first you need to find an honest reason that is big enough. Understanding what reasons are big enough means you have to understand how people are motivated. People are motivated by one of two things: either avoiding a loss or acquiring a potential gain.

 Exactly What to Say by Phil Jones

Tactics

Cost loading a schedule isn’t about the tool. It’s about how you structure the system to make the numbers mean something.

Here’s the core idea: Cost loading is a mapping exercise first, technical exercise second. If you skip the mapping, the whole thing turns into spreadsheet spaghetti.

Before you assign a dollar to a single activity, ask yourself three questions:

  • Who’s going to own the actuals?

  • At what level of granularity can they report them?

  • How often will you need those actuals to flow?

If your finance team can only give you monthly actuals by cost code, but you’ve got 5,000 activities with a line item each, you’re setting up an administrative disaster. Every subcontractor now has to guess which P6 activity their labor went to. Good luck keeping that clean.

So instead, start with a structure that matches how money flows. For example, you could use control accounts, summary-level buckets that group multiple activities and align with how the project tracks cost. These let you assign budget and gather actuals at a higher level while still tying back to the schedule.

It doesn’t have to be textbook EVM. You can build your own version of control accounts using WBS levels, activity codes, or custom tags. As long as the structure is intentional and traceable across schedule, budget, and actuals.

Start simple. Nail the upstream-downstream mapping first. Once that’s working, you can always build into more detail and complexity over time. Just don’t try to automate chaos.

Prompts

Aligning Activities to Cost Codes

Copy and paste this prompt into ChatGPT, Gemini or Claude.

Act as a Senior Project Controls Analyst with expert knowledge in Primavera P6, Earned Value Management, and construction cost-coding standards.

Objective:
Develop a best-fit mapping that assigns exactly one cost code (control account) from the provided catalog to every P6 activity.

Input Data:
You will receive two CSV datasets, each wrapped in its own triple-backtick fence and labeled as follows:

  • p6_activities — A Primavera P6 export containing at least: Activity ID, Activity Name, WBS Code, and optionally Activity Code.

  • cost_codes — A cost code catalog including at least: Cost Code, Description, WBS, and Work Type.

Example:

p6_activities

CopyEdit

Activity ID,Activity Name,WBS Code,Activity Code A1000,Excavate building pad,1.1.01,SITE-EARTH ...

cost_codes

CopyEdit

Cost Code,Description,WBS,Work Type 01-0100,Earthworks,1.1,SITE ...

Methodology:

  1. Parse both CSVs into memory.

  2. Normalize text — convert to lowercase, strip punctuation, and tokenize key terms.

  3. Generate candidate matches for each activity by comparing:

    • WBS hierarchy alignment (exact match or valid ancestor)

    • Keyword similarity between Activity Name/Code and Description/Work Type (e.g., Jaccard or cosine)

    • Pattern similarities (e.g., shared prefixes or suffixes)

  4. Score each candidate from 0 to 100 using weighted criteria:

    • WBS match: 40%

    • Keyword similarity: 40%

    • Pattern similarity: 20%

  5. Select the top-scoring cost code. If the score is below 60, label the activity as REVIEW_NEEDED.

  6. Generate an output table with the following columns:
    Activity ID | Activity Name | Suggested Cost Code | Score | Notes
    Notes should contain a brief rationale or simply state REVIEW_NEEDED (25 words or fewer).

  7. Sort the output by Activity ID in ascending order.

  8. Return the mapping twice:

    • First, as raw CSV enclosed in a triple-backtick block labeled mapping

    • Second, immediately after, as a readable plain text table.

Rules and Style:

  • Use only cost codes from the provided catalog — do not create new ones.

  • Preserve all Activity IDs exactly as provided.

  • Do all reasoning silently — output only the final results.

  • Maintain simple formatting with code fences and spacing.

  • Do not display intermediate steps or calculations.

Take a deep breath and proceed step by step.

Careers

Sr. Manager, Scheduling

  • Company - LA 28 Olympic & Paralympic Games

  • Location - Los Angeles

Senior Director Project Control (Scheduling)

  • Company - Los Angeles Metro

  • Location - San Francisco, CA

Scheduling Manager

  • Company - Skanska

  • Location - New York

We have no connection to these jobs or companies. Our goal is simply to help you land the job of your dreams.

Want a better shot at landing a job like above? This weeks post is brought to you by our book The Critical Path Career. It’s packed with value. For example, 26 Interview Questions with Sample Answers. Prepare for your next big interview with confidence using expertly crafted questions and answers designed specifically for planners and schedulers.

Rewind

This week’s episode we dive into retrofits. Watch or Listen on Spotify, Apple Podcasts or Youtube.

Next
Next

How to Replan a Scope Explosion | Scaling Calm w/ Heather Bemis