ロードマップ 副業で稼ぐ 在宅ワークをする

【保存版】在宅×Python:子育てと両立する“1日1時間学習術”忙しくても伸びる最短メニューと運用の型

この記事のゴール

在宅・子育てでまとまった学習時間が取りにくい人でも、1日1時間を正しい順番で重ねれば、90日で「図1枚+Excel」までの納品レベルに到達できます。この記事では、

  • 習慣化のコツ(中断→再開が早い運用)

  • 15/30/60分のデイリーメニュー(コピペOK)

  • 週次〜30日/90日ロードマップ

  • SQLite × pandas × Excelで作る最小成果物テンプレ

  • 家族・同居人と揉めない合意形成テンプレ

まで、初学者でも迷わない手順で解説します。

学習が続かない“本当の理由”と対処法

在宅・子育ての壁は「時間がない」ことではなく、時間が断続的で文脈が切れやすいことにあります。
以下の課題に対し、“いつでも中断/再開できる”設計へ切り替えるのが近道です。

対処の原則(3つだけ)

  1. 小さな完了を毎日つくる(Notebook 1〜2セル/SQL 1本を“仕上げる”)。
  2. 次やることをコードの先頭にコメントで明記する(復帰コストを1分に)。
  3. 作業の最後に必ず可視化/出力(図1枚 or Excel追記)で“進捗が見える”状態を残す。

著者より(ふみとメモ)

道具は軽く、粒度は小さく、成果は見える化。
具体的には**SQLite(ローカルDB)× pandas(集計)× Excel(配布)**の三点セットが時短最強です。

“1日1時間”で進むデイリーメニュー

目的は、翌月に使える小さなアウトプットを毎週出すこと。動画視聴より手を動かす時間を最大化します。

デイリーメニュー(保存版)

60分版

10分:ログ&準備(前回の「次やること」を確認 → 今日の完了定義を1行で書く)
35分:実装/検証(Notebook 1〜2セル or SQL 1本を“仕上げる”
10分:可視化/出力(図1枚 or Excel追記)
5分:次のTODO(次セルの冒頭にコメントで残す)

30分版
5分 ログ → 20分 実装 → 5分 次TODO

15分版(緊急)
3分 ログ → 10分 注釈やREADMEを追加 → 2分 次TODO

※どの版でも最重要は「次やることをコードの一番上に書く」こと。

週次の型と「30→90日」ロードマップ

  • Mon:要件/設計(KPI・粒度・SQL草案)
  • Tue:ETL(取り込み・バリデーション)
  • Wed:集計(WITH monthly完成)
  • Thu:可視化(根拠図+注釈)
  • Fri:配布(Excel/PDF、README更新、家族へ学習成果を3行共有)

30→90日の見取り図

  • Day 1–30|基礎×1本納品:テーマ例「月次×店舗の売上トレンド」。成果物:Excel 1冊+図1枚

  • Day 31–60|効率化:増分ロード、PRAGMA/INDEX適用で日次5分自動更新へ。

  • Day 61–90|応用:Top-kリストやYoYアラート(シンプルな閾値)。余力があればPR-AUC/Top-k評価も。

実装テンプレ:軽量スタック(SQLite×pandas×Excel)

サーバ不要・ファイル1つ・再現性高め。最小労力で「動く成果物」まで出し切る構成です。

プロジェクト雛形(コピペ)

home_learning/
  ├─ data/
  │   ├─ raw/
  │   └─ warehouse/
  ├─ src/
  │   ├─ etl.py
  │   ├─ sql/create_tables.sql
  │   └─ report.py
  ├─ reports/
  └─ README.md

create_tables.sql

PRAGMA foreign_keys=ON;
CREATE TABLE IF NOT EXISTS sales (
  order_date TEXT, store TEXT, product TEXT,
  qty INTEGER, price REAL
);
CREATE INDEX IF NOT EXISTS idx_sales_store_date ON sales(store, order_date);

ここで何をしている?

  • 分析に必要な最小限のテーブルを作成。
  • インデックスで「店舗×日付」の集計を高速化(後の月次集計がサクサク動く)。

etl.py(最小版)

from pathlib import Path
import sqlite3, pandas as pd
ROOT = Path(__file__).resolve().parents[1]
DB = ROOT/"data/warehouse/home.sqlite"

def init\_db():
DB.parent.mkdir(parents=True, exist\_ok=True)
con = sqlite3.connect(DB)
con.execute("PRAGMA journal\_mode=WAL;")
con.executescript((ROOT/"src/sql/create\_tables.sql").read\_text())
con.close()

def load\_csv(csv\_path: str):
con = sqlite3.connect(DB)
df = pd.read\_csv(csv\_path)
df = df.query("qty>0 and price>0")
df.to\_sql("sales", con, if\_exists="append", index=False)
con.close()

ここで何をしている?

  • init_db():DBファイルを作り、先ほどのSQLでテーブル定義を流し込みます。
  • load_csv()sales.csvを読み込み、明らかな不正値を除外したうえでDBに追記します。

ポイント:ETLの段階で“最低限のバリデーション”を入れておくと、後工程の集計が安定します。

report.py(月次×店舗、図1枚+Excel)

import sqlite3, pandas as pd
import matplotlib.pyplot as plt
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
DB = ROOT/"data/warehouse/home.sqlite"

SQL = """
WITH m AS (
SELECT strftime('%Y-%m', order\_date) AS ym,
store,
SUM(qty\*price) AS sales
FROM sales
GROUP BY ym, store
)
SELECT \* FROM m;
"""

def export\_all():
con = sqlite3.connect(DB)
m = pd.read\_sql\_query(SQL, con)
con.close()
\# 図
g = m.groupby("ym", as\_index=False)\["sales"].sum()
plt.figure(); plt.plot(g\["ym"], g\["sales"], marker="o")
plt.title("月次売上の推移"); plt.xticks(rotation=45); plt.tight\_layout()
(ROOT/"reports").mkdir(exist\_ok=True, parents=True)
plt.savefig(ROOT/"reports/fig\_trend.png", dpi=200, bbox\_inches="tight")
\# Excel
with pd.ExcelWriter(ROOT/"reports/report.xlsx") as xw:
m.to\_excel(xw, sheet\_name="monthly", index=False)

ここで何をしている?

  • SQLのWITH(CTE)で**“月×店舗”の売上**を作成。
  • Python側で全体の月次推移を図にし、Excelにサマリを出力します。

実行順:init_db()load_csv("data/raw/sales.csv")export_all()
まずはこの3関数が上から通ることを最初のマイルストーンにしましょう。

家族・同居人と揉めない“合意形成テンプレ”

時間帯を固定し、宣言と可視化で協力を得ます。下記をそのまま使ってOK。

【目標】90日で在宅副業の最小納品(Excel+図1枚)を完成
【時間帯】毎朝6:30-7:30(子ども起床前)/ 予備:21:30-22:00
【禁止事項】朝時間の呼び出し/学習中の通知
【ヘルプ】ゴミ出し/洗濯は前日夜に完了
【可視化】週1で成果を3行共有(Slack/LINE)

サポートを活用して“止まらない学習”へ

独学でも進められますが、すきま時間で詰まった時にすぐ聞ける環境があると中断→離脱を防げます。6ヶ月ロードマップに沿って在宅×副業へ繋げるなら、下記2校の無料カウンセリングは強力な選択肢です。

株式会社キカガク:業務再現型課題で、レポート納品〜ポートフォリオまで一気通貫。
Tech Academy:質問速度×短時間運用が強み。育児の合間でも継続しやすい。

TechAcademy データサイエンスコース(受講料:174,600円~ ※更に割引あり)

TechAcademy 無料相談

株式会社キカガク AI人材長期育成コース(受講料:237,600円~)

キカガク 無料相談

読者タイプ別:運用のコツ

付録:積み上げリスト&メモの型&FAQ

A. 15分でできる“積み上げ行動”

  • Notebookのヘッダー/設定セルを整える(乱数/パス/バージョン印字)
  • WITH monthlyCTE名とコメントを付ける
  • グラフに注釈1つ足す(キャンペーン開始)
  • ExcelにREADMEシートを追加
  • requirements.txtバージョン固定

B. 中断→再開を速くするメモの型(コピペ)

# TODO(次回)
- report.py にカテゴリ構成比(100%積み上げ)を追加
- 配布Excelに Summary タブを作る(売上/YoY)
- README に実行手順を追記

C. FAQ

Q. PCが開けない日はどうする?
A. 15分版注釈やREADMEなど“軽作業”を進める。ゼロを作らないことが続くコツ。

Q. 子どもが起きて中断した
A. TODOコメントを先頭に置く運用にしておく。復帰は1分で可能。

この記事から次に読むべきもの(内部リンク)

SQLite
【保存版】SQLite×Pythonで作る“ローカルDWH”|ETL・集計・レポート自動化の最短手順

ローカルでゼロ構築、ファイル1つで完結、サーバ不要。 本記事はSQLite×Pythonで“毎日回る”ETL・集計・レポート自動化を最短で作るための完全ガイドです。データ設計→DB作成→ETL(取り込 ...

データレポート納品
【保存版】データレポート納品の型:要件定義→ETL→検証→可視化→Excel/PDF→引き継ぎまで、失注しないワークフロー完全版

“いい分析”より“伝わる納品”。副業や実務で評価されるのは、意思決定に効く1枚と再現できるパッケージを期限通り出せること。 本記事は、未経験〜初学者が 週10時間×2〜3週 で、要件定義 → データ受 ...

可視化
【保存版】可視化入門:Matplotlib/Plotlyの使い分けと“伝わるグラフ設計”10ステップ

結論:可視化は「きれいに描く」ことではなく、意思決定を動かすための設計です。 本稿では、未経験〜初学者が 週10時間×1〜2週 で、Matplotlib/Plotlyを軸に “伝わるグラフ”の設計と実 ...

ポートフォリオ
【保存版】データ職のポートフォリオ完全ガイド|再現性・評価・LTまで

ポートフォリオって「作ったものの置き場」でしょ? いいえ。採用側が見たいのは「意思決定に効いた証拠」と「再現性」です。 本ガイドは、未経験〜初学者が週10時間×4〜6週で、テーマ選定→要件定義→データ ...

ロードマップ
未経験からデータサイエンティストへ:6ヶ月ロードマップ【現役が解説】

「数学もPythonもゼロだけど、半年で実務に通じる力はつく?」 結論、週10時間×24週の積み上げで「面接で語れる実務再現ポートフォリオ」まで到達できます。 カギは「学ぶ順番」と「毎週の小さな到達点 ...

最近のコメント

    • この記事を書いた人
    • 最新記事

    ふみと

    このブログでは、データサイエンティストとして市場価値を上げる方法を独自にまとめて発信しています。

    【プロフィール】
    ・大手企業データサイエンティスト/マーケティングサイエンティスト(10年、年収900万円台)/案件100件以上
    ・資格:JDLA E資格(日本ディープラーニング協会主催)/JDLA Community(CDLE会員)/Advanced Marketer/ビジネス統計スペシャリスト/統計検定2級/TOEIC 805
    ・スキル:Python/Tableau/SQL/機械学習/Deep Learning/RPA

    -ロードマップ, 副業で稼ぐ, 在宅ワークをする