MoneyOps: Constraint-Aware Personal Finance Reasoning
A Llama 4 Scout LoRA that separates verified arithmetic from preference-sensitive financial decisions.
Trained by Adaption AutoScientist on the remastered MoneyOps instruction dataset.
MoneyOps win rates
TL;DR
MoneyOps turns concrete financial inputs into reconciled calculations, decision conditions, and actionable next steps.
It was adapted for cash-flow planning, debt decisions, savings goals, rates, liquidity, irregular income, and limitation
handling without presenting subjective heuristics as mathematical truth.
This repository contains a PEFT LoRA adapter, tokenizer, chat template, and training metadata. It is not a standalone
Llama 4 checkpoint and must be loaded with the compatible Llama 4 Scout base recorded in adapter_config.json.
Personal-finance questions often combine arithmetic with preferences and uncertainty. A mathematically feasible choice
is not automatically the right recommendation: liquidity, income stability, dependants, deadlines, risk tolerance, and
the user's own priorities can change the decision.
MoneyOps was built to keep these layers separate. It verifies calculations and hard constraints, then presents a direct
answer that can be deterministic, conditional, range-based, or one of several reasonable alternatives. When essential
information is missing, the preferred behavior is to ask a focused question or bound the answer instead of inventing a
rule.
The central failure mode is a polished recommendation built on unreconciled numbers or an unstated preference:
Failure mode
Desired MoneyOps behavior
Correct arithmetic, unsuitable recommendation
Separate feasibility from the user's liquidity, stability, and risk preferences
Confident advice from missing inputs
Ask for the decision-changing fact or give a bounded answer
Rule of thumb presented as truth
Label the heuristic and show reasonable alternatives
Credit confused with income
Reconcile cash, debt, and available borrowing separately
Short-term payment mistaken for affordability
Include fees, term, running costs, and liquidity consequences
Current law or product rule invented
State the jurisdiction boundary and request the applicable rule
The design response
MoneyOps combines a deterministic finance engine with natural-language teaching. The engine verifies calculations and
feasibility; it does not decide subjective preferences. An independently compiled answer key separates:
verified_facts and hard_constraints;
decision_conditions and reasonable_options;
the required recommendation_mode;
prohibited_conclusions that the scenario cannot support.
The assistant then gives the direct answer first, shows the relevant calculation, and adds trade-offs or questions only
when they can change the decision.
What it can do
Capability
Examples
Cash-flow reconciliation
Monthly surplus, irregular-expense reserves, and month-end cash paths
Variable-income planning
Conservative baselines, seasonal reserves, and runway stress tests
Debt analysis
Avalanche versus snowball, extra payments, minimum-payment effects, and remaining balances
Goal planning
Required contributions, timelines, competing goals, and decision thresholds
Rate reasoning
APR versus APY, real versus nominal returns, inflation-adjusted targets
Major decisions
Refinance break-even, purchase affordability, relocation, career breaks, and windfalls
Limitation handling
Contradictory inputs, missing facts, uncertainty, and jurisdiction-specific questions
Data adaptation
The model was not trained on the original source rows unchanged.
A deterministic finance pipeline created the source scenarios, calculations, answer keys, and natural responses.
Exactly 9,906 quality-controlled source rows were uploaded to Adaption.
Adaption remastered those records into its stronger instruction/completion format, adding task framing and
response-shaping constraints while preserving the underlying financial problem.
AutoScientist reports that 9,485 adapted rows were used for the SFT run.
The remastered prompt may include an explicit task wrapper, a domain-relevant persona, formatting expectations, and a
same-language instruction. Those controls are part of the adapted training input. The assistant target should follow
them naturally without revealing or discussing the hidden persona or constraint block.
Example
The following is an actual MoneyOps example after Adaption remastering, shortened only to keep the card readable.
Adapted user instruction
Provide your response to the following prompt:
<prompt> Act as a personal finance expert. I have a clear picture of my cash flow for the next six months and need a
reserve plan to ensure I have enough funds for low-income months without over-saving during high-income ones.
Starting liquid cash: EUR 588.80
Monthly committed expenses: EUR 2,208.00
Projected income for months 1-6: EUR 4,960.00, 4,480.00, 3,840.00, 2,400.00, 1,920.00, and 1,760.00.
Provide projected ending cash, the amount to set aside or withdraw each month, and a brief explanation of the reserve
strategy. </prompt>
The stored instruction additionally asks for a pragmatic variable-income finance perspective, prohibits disclosure of
that persona, and requires the response to use the language of the user's prompt.
Adapted assistant answer
Cash Flow Stability Plan (6-Month Horizon)
The plan uses income smoothing. Average monthly income is EUR 3,226.67. Income above that level is moved to a reserve;
income below it is supplemented from the reserve.
Month
Income
Expenses
Net flow
Reserve action
Ending liquid cash
1
EUR 4,960.00
EUR 2,208.00
+EUR 2,752.00
Set aside EUR 1,733.33
EUR 3,340.80
2
EUR 4,480.00
EUR 2,208.00
+EUR 2,272.00
Set aside EUR 1,253.33
EUR 5,612.80
3
EUR 3,840.00
EUR 2,208.00
+EUR 1,632.00
Set aside EUR 613.34
EUR 7,244.80
4
EUR 2,400.00
EUR 2,208.00
+EUR 192.00
Withdraw EUR 826.67
EUR 7,436.80
5
EUR 1,920.00
EUR 2,208.00
-EUR 288.00
Withdraw EUR 1,306.67
EUR 7,148.80
6
EUR 1,760.00
EUR 2,208.00
-EUR 448.00
Withdraw EUR 1,466.66
EUR 6,700.80
Months 1-3 accumulate EUR 3,600.00 in reserves and months 4-6 distribute EUR 3,600.00. This decouples available
monthly income from uneven invoice receipts while preserving total liquidity.
The full training target contains the complete explanation, including the strategy, liquidity interpretation, and safety
margin. This example demonstrates the actual adapted style rather than the pre-Adaption source response.
Evaluation
AutoScientist win rates
Evaluation slice
Base model
Adapted model
Evaluation on the MoneyOps dataset
37
63
Personal Finance category evaluation
39
61
These are the whole-number labels shown in the current Adaption AutoScientist win-rate charts for training experiment
5402e484-bc95-45b5-8a8f-d1aac8cf00e8. They are platform-reported preference results. The interface does not expose
sample counts, confidence intervals, or a public item-level evaluation set, so the values should not be interpreted as
universal financial accuracy estimates.
Dataset adaptation measurements
Measure
Original data
Adaptive data
Quality score
8.0
9.1
Grade
B
A
Percentile
15.3
33.0
Adaption reports a 13.7% relative improvement in dataset quality. These measurements describe Adaption's evaluation
of this dataset transformation; they are not external finance benchmarks.
MoneyOps training telemetry
The loss, learning-rate, and gradient-norm charts document optimization behavior. Training curves alone do not establish
numerical correctness, calibration, or generalization to current laws and financial products.
The AutoScientist-selected configuration was used unchanged.
Parameter
Value
Epochs
3
Batch size
max
Evaluations
5
Learning rate
1e-4
Scheduler
Cosine
Scheduler cycles
0.5
Warmup ratio
0.05
Minimum LR ratio
0.1
Weight decay
0.05
Maximum gradient norm
1
LoRA rank
64
LoRA alpha
128
LoRA dropout
0
Trainable modules
k_proj, o_proj, q_proj, v_proj
Train on inputs
false
How to use
The public repository contains a 403 MB PEFT adapter. Its exported configuration points to a 4-bit Llama 4 Scout base;
access to that base and hardware capable of serving it are still required.
1import torch
2from peft import PeftConfig, PeftModel
3from transformers import AutoModelForCausalLM, AutoTokenizer
45ADAPTER ="prathmeshadsod/MoneyOps-Llama-4-Scout-17B-16E-Instruct"6peft_config = PeftConfig.from_pretrained(ADAPTER)7base_model_path = peft_config.base_model_name_or_path
89base = AutoModelForCausalLM.from_pretrained(10 base_model_path,11 device_map="auto",12 torch_dtype=torch.bfloat16,13)14model = PeftModel.from_pretrained(base, ADAPTER)15tokenizer = AutoTokenizer.from_pretrained(ADAPTER)1617messages =[{18"role":"user",19"content":(20"My monthly take-home pay is 3,800, essential expenses are 2,450, "21"and I have 4,000 in liquid savings. How many months of essential "22"expenses does that cover, and what should I check before using "23"part of it for an extra debt payment?"24),25}]26inputs = tokenizer.apply_chat_template(27 messages,28 tokenize=True,29 add_generation_prompt=True,30 return_dict=True,31 return_tensors="pt",32).to(model.device)3334with torch.inference_mode():35 output = model.generate(**inputs, max_new_tokens=512, do_sample=False)3637new_tokens = output[0][inputs["input_ids"].shape[-1]:]38print(tokenizer.decode(new_tokens, skip_special_tokens=True))
The recorded base path is togethercomputer/Llama-4-Scout-17B-16E-Instruct_bnb_4bit. It comes directly from the
published adapter configuration, not from an inferred naming convention. That base may require separate authorization.
Use the tokenizer and chat template shipped with this adapter. Merging is optional and should be tested separately.
Intended use
MoneyOps is intended for:
personal-finance education and planning assistance;
budgeting, cash-flow, and irregular-income analysis;
debt, savings-goal, and affordability comparisons;
checking user-supplied calculations;
explaining trade-offs and decision-changing conditions;
research on narrow-domain instruction adaptation.
It is not a fiduciary, lender, accountant, tax adviser, attorney, or insurance professional. Users remain responsible
for verifying inputs, product terms, and decisions with appropriate qualified professionals.
Limitations
V1 is jurisdiction-neutral. It does not encode current tax, legal, pension, credit-regulation, or insurance rules unless
those rules are supplied in the prompt.
The model can still make arithmetic errors, omit a cash-flow item, or misunderstand whether a balance is liquid,
recurring, gross, or net. Reconcile important calculations independently.
Recommendations depend on risk tolerance, income stability, dependants, liquidity preferences, deadlines, and goals.
A numerically valid option is not automatically the user's preferred choice.
Current rates, fees, product terms, and laws can change. The model should not invent or silently assume them.
The training corpus is synthetic and adapted. Its prompt wrappers, personas, formatting habits, and teacher style may
transfer into generations.
A publication audit found six exact normalized duplicate enhanced-completion rows and a concentrated empathetic
opening pattern.
Evaluate response directness and opening diversity for the intended deployment.
AutoScientist preference win rates are platform measurements without published confidence intervals or item-level
evaluation data.
The adaptation is text-only. It was not evaluated for financial document images, account access, transaction execution,
or autonomous financial actions.
Do not use MoneyOps for emergency, insolvency, regulated, or high-stakes decisions without qualified human review.
The exported adapter repository contains adapter_model.safetensors, adapter_config.json, tokenizer files, the chat
template, trainer state, and evaluation images. Its adapter configuration records rank 64, alpha 128, zero dropout, and
the four attention projection targets listed above.
Citation
bibtex
1@misc{adsod2026moneyops,
2 author = {Prathmesh Adsod},
3 title = {MoneyOps: Personal Finance Reasoning with Llama 4 Scout},
4 year = {2026},
5 note = {Adaption AutoScientist Challenge submission}
6}
Acknowledgements
Built for the Adaption AutoScientist Challenge. Adaption remastered the source dataset, selected the training
configuration, trained the LoRA adapter with AutoScientist, and produced the displayed evaluation results. The source
pipeline supplied deterministic calculations, separated answer keys, natural prompts, and grounded response targets.