Portfolio sample / Research, spreadsheets & dashboards
See what each job earns.
I connect editable inputs to named formulas, a source register and checks you can repeat. This job-cost specimen shows the working method. All three jobs, hours, rates and expenses are invented.
Working specimen / Three fictional jobs / CAD
A small sheet.
A visible calculation.
Change a job label, hours, billing rate or direct cash expense. Set an allowance for each owner hour. The sample recalculates each row and the total. These inputs are arithmetic examples, not studio rates, quotes or recorded revenue.
Job-cost register
Example version 1.0 · Values exclude tax. Inputs are not sent or saved. Reloading restores the sample.
Hours and billing rates create revenue in this simplified hourly example. Direct cash expense covers purchased material or a job-specific supplier cost. The owner-hour allowance is a planning value. It is not a recorded payment.
| Job label | Hours | Billing rate CAD / hour | Direct expense CAD | Revenue CAD | Direct cash contribution | After owner hours | After owner hours / hour |
|---|---|---|---|---|---|---|---|
| Fictional sample total | 24.00 | Mixed rates | $170.00 | $2,390.00 | $2,220.00 | $1,140.00 | $47.50 |
Default fictional sample shown. Numeric ranges: hours 0 to 10,000; rate 0 to 100,000; expense 0 to 1,000,000. Two decimal places.
Enable JavaScript to recalculate and export. The default CSV is available above.
Direct cash contribution is not cash profit. It subtracts the direct expense from billable revenue. This sheet does not track receipt timing, overhead, tax, financing or owner drawings. “After owner hours” also subtracts an allowance for time. A positive figure is an input to a business decision, not a complete profit statement.
Data dictionary / Formula map
Each number has a definition.
I define the unit, source and calculation before building a dashboard. This specimen uses one currency and one job grain: each row describes one fictional job.
| Field | Unit / type | Definition or formula | Boundary |
|---|---|---|---|
| Label | Text | Job identifier. Up to 64 characters. | A sample name identifies the row. It does not identify a client. |
| Hours | Decimal hours | Editable billable owner hours. | Sales, admin and unbilled hours are excluded here. |
| Billing rate | CAD / hour | Editable sample rate used to calculate billable revenue. | Invented for arithmetic. A fixed-fee job needs a separate revenue input. |
| Direct expense | CAD / job | Editable material or supplier expense attributed to this job. | No shared overhead allocation. Use actual receipts for real work. |
| Revenue | CAD / job | hours × billing rateRounded to cents for each row. | Billable value. Cash collected is a separate field in a real ledger. |
| Direct cash contribution | CAD / job | revenue − direct expenseRounded to cents. | Before owner time, overhead and tax. |
| Owner-hours cost | CAD / job | hours × owner-hour allowanceRounded to cents for each row. | Planning allowance. Not automatically a cash expense. |
| After owner hours | CAD / job | direct cash contribution − owner-hours costRounded to cents. | Can be negative. Still excludes shared overhead and tax. |
| After owner hours / hour | CAD / owner hour | after owner hours ÷ hoursThe total divides total contribution by total hours. | When hours are zero, display “No hours”. Do not divide by zero or average the row rates. |
| Total | Same unit as each field | Sum the rounded row amounts. Keep the unrounded ratio for calculation and show two decimal places. | No total billing rate. Mixed job rates cannot be added meaningfully. |
Repeatable checks / Expected results
The answer can be checked
without trusting the interface.
Default example A
6 × $95 = $570
$570 − $30 − (6 × $45) = $270
Direct cash contribution is $540. After the owner-hour allowance, $270 remains. Divide by 6 hours to get $45 per hour. The three default rows total 24 hours and $1,140 after owner hours: $47.50 per hour.
A zero-hours case
0 × $95 = $0
$0 − $30 − (0 × $45) = −$30
Revenue and owner-hours cost are zero. The direct expense still exists. Contribution is negative $30. The per-hour output reads “No hours”. A zero denominator does not erase a cost.
Input checks
Empty or out-of-range numeric inputs pause calculation and disable export. The previous figures remain visible with a pause notice. Labels are inserted as text. Reset restores all three fictional rows.
Export checks
The CSV contains values and a fictional-example label. Text that could begin a spreadsheet formula receives a leading apostrophe. Commas, quotes and line breaks are quoted. No formulas or external links are executed.
Evidence register / Research belongs beside the numbers
Missing evidence stays visible.
I keep the research register connected to the decision. A polished chart cannot repair missing records. The sample below identifies the evidence needed to turn this demonstration into a job review. No market statistics or client results are asserted.
| Record / status | Source in this sample | What it supports | Check before real use |
|---|---|---|---|
| S01 / Example inputsIllustrative | Values authored for this public specimen. | Arithmetic and interface checks only. | Replace the labels and inputs with permissioned records. |
| S02 / Billed amountNot supplied | No invoices or sales ledger attached. | No actual revenue claim. | Reconcile jobs to dated invoices; distinguish billed and collected amounts. |
| S03 / Time and expensesNot supplied | No time log or purchase receipts attached. | No actual job margin claim. | Check units, duplicate costs, missing time and the expense definition. |
| S04 / Research claimNo external claim used | No research statistic needed for this arithmetic example. | No market demand or performance conclusion. | For a research claim, record the original source, date, exact support, limitation and reviewer. |
The source record I hand over
Claim or field. Source title and location. Publisher or record owner. Publication and access dates when relevant. The part that supports the claim. Its limitation. Review status. These fields make a research finding traceable.
The first useful extension
Add actual time logs and expense records before adding more charts. For a solo business, the hours available for paid work can become the constraint. Keep sales and admin time visible before committing more delivery work.
Take the specimen apart: default values, definitions and a source-register structure.