[{"data":1,"prerenderedAt":671},["ShallowReactive",2],{"content-\u002Fblog\u002Fproject-profitability-calculation":3,"content-query-kMmPLZLhvZ":396},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"createdAt":10,"updatedAt":11,"primaryKeyword":12,"author":13,"tags":15,"takeaways":19,"related":23,"faq":39,"readingTime":49,"body":54,"_type":390,"_id":391,"_source":392,"_file":393,"_stem":394,"_extension":395},"\u002Fblog\u002Fproject-profitability-calculation","blog",false,"","Project profitability calculation guide","Calculate project profit and margin using revenue, labor, contractors, software, expenses, write-offs, and collected cash, with practical agency formulas.","2026-07-10T12:00:00.000Z","2026-07-11T12:00:00.000Z","project profitability calculation",{"name":14},"Workspace369",[16,17,18],"project profitability","agencies","financial reporting",[20,21,22],"Project profit equals recognized project revenue minus direct project costs.","Project margin percentage equals project profit divided by project revenue, multiplied by 100.","Scope, labor cost, expenses, write-offs, invoicing, and collections should be reviewed together.",[24,27,30,33,36],{"title":25,"path":26},"Project profitability software for agencies","\u002Fsolutions\u002Fproject-profitability-software-for-agencies",{"title":28,"path":29},"Billable expense tracking guide","\u002Fblog\u002Fbillable-expense-tracking",{"title":31,"path":32},"Time tracking and invoicing software","\u002Fsolutions\u002Ftime-tracking-and-invoicing-software",{"title":34,"path":35},"How to track agency profitability","\u002Fblog\u002Fhow-to-track-agency-profitability",{"title":37,"path":38},"Agency time tracking software","\u002Fsolutions\u002Fagency-time-tracking-software",[40,43,46],{"question":41,"answer":42},"How do you calculate project profit?","Project profit equals recognized project revenue minus direct project costs such as labor, contractors, software, travel, products, and other delivery expenses.",{"question":44,"answer":45},"How do you calculate project profit margin?","Divide project profit by project revenue and multiply by 100. A project with $20,000 revenue and $14,000 direct cost has $6,000 profit and a 30% margin.",{"question":47,"answer":48},"Should overhead be included in project profitability?","Teams may review both contribution margin using direct costs and fully loaded margin using an allocated share of overhead. Label the method clearly and use it consistently.",{"text":50,"minutes":51,"time":52,"words":53},"2 min read",1.645,98700,329,{"type":55,"children":56,"toc":381},"root",[57,65,72,81,89,94,214,220,225,231,236,242,247,292,306,312,317,323,328,371],{"type":58,"tag":59,"props":60,"children":61},"element","p",{},[62],{"type":63,"value":64},"text","Project profitability measures what remains after the revenue from a project is compared with the costs required to deliver it. Agencies often discover margin problems too late because proposals, time, contractor invoices, software costs, expenses, client changes, invoices, and payments live in separate systems.",{"type":58,"tag":66,"props":67,"children":69},"h2",{"id":68},"core-project-profitability-formulas",[70],{"type":63,"value":71},"Core project profitability formulas",{"type":58,"tag":59,"props":73,"children":74},{},[75],{"type":58,"tag":76,"props":77,"children":78},"strong",{},[79],{"type":63,"value":80},"Project profit = recognized project revenue - direct project costs",{"type":58,"tag":59,"props":82,"children":83},{},[84],{"type":58,"tag":76,"props":85,"children":86},{},[87],{"type":63,"value":88},"Project margin percentage = project profit \u002F project revenue x 100",{"type":58,"tag":59,"props":90,"children":91},{},[92],{"type":63,"value":93},"Example:",{"type":58,"tag":95,"props":96,"children":97},"table",{},[98,118],{"type":58,"tag":99,"props":100,"children":101},"thead",{},[102],{"type":58,"tag":103,"props":104,"children":105},"tr",{},[106,112],{"type":58,"tag":107,"props":108,"children":109},"th",{},[110],{"type":63,"value":111},"Measure",{"type":58,"tag":107,"props":113,"children":115},{"align":114},"right",[116],{"type":63,"value":117},"Amount",{"type":58,"tag":119,"props":120,"children":121},"tbody",{},[122,136,149,162,175,188,201],{"type":58,"tag":103,"props":123,"children":124},{},[125,131],{"type":58,"tag":126,"props":127,"children":128},"td",{},[129],{"type":63,"value":130},"Recognized project revenue",{"type":58,"tag":126,"props":132,"children":133},{"align":114},[134],{"type":63,"value":135},"$20,000",{"type":58,"tag":103,"props":137,"children":138},{},[139,144],{"type":58,"tag":126,"props":140,"children":141},{},[142],{"type":63,"value":143},"Internal labor cost",{"type":58,"tag":126,"props":145,"children":146},{"align":114},[147],{"type":63,"value":148},"$8,000",{"type":58,"tag":103,"props":150,"children":151},{},[152,157],{"type":58,"tag":126,"props":153,"children":154},{},[155],{"type":63,"value":156},"Contractor cost",{"type":58,"tag":126,"props":158,"children":159},{"align":114},[160],{"type":63,"value":161},"$3,000",{"type":58,"tag":103,"props":163,"children":164},{},[165,170],{"type":58,"tag":126,"props":166,"children":167},{},[168],{"type":63,"value":169},"Software and project expenses",{"type":58,"tag":126,"props":171,"children":172},{"align":114},[173],{"type":63,"value":174},"$2,000",{"type":58,"tag":103,"props":176,"children":177},{},[178,183],{"type":58,"tag":126,"props":179,"children":180},{},[181],{"type":63,"value":182},"Other delivery cost",{"type":58,"tag":126,"props":184,"children":185},{"align":114},[186],{"type":63,"value":187},"$1,000",{"type":58,"tag":103,"props":189,"children":190},{},[191,196],{"type":58,"tag":126,"props":192,"children":193},{},[194],{"type":63,"value":195},"Project profit",{"type":58,"tag":126,"props":197,"children":198},{"align":114},[199],{"type":63,"value":200},"$6,000",{"type":58,"tag":103,"props":202,"children":203},{},[204,209],{"type":58,"tag":126,"props":205,"children":206},{},[207],{"type":63,"value":208},"Project margin",{"type":58,"tag":126,"props":210,"children":211},{"align":114},[212],{"type":63,"value":213},"30%",{"type":58,"tag":66,"props":215,"children":217},{"id":216},"decide-which-revenue-number-to-use",[218],{"type":63,"value":219},"Decide which revenue number to use",{"type":58,"tag":59,"props":221,"children":222},{},[223],{"type":63,"value":224},"Signed contract value, invoiced amount, recognized revenue, and cash collected are not interchangeable. For delivery decisions, recognized revenue may be appropriate. For cash-risk review, compare invoices and collections too. Label the method clearly so the team does not compare inconsistent reports.",{"type":58,"tag":66,"props":226,"children":228},{"id":227},"calculate-labor-cost-instead-of-using-billable-rate",[229],{"type":63,"value":230},"Calculate labor cost instead of using billable rate",{"type":58,"tag":59,"props":232,"children":233},{},[234],{"type":63,"value":235},"The client's billing rate is revenue, not labor cost. Estimate the internal cost of delivery using salary or contractor cost plus the employer costs and allocation method your finance team considers appropriate. Consistency matters more than pretending one model fits every agency.",{"type":58,"tag":66,"props":237,"children":239},{"id":238},"include-direct-delivery-costs",[240],{"type":63,"value":241},"Include direct delivery costs",{"type":58,"tag":59,"props":243,"children":244},{},[245],{"type":63,"value":246},"Depending on the engagement, direct costs may include:",{"type":58,"tag":248,"props":249,"children":250},"ul",{},[251,257,262,267,272,277,282,287],{"type":58,"tag":252,"props":253,"children":254},"li",{},[255],{"type":63,"value":256},"Employee labor",{"type":58,"tag":252,"props":258,"children":259},{},[260],{"type":63,"value":261},"Contractors and freelancers",{"type":58,"tag":252,"props":263,"children":264},{},[265],{"type":63,"value":266},"Project-specific software or data",{"type":58,"tag":252,"props":268,"children":269},{},[270],{"type":63,"value":271},"Travel and lodging",{"type":58,"tag":252,"props":273,"children":274},{},[275],{"type":63,"value":276},"Printing, products, materials, or fulfillment",{"type":58,"tag":252,"props":278,"children":279},{},[280],{"type":63,"value":281},"Payment or transaction costs",{"type":58,"tag":252,"props":283,"children":284},{},[285],{"type":63,"value":286},"Approved write-offs and credits",{"type":58,"tag":252,"props":288,"children":289},{},[290],{"type":63,"value":291},"Other costs that would not exist without the project",{"type":58,"tag":59,"props":293,"children":294},{},[295,297,304],{"type":63,"value":296},"Use a ",{"type":58,"tag":298,"props":299,"children":301},"a",{"href":300},"\u002Fblog\u002Fbillable-expense-tracking\u002F",[302],{"type":63,"value":303},"billable-expense tracking workflow",{"type":63,"value":305}," to distinguish costs recovered from the client from costs absorbed by the agency.",{"type":58,"tag":66,"props":307,"children":309},{"id":308},"review-scope-and-margin-together",[310],{"type":63,"value":311},"Review scope and margin together",{"type":58,"tag":59,"props":313,"children":314},{},[315],{"type":63,"value":316},"A low margin is often a scope-management problem before it becomes a finance problem. Compare the original proposal and budget with new requests, meetings, revisions, tasks, time, and delivery dates. That makes it easier to decide whether to re-scope, change staffing, issue a change order, or revise future pricing.",{"type":58,"tag":66,"props":318,"children":320},{"id":319},"track-leading-indicators-before-closeout",[321],{"type":63,"value":322},"Track leading indicators before closeout",{"type":58,"tag":59,"props":324,"children":325},{},[326],{"type":63,"value":327},"Useful leading signals include:",{"type":58,"tag":248,"props":329,"children":330},{},[331,336,341,346,351,356,361,366],{"type":58,"tag":252,"props":332,"children":333},{},[334],{"type":63,"value":335},"Budget consumed versus delivery progress",{"type":58,"tag":252,"props":337,"children":338},{},[339],{"type":63,"value":340},"Planned versus actual hours",{"type":58,"tag":252,"props":342,"children":343},{},[344],{"type":63,"value":345},"Effective realized rate",{"type":58,"tag":252,"props":347,"children":348},{},[349],{"type":63,"value":350},"Unapproved scope changes",{"type":58,"tag":252,"props":352,"children":353},{},[354],{"type":63,"value":355},"Contractor and expense variance",{"type":58,"tag":252,"props":357,"children":358},{},[359],{"type":63,"value":360},"Unbilled time and expenses",{"type":58,"tag":252,"props":362,"children":363},{},[364],{"type":63,"value":365},"Invoice aging and payment delay",{"type":58,"tag":252,"props":367,"children":368},{},[369],{"type":63,"value":370},"Team workload and delivery risk",{"type":58,"tag":59,"props":372,"children":373},{},[374,379],{"type":58,"tag":298,"props":375,"children":377},{"href":376},"\u002Fsolutions\u002Fproject-profitability-software-for-agencies\u002F",[378],{"type":63,"value":25},{"type":63,"value":380}," should connect these signals while the team can still act, not only assemble them after month end.",{"title":7,"searchDepth":382,"depth":382,"links":383},2,[384,385,386,387,388,389],{"id":68,"depth":382,"text":71},{"id":216,"depth":382,"text":219},{"id":227,"depth":382,"text":230},{"id":238,"depth":382,"text":241},{"id":308,"depth":382,"text":311},{"id":319,"depth":382,"text":322},"markdown","content:blog:project-profitability-calculation.md","content","blog\u002Fproject-profitability-calculation.md","blog\u002Fproject-profitability-calculation","md",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"createdAt":10,"updatedAt":11,"primaryKeyword":12,"author":397,"tags":398,"takeaways":399,"related":400,"faq":406,"readingTime":410,"body":411,"_type":390,"_id":391,"_source":392,"_file":393,"_stem":394,"_extension":395},{"name":14},[16,17,18],[20,21,22],[401,402,403,404,405],{"title":25,"path":26},{"title":28,"path":29},{"title":31,"path":32},{"title":34,"path":35},{"title":37,"path":38},[407,408,409],{"question":41,"answer":42},{"question":44,"answer":45},{"question":47,"answer":48},{"text":50,"minutes":51,"time":52,"words":53},{"type":55,"children":412,"toc":663},[413,417,421,428,435,439,536,540,544,548,552,556,560,595,604,608,612,616,620,655],{"type":58,"tag":59,"props":414,"children":415},{},[416],{"type":63,"value":64},{"type":58,"tag":66,"props":418,"children":419},{"id":68},[420],{"type":63,"value":71},{"type":58,"tag":59,"props":422,"children":423},{},[424],{"type":58,"tag":76,"props":425,"children":426},{},[427],{"type":63,"value":80},{"type":58,"tag":59,"props":429,"children":430},{},[431],{"type":58,"tag":76,"props":432,"children":433},{},[434],{"type":63,"value":88},{"type":58,"tag":59,"props":436,"children":437},{},[438],{"type":63,"value":93},{"type":58,"tag":95,"props":440,"children":441},{},[442,456],{"type":58,"tag":99,"props":443,"children":444},{},[445],{"type":58,"tag":103,"props":446,"children":447},{},[448,452],{"type":58,"tag":107,"props":449,"children":450},{},[451],{"type":63,"value":111},{"type":58,"tag":107,"props":453,"children":454},{"align":114},[455],{"type":63,"value":117},{"type":58,"tag":119,"props":457,"children":458},{},[459,470,481,492,503,514,525],{"type":58,"tag":103,"props":460,"children":461},{},[462,466],{"type":58,"tag":126,"props":463,"children":464},{},[465],{"type":63,"value":130},{"type":58,"tag":126,"props":467,"children":468},{"align":114},[469],{"type":63,"value":135},{"type":58,"tag":103,"props":471,"children":472},{},[473,477],{"type":58,"tag":126,"props":474,"children":475},{},[476],{"type":63,"value":143},{"type":58,"tag":126,"props":478,"children":479},{"align":114},[480],{"type":63,"value":148},{"type":58,"tag":103,"props":482,"children":483},{},[484,488],{"type":58,"tag":126,"props":485,"children":486},{},[487],{"type":63,"value":156},{"type":58,"tag":126,"props":489,"children":490},{"align":114},[491],{"type":63,"value":161},{"type":58,"tag":103,"props":493,"children":494},{},[495,499],{"type":58,"tag":126,"props":496,"children":497},{},[498],{"type":63,"value":169},{"type":58,"tag":126,"props":500,"children":501},{"align":114},[502],{"type":63,"value":174},{"type":58,"tag":103,"props":504,"children":505},{},[506,510],{"type":58,"tag":126,"props":507,"children":508},{},[509],{"type":63,"value":182},{"type":58,"tag":126,"props":511,"children":512},{"align":114},[513],{"type":63,"value":187},{"type":58,"tag":103,"props":515,"children":516},{},[517,521],{"type":58,"tag":126,"props":518,"children":519},{},[520],{"type":63,"value":195},{"type":58,"tag":126,"props":522,"children":523},{"align":114},[524],{"type":63,"value":200},{"type":58,"tag":103,"props":526,"children":527},{},[528,532],{"type":58,"tag":126,"props":529,"children":530},{},[531],{"type":63,"value":208},{"type":58,"tag":126,"props":533,"children":534},{"align":114},[535],{"type":63,"value":213},{"type":58,"tag":66,"props":537,"children":538},{"id":216},[539],{"type":63,"value":219},{"type":58,"tag":59,"props":541,"children":542},{},[543],{"type":63,"value":224},{"type":58,"tag":66,"props":545,"children":546},{"id":227},[547],{"type":63,"value":230},{"type":58,"tag":59,"props":549,"children":550},{},[551],{"type":63,"value":235},{"type":58,"tag":66,"props":553,"children":554},{"id":238},[555],{"type":63,"value":241},{"type":58,"tag":59,"props":557,"children":558},{},[559],{"type":63,"value":246},{"type":58,"tag":248,"props":561,"children":562},{},[563,567,571,575,579,583,587,591],{"type":58,"tag":252,"props":564,"children":565},{},[566],{"type":63,"value":256},{"type":58,"tag":252,"props":568,"children":569},{},[570],{"type":63,"value":261},{"type":58,"tag":252,"props":572,"children":573},{},[574],{"type":63,"value":266},{"type":58,"tag":252,"props":576,"children":577},{},[578],{"type":63,"value":271},{"type":58,"tag":252,"props":580,"children":581},{},[582],{"type":63,"value":276},{"type":58,"tag":252,"props":584,"children":585},{},[586],{"type":63,"value":281},{"type":58,"tag":252,"props":588,"children":589},{},[590],{"type":63,"value":286},{"type":58,"tag":252,"props":592,"children":593},{},[594],{"type":63,"value":291},{"type":58,"tag":59,"props":596,"children":597},{},[598,599,603],{"type":63,"value":296},{"type":58,"tag":298,"props":600,"children":601},{"href":300},[602],{"type":63,"value":303},{"type":63,"value":305},{"type":58,"tag":66,"props":605,"children":606},{"id":308},[607],{"type":63,"value":311},{"type":58,"tag":59,"props":609,"children":610},{},[611],{"type":63,"value":316},{"type":58,"tag":66,"props":613,"children":614},{"id":319},[615],{"type":63,"value":322},{"type":58,"tag":59,"props":617,"children":618},{},[619],{"type":63,"value":327},{"type":58,"tag":248,"props":621,"children":622},{},[623,627,631,635,639,643,647,651],{"type":58,"tag":252,"props":624,"children":625},{},[626],{"type":63,"value":335},{"type":58,"tag":252,"props":628,"children":629},{},[630],{"type":63,"value":340},{"type":58,"tag":252,"props":632,"children":633},{},[634],{"type":63,"value":345},{"type":58,"tag":252,"props":636,"children":637},{},[638],{"type":63,"value":350},{"type":58,"tag":252,"props":640,"children":641},{},[642],{"type":63,"value":355},{"type":58,"tag":252,"props":644,"children":645},{},[646],{"type":63,"value":360},{"type":58,"tag":252,"props":648,"children":649},{},[650],{"type":63,"value":365},{"type":58,"tag":252,"props":652,"children":653},{},[654],{"type":63,"value":370},{"type":58,"tag":59,"props":656,"children":657},{},[658,662],{"type":58,"tag":298,"props":659,"children":660},{"href":376},[661],{"type":63,"value":25},{"type":63,"value":380},{"title":7,"searchDepth":382,"depth":382,"links":664},[665,666,667,668,669,670],{"id":68,"depth":382,"text":71},{"id":216,"depth":382,"text":219},{"id":227,"depth":382,"text":230},{"id":238,"depth":382,"text":241},{"id":308,"depth":382,"text":311},{"id":319,"depth":382,"text":322},1783749017134]